本文较长,思路比较混乱,主要是提高实践体验,扩展思路,师傅们轻喷
该靶机是红日安全团队出的域渗透靶机。
靶场下载地址: http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/13d4966109e325d70d3779ad12655e70.png)
环境说明
内网网段:192.168.248.1/24
DMZ网段:192.168.163.1/24
测试机地址:192.168.163.129(Windows),192.168.163.132(Kali)
防火墙策略(策略设置过后,测试机只能访问192.168.163.0/24段地址,模拟公网访问):
deny all tcp ports:192.168.248.1
allow all tcp ports:192.168.248.0/24
配置信息
DC
IP:192.168.248.130 OS:Windows 2012(64)
应用:AD域
WEB
IP1:192.168.248.131 IP2:192.168.163.134 OS:Windows 2008(64)
应用:Weblogic 10.3.6 MSSQL 2008
PC
IP1:192.168.248.129 IP2:192.168.163.133 OS:Windows 7(32)
攻击机
IP:192.168.163.129 OS:Windows 7(64)
IP:192.168.163.132 OS:Kali
环境配置
DMZ区我们利用虚拟机的NAT网络,而内网网段利用仅主机模式
测试机与DMZ区机器能通。内网各机器能通。测试机与内网机器不能通。
WEB机和PC机和DC机:计算机右键->管理->配置->服务->Server、Workstation、Computer Browser
全部启动(Computer Browser 一直自动关闭导致 net view 显示 6118 error 没能解决,在域信息收集时暂时关闭一下防火墙)
检测一下,查看域内主机信息
先从WEB机开始,注意需要手动开启服务,在 C:\Oracle\Middleware\user_projects\domains\base_domain\bin
下有一个 startWeblogic
的批处理,管理员身份运行它即可,管理员账号密码:Administrator/1qaz@WSX
实验开始
先通过nmap扫描web机,可以看到1433,3389对外开放,并且存在7001weblogic服务
访问7001确认存在该weblogic服务
看一下是否存在wls9-async组件导致的反序列化漏洞(CVE-2019-2725 )
http://xxxx:7001/_async/AsyncResponseService
,确定界面存在
利用一下积灰已久的java反序列化终极利用工具。利用成功
可以看到webshell权限是administrator,因为这里的weblogic是以管理员权限运行的
习惯将工具上自带的🐎换成冰蝎3的🐎
(这里有关于weblogic程序的文件上传路径选择https://www.cnblogs.com/sstfy/p/10350915.html)
连上冰蝎
systeminfo查看一下主机信息、补丁等…
由于cs较为方便,想上线至cs继续攻击。先新建一个监听器,再生成一个exe后门文件,将exe文件上传至指定可写可执行目录下
通过冰蝎上传exe上去,以administrator权限执行并返回到服务器上
exe执行没有反应,怀疑有杀软在作怪。换了进程迁移、hta、powershell等方式,但是都会拉跨。
360…那就先不做cs的exe后门了,我先利用冰蝎将shell反弹到我们的msf上,然后尝试通过注入再派生一个会话到cs上
莫名失败,大概是杀软的问题?那我就先看一下域内信息,思索着捣鼓一下,发现administrator用户是具有域权限的
下一个目标先拿下管理员账号密码吧,利用procdump
离线加载导出lssas.exe
文件失败。。
也许是因为我的权限还不够
那我就先创建一个用户并拉入administrator组中吧,远程登录看看吧
那我就以这个新用户进行rdp的远程登录操作吧,直接上传mimikatz,以管理员权限运行cmd,然后在线加载账号密码NTLM等信息,拿下administrator、de1ay等账号信息
想迁移进程但是好像不行?不知道是不是因为是冰蝎传过来的🐎,在web机没留下该进程吧
重见光明
现在重新利用msf的weblogic漏洞打一次
这里的target
类型要设置好为windwos的,不然攻击失败
ok很快拿下shell,尝试提权一下。这。。。。这
这时候通过进程注入,将msf会话派生给cs就没有问题了
将目前进程迁移到保险的进程下,可以使用手动迁移migrate [PID]
,也可以使用自动迁移进程命令(run post/windows/manage/migrate)
然后先留个开机自启动的后门,下次打开(明天)就不用再打一次了
尝试横向
本来想利用cs横向的,因为cs操作起来方便挺多,结果有点痴呆,感觉自己会莫名的断开
先放弃cs操作了。在msf中横向好了,先在msf中添加路由
用kali自带的proxychains
配合msf中的socks5
代理一下
以proxychains
的方式nmap扫一下域控端口,这样扫比msf自带的portscan快多了
发现域控开放了139,445等端口
可利用administrtor用户通过ipc$(共享命名管道资源)
进行横向的访问
可正常访问域控目录
看看psexec
能不能使,好像不行
(通过ipc$
管道在远程目标机器上创建一个psexec服务,并在本地磁盘生成一个名为psexevc
的二进制文件,然后通过psexec执行命令,运行结束后删除服务)
利用rdp输入命令试试,这。。账号密码过期?还是访问超时?
翻了一下资料,加个-d参数就好了
(-d:不必等待进程终止,非交互式;-i:运行该程序,使其与远程系统上指定会话的桌面交互)
去域控检测一下,可见这样执行命令是可以正常弹出计算器
可以横向访问、执行。那就好办了,先生成一个正向🐎
将这个🐎通过copy上传上去,访问目录确定🐎存在
psexec执行不了那个🐎,那我就尝试通过wmic去执行这个🐎,运行的比较久
确定路由无误,攻击机做好正向连接的准备
拿到域控权限,这里之后就没有提权了,也没有去拿下pc了
总的来说
通过weblogic拿下权限,通过mimikatz
方式dump出了账号密码,最后在ipc$
基础下运用wmic执行了🐎
整体做完感觉绕了很多弯,没参考网上任何攻击思路,两天慢慢边翻阅资料边利用知识储备琢磨出来的,好的坏的过程我也都一一记录下来。师傅大佬们勿喷哦~
GOT IT!
******************************************************
具体利用方式需根据具体实践场景~