CTF綜合靶機滲透

CTF綜合靶機滲透
靶機描述:
SkyDog Con CTF 2016 - Catch Me If You Can
難度:初學者/中級

說明:CTF是虛擬機,在虛擬箱中工作效果最好。下載OVA文件打開虛擬框,然後選擇文件->導入設備。從下載的地方選擇OVA文件。在導入OVA文件之後,確保在啓動VM之前禁用USB 2。默認情況下,只爲主機設置適配器,但在啓動之前,您可以根據網絡設置改變這一點。虛擬機服務器配置爲DHCP。如果你有任何問題,請在Twitter上告訴我JAMSBOWER,我很樂意幫忙。

Flags

The eight flags are in the form of flag{MD5 Hash} such as flag{1a79a4d60de6718e8e5b326e338ae533

Flag #1 Don’t go Home Frank! There’s a Hex on Your House.

Flag #2 Obscurity or Security?

Flag #3 Be Careful Agent, Frank Has Been Known to Intercept Traffic Our Traffic.

Flag #4 A Good Agent is Hard to Find.

Flag #5 The Devil is in the Details - Or is it Dialogue? Either Way, if it’s Simple, Guessable, or Personal it Goes Against Best Practices

Flag #6 Where in the World is Frank?

Flag #7 Frank Was Caught on Camera Cashing Checks and Yelling - I’m The Fastest Man Alive!

Flag #8 Franks Lost His Mind or Maybe it’s His Memory. He’s Locked Himself Inside the Building. Find the Code to Unlock the Door Before He Gets Himself Killed!

我們可能要得到8個flag

靶機滲透:

本次攻擊機採取的是parrot linux+windows,靶機採用的是橋接模式,

攻擊機IP爲:192.168.0.104

我們用nmap掃出靶機ip地址:

nmap -sP 192.168.0.0/24

我們探測出靶機IP爲:192.168.0.109

我們再用nmap探測一下靶機其他信息:

nmap -p 1-65535 -T4 -A 192.168.0.109

發現開放了4個端口:

22/tcp closed ssh

80/tcp open http

443/tcp open ssl/http

22222/tcp open ssh

同時發現在22222端口上開放了OpenSSH的服務

我們訪問 http://192.168.0.109 靶機主頁:

查看網頁源代碼,也沒有什麼發現,掃一下目錄:

dirb http://192.168.0.109 /usr/share/wordlists/dirb/big.txt

發現了一個返回值爲200目錄:/assert/

然後用web漏洞掃描器AWVS對網站進行掃描,挖掘前,準備工作要做好:

掃出的漏洞有點雞肋:

不過我們對目錄結構有了大致的瞭解:

發現我們用dirb漏掃了一個/oldIE/目錄

我們訪問 http://192.168.0.109/oldIE/

我們繼續深入:

發現了這一串數字:

666c61677b37633031333230373061306566373164353432363633653964633166356465657d
我們來看flag1的提示:

Flag #1 Don’t go Home Frank! There’s a Hex on Your House.

翻譯:弗蘭克,不要回家!你的房子有hex。

我們推測這就是hex過後的字符串,我們嘗試解hex:

果然是flag,我們成功得到flag1,但flag1的內容感覺像是md5加密,

我們對flag1的內容嘗試md5解密:

提示是nmap,我們已經使用nmap來掃描出靶機的端口,難道flag2要從靶機的

端口入手,根據nmap掃描端口的結果,我們發現在22端口的ssh服務關閉,但

是在22222端口上開放了OpenSSH的服務,嘗試連接22222端口:

ssh [email protected] -p 22222

emmm...需要密碼才能連接,但是我們得到了flag!!!

Flag{53c82eba31f6d416f331de9162ebe997}
我們順利得到了flag2,順便md5解密,看一下提示

encrypt....翻譯過來就是 加密 的意思

我們看一下題設flag3的提示:

Flag #3 Be Careful Agent, Frank Has Been Known to Intercept Traffic Our Traffic.

翻譯:小心代理,弗蘭克已經知道攔截我們的交通。

emmm...到目前爲止,唯一與攔截流量跟加密有關的就是默認站點使用的ssl,

HTTP協議傳輸的數據都是未加密的,也就是明文的,因此使用HTTP協議傳輸隱私信息

非常不安全,爲了保證這些隱私數據能加密傳輸,於是網景公司設計了SSL(Secure So

ckets Layer)協議用於對HTTP協議傳輸的數據進行加密,從而就誕生了HTTPS。簡單來

說,HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,要比

http協議安全。

我們直接訪問 https://192.168.0.109

發現證書不安全,導致站點不被信任,ssl連接出問題,我們查看證書內容:

意外的發現了flag3:flag3{f82366a9ddc064585d54e3f78bde3221}

我們依舊md5解密:

personnel...翻譯過來就是 人員 的意思,

我們看一下題設flag4的提示:

Flag #4 A Good Agent is Hard to Find.

翻譯:一個好的代理人很難找到。

完全與題設不搭,感覺應該是目錄,嘗試訪問:

http://192.168.0.109/personnel

訪問過後有一句話:

ACCESS DENIED!!! You Do Not Appear To Be Coming From An FBI Workstation. Preparing Interrogation Room 1. Car Batteries Charging....

翻譯:訪問被拒絕!!!!你似乎不是來自FBI工作站。準備審訊室1。汽車電池充電…

說我們不是來自FBI工作站的,拒絕訪問...但我們有題設啊,我們可以找個代理人去訪問啊

題設中把這個代理人譯爲 Agent ,我聯想到了 User-Agent ,是否可以通過修改User-Agent

來實現代理訪問,因爲User-Agentt是用來標識用戶的操作系統、瀏覽器以及其版本信息等...

但是我們怎麼僞造呢?到目前爲止,唯一得到的文件只有ssl的證書跟 oldIE目錄下的html5.js。

ssl證書在flag3已經分析過,沒有其他不尋常的東西,我們只有分析這個html5.js,打開一看是

一堆亂七八糟的東西,但是我們搜索關鍵字:agent,FBI :

提示已經很明顯了:Adding temporary support for IE4 FBI Workstations

還有一個:[email protected] 像是一個郵箱,感覺應該有用,先放在這裏

我們可以僞造IE4的User-Agent信息:

(User-Agent各個版本參考:https://www.xuebuyuan.com/271...

Mozilla/4.0 (compatible; MSIE 4.0; Windows NT)

成功僞造,並得到了flag4: flag{14e10d570047667f904261e6d08f520f}

<h3>Flags</h3>
<p> flag{14e10d570047667f904261e6d08f520f} </p>
<p> Clue = new+flag</p>

還有一個提示:

Clue = new+flag

我們順便md5解密這個flag:

evidence...翻譯過來就是 證據 的意思

根據剛剛flag得到的提示:Clue = new+flag = newevidence

我們看題設的提示,發現除了提醒細心,沒什麼卵用,

有了上次的經驗,我們嘗試訪問這個 newevidence 目錄:

還是這個頁面,不過也證明了,newevidence確實是一個目錄,我們繼續僞造User-Agent頭,訪問嘗試:

彈出了一個框,讓輸入用戶名跟密碼...

現在得到的只有上個flag訪問 /oldIE/html5.js 時得到的一個郵箱: [email protected]

發現用戶名的構成是: 名字.姓氏

再上一個僞造User-Agent頭獲得flag時的burp返回包中除了flag,好像還有個用戶名:

可以看到有個 :Welcome Agent Hanratty

這個 Agent Hanratty 應該是一個人,遂百度一下:

我們初步可以判斷這個FBI探員的姓名:Carl.Hanratty

所以用戶名爲:carl.hanratty

但是我們不知道密碼...毫無提示,只能霸王硬上弓,用burp爆破

最後爆破得到密碼爲 : Grace

嘗試登陸:

點擊 " Evidence Summary File ",發現直接跳到 http://192.168.0.109/newevide...

同時我們也得到了flag5:flag{117c240d49f54096413dd64280399ea9}

當我們點擊 " Possible Location ",發現直接跳到 http://192.168.0.109/newevide...

當我們點擊 " Case Invoice ",發現直接跳到 http://192.168.0.109/newevide...

我們分別把這個newevidence.jpg,invoice.pdf下載到本地:

我們把flag5的內容md5解密:

panam...翻譯過來就是 泛美航空公司 感覺跟題目沒有一點關係,

推測可能是目錄,或者登錄用戶名或者密碼,嘗試訪問目錄:

發現不是目錄

我們看一下題設flag6的提示:

Flag #6 Where in the World is Frank?

翻譯:弗蘭克到底在哪兒?

emmm...現在我們唯一可以利用的就是上個flag獲得的newevidence.jpg跟Invoice.pdf

我們先查看這個Invoice.pdf:

我認爲有價值的線索都已經標出來。

中間那段話的翻譯:

  親愛的 Agent Amdursky,

  請在下面找到一個最近完成工作的成本分解。請儘早付款,並隨時聯繫我。

  多謝,Stefan Hetzl

Google搜索一下這個 " Stefan Hetzl ":

搜索結果:http://steghide.sourceforge.n...

發現Stefan Hetzl是Steghide的作者。Steghide是一個非常棒的使用隱寫術的工具

能夠隱藏各種圖像和音頻文件中的數據,我們似乎還有一張圖片 newevidence.jpg 沒利用,

我們利用parrot linux自帶的Steghide工具來剖析這張圖片:

(steghide命令詳解:https://blog.csdn.net/Jeanpho...

steghide --info newevidence.jpg

還要密碼!!!我直接就想到了上一個flag md5解密後的結果 panam:

果然裏面隱藏了flag,我們把flag.txt提取出來:

steghide extract -sf newevidence.jpg -p panam

成功獲得flag6:flag{d1e5146b171928731385eb7ea38c37b8}

md5直接解密:

發現題目已經解出來了 ILoveFrance

還有其他的提示:clue = iheartbrenda

猜想是不是目錄:

....那估計是用戶名或者密碼

看一下題設flag7給的提示:

Flag #7 Frank Was Caught on Camera Cashing Checks and Yelling - I’m The Fastest Man Alive!

翻譯:弗蘭克被攝像機拍到,大喊大叫,我是活着的最快的人!

這是一個奇怪的提示,弗蘭克爲什麼大喊 "我是活着最快的人!"?

Google了這句話 I’m The Fastest Man Alive!

這是閃電俠說的一句話!!!

原話是:my name is Barry Allen and i am the fastest man alive
when i was a child , i saw my mother killed by something impossible

這裏有個姓名 :Barry Allen

推測用戶名爲:barryallen

密碼的話我想起來上一個flag留下來了一個線索 iheartbrenda

推測密碼爲: iheartbrenda

有用戶名跟密碼就得有登陸的地方,我們開始時用nmap發現開了4個端口,

我們曾經登陸過22222端口,好像有個輸入密碼的地方,我們用barryallen用戶

連接22222端口:

ssh [email protected] -p 22222

我們輸入密碼: iheartbrenda

我們成功得到flag7:flag{bd2f6a1d5242c962a05619c56fa47ba6}

我們md5解密flag7:

同時發現目錄下面除了flag.txt,還有 security-system.data 的文件,

我們將這個文件下載到本地:

我們先用parrot linux自帶的binwalk工具分析一下這個文件:

binwalk security-system.data

發現是一個zip文件,看不出來啊,纔開始還以爲是data文件...

我們要想把zip解壓出來,首先要把它變成zip文件:

mv security-system.data security-system.data.zip

然後使用unzip命令來解壓這個zip文件:

unzip security-system.data.zip

現在security-system.data顯示爲簡單的數據。在文件上運行字符串我看到很多

內存提到,所以我在想它是一臺機器的內存映像。

接下來使用Volatility來進行電子取證:

(Volatility介紹及用法:

https://www.anquanke.com/post...

https://blog.csdn.net/kevinha...

https://tools.kali.org/forens...

首先查看一下文件信息:

volatility -f security-system.data iamgeinfo

我們直接用notepad查看當前顯示過得筆記本內容:

volatility -f security-system.data --profile=WinXPSP2x86 notepad

發現有Test有一行內容:

666c61677b38343164643364623239623066626264383963376235626537363863646338317d
明顯是hex過後的,我們直接解碼:

得到了最後一個flag8:flag{841dd3db29b0fbbd89c7b5be768cdc81}

md5解密:

兩隻小老鼠...hahaha

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章