红队评估四记录
本文最后更新于:2022年5月19日 晚上
环境准备
0x01 网络环境
我们总共拿到了3台机器,除了WEB机器需要配置双网卡外,其他的机器都只配置183网段的内网网卡即可。
0x02 WEB服务
在官网给出了参考的学习路径,故我们启动前三个进行WEB服务的搭建
Struts2漏洞(S2-053)
pma文件包含漏洞(CVE-2018-12613)
tomcat PUT文件上传漏洞(CVE-2017-12615):
启动完成后,相应靶机的地址如下
渗透流程
0x01 Struts2
使用工具进行检测
根据得到的根目录上传Webshell
冰蝎连接
0x02 PMA文件包含
根据Poc进行验证,输入查询语句并尝试包含Session文件
1 |
|
包含成功,可以进行利用
接着执行查询,使得包含后能够生成一句话木马
1 |
|
访问后在根目录下可以看到生成的一句话木马文件
蚁剑连接
0x03 Tomcat PUT文件上传
上传Webshell
冰蝎连接
0x04 docker逃逸
这里尝试了诸多方法都失败了,最后发现
1 |
|
能够看到物理机的磁盘,按理来说这是要用特权模式启动容器才可能出现的情况,这个可能是环境本身的原因?
但既然有我们就可以好好利用了,就用这个容器进行逃逸吧
挂载磁盘
1 |
|
这里有点小坑,正常来说authorized_keys
文件的权限应该是644,但本机上没有该文件,然后使用了如下命令写入自己的ssh公钥
1 |
|
这个新生成的文件是640权限的,这导致使用ssh登陆时依旧需要WEB机器的密码,然后这个容器中是没有sudo
和chmod
命令的,无法在容器中更改文件的权限
我把这个算作异常情况,所以直接登上去改成了644
1 |
|
后记:在寻找更佳的解决方案的时候发现有个方案是先覆写WEB机器的公钥文件然后复制,参考
在修改完成后就能正常免密登陆了
这里试着使用脏牛漏洞提权,但是失败了,原因未知
0x05 内网渗透
我们的目的最后是拿下域控,边缘机器能够架设路由的话就问题不大,所以我们就直接上线msf了。上线msf后添加路由
添加路由后使用MS17-010的扫描模块进行扫描,发现129和130两台机子都在影响范围内
0x06 非预期解-直接拿下域控
这里就发生了比较有趣的事情,在msf上,对两台机器的MS17-010模块的利用都是以失败告终了(130的图忘了截了)
无论是架设代理还是使用bind_tcp
,都是利用失败,原因未知
然后我使用了原生的方程式工具直接把域控的机器打下来了。。
虽然有些突然,但这也是域中的机器,习惯性地收集些信息
1 |
|
1 |
|
dump了hash拿去解密能够拿到域控的密码
0x07 非预期解-尝试拿下PC机
douser的密码没能解出(但理论上可以传递哈希),但是根据官方的提示我们能在WEB机器的bash执行历史记录中发现该用户的密码
但是尝试进行哈希传递时失败了,这里卡了好久
Google了一下,报错原因可能是域的配置出现了问题
使用原生的PsExec也失败了,然后两天后还是没找到方法,域控也拿到了,遂在该解法中放弃了这台机器
0x08 预期解-上线PC
这里参考别的师傅的正常打法再完整走一遍流程
正常来说我们应该能通过MS17-010漏洞拿下了PC机的Meterpreter,但这里使用msf的web_delivery
模块时还是会出问题,这里我直接虚拟机登录后上线CS了
0x09 预期解-域提权
无关的信息收集就暂不列出了,这里是使用MS17-068漏洞进行提权并拿下域控
1 |
|
1 |
|
在之前我们提到过泄露的域用户和对应的密码,可以用它生成所需的凭据
1 |
|
之后清除内存中的票据并将生成的票据注入
1 |
|
进行权限验证,尝试访问域控
1 |
|
0x0A 预期解-上线域控
在确定拿到域管权限后可以使用sc上线CS
首先是关闭防火墙
1 |
|
制作木马并上传PC机器
使用copy
命令上传到域控
1 |
|
使用sc创建服务并启动
1 |
|
之后导出hash
0x0B 预期解-权限维持
之后试试黄金票据进行权限维持
先是获取需要伪造用户的SID
1 |
|
在之前的HashDump中能够拿到krbtgt的NTLM Hash,我们使用它来生成黄金票据
1 |
|
之后对票据有效性进行验证
首先清除内存中的票据
1 |
|
尝试域控的目录,可以看到权限不足
1 |
|
将生成的黄金票据注入到内存中
1 |
|
查看注入的票据
1 |
|
再尝试列目录,可以看到成功了
1 |
|
这样,我们就可以在一段时间内维持域内权限了,只要krbtgt不更改密码这张票据就一直有效。