前言
最近,要做一个技术沙龙,本来想分享一下安全研究的一些心得,但是好久之前想做一个域渗透的一个深入总结,但是一直搁置,借这个机会对域渗透的技巧总结一下!算是给自己一个交代:)
正文
这里用的是搭建好的一个域环境,吐槽:这个是真的大,下了好久~
拓扑如下:
环境说明
内网网段:10.10.10.1/24
DMZ网段:...1/24
配置信息
DC
IP:10.10.10.10OS:Windows(64)
应用:AD域
WEB
IP1:10.10.10.80
IP2:...80OS:Windows(64)
应用:Weblogic10.3.6MSSQL
PC
IP1:10.10.10.
IP2:...OS:Windows7(32)
信息搜集
拿到环境后,首先进行端口探测,这里使用-sS参数,由于防火墙的存在不能使用icmp包,所以使用syn包探测
通过扫描端口,我们通过端口初步判断目标机存在的服务及可能存在的漏洞,如端口开放就意味着存smb服务,存在smb服务就可能存在ms17-/端口溢出漏洞。开放端口,就存在Samba服务,就可能存在爆破/未授权访问/远程命令执行漏洞。开放端口,就存在mssql服务,可能存在爆破/注入/SA弱口令。开放端口,就存在远程桌面。开放端口就存在weblogic。
信息整理完后,我们要决定从哪条路进,这里先选择从weblogic,主要是由于weblogic的漏洞很多rce的,并且利用中间件漏洞相对于系统漏洞动静稍小些,....蓝屏什么的对吧。
那么实际的操作是怎么样呢,小编在合天网安实验室找到了相关的实验--Web漏洞扫描工具:
漏洞利用
可知WebLogicServer版本:10.3.6.0,这里直接使用专门扫描WebLogic漏洞的WeblogicScan来检测,除此之外还有thinkphpscan什么的。
存在CVE-9-和CVE-9-
反序列化漏洞是由wls9-async组件导致的,该组件默认开启,看一下是否存在该漏洞
访问..3.:/_async/AsyncResponseService
使用CVE-9-的exp成功执行命令
上传shell
但是使用上面这个shell,终究不方便,我们要拿自己的shell,比如冰蝎shell或者msfshell和csshell,所以尝试反弹shell,使用powershell等方式失败,接着尝试远程下载各种方式也失败。于是尝试搭建smb服务器,进行文件共享一个冰蝎shell,至于为什么用冰蝎,等下你就明白了
使用kali自带的
使用网上公布的带命令回显的方式,把共享的shell复制到目标机
顺便吐槽一句,网上那些没搞明白的大佬不要乱发文章了,看了别人的文章上传shell,结果一直连接不了。结果上传目录根本不是web目录,最后修改上传
/servers/AdminServer/tmp/_WL_internal/bea_wls9_async_response/8tpkys/war/
目录才拿到shell
拿到冰蝎shell可以和msf联动,拿到msfshell
在kali打开msf设置监
成功拿到shell,这里说明一下,冰蝎给的msf反弹shell过时了,现在为java/meterpreter/reverse_tcp
tip:如果cmd出现乱码,切换编码即可:chcp
Cobaltstrike
本来并不是非要再拿一个csshell,但是有时候cs用着确实比msf方便,刚开始想通过注入进程,直接迁移,结果莫名失败,后来使用cs的powershell命令payload,发现不能执行。。再者就生成了一个exe,成功弹出shell
运行portscan模块,扫描内网
不得不说,确实比msf的友好!顺便说一下。怎么把cs的shell转到msf
先在cs设置一个foreign的listener,然后在你想派生的shell,右键spawn,选择对应的listener
然后再msf同时设置监听
合天网安实验室相关实验推荐:CobaltStrike高级威胁技术
proxy
拿到shell,尝试进行开启socks5代理,可以使用msf的auxiliary/server/socks5模块,也可以用Regeorg+proxychains。
将reGeorg的tunnel文件上传到肉鸡服务器到网站目录下,攻击机执行
pythonreGeorgSocksProxy.py-p-u