【白帽子學習筆記】CTF實踐
文章目錄
- 【白帽子學習筆記】CTF實踐
- 0x01 實驗知識點
- 1x01 什么是CTF?
- 1x02 CTF競賽模式
- 1x03 CTF各大題型簡介
- 0x02 獲取Web Developer中的flag
- 1x01 Net Discover
- 1x02 Nmap資訊收集
- 1x03 訪問網站
- 1x04 whatweb探尋
- 1x05 wpscan
- 1x06 Dirb爆破
- 1x07 wireshark資料分析
- 1x08 使用wordpress的插件漏洞進行提權
- 2x01 MeterSploit + reflex gallery
- 2x02 反彈Shell
- 2x03 利用檔案管理插件(File manager)漏洞
- 1x09 ssh登陸該網站
0x01 實驗知識點
1x01 什么是CTF?
CTF(Capture The Flag)中文一般譯作奪旗賽,在網路安全領域中指的是網路安全技術人員之間進行技術競技的一種比賽形式,CTF起源于1996年DEFCON全球黑客大會,以代替之前黑客們通過互相發起真實攻擊進行技術比拼的方式,發展至今,已經成為全球范圍網路安全圈流行的競賽形式,2013年全球舉辦了超過五十場國際性CTF賽事,而DEFCON作為CTF賽制的發源地,DEFCON CTF也成為了目前全球最高技術水平和影響力的CTF競賽,類似于CTF賽場中的“世界杯”,
1x02 CTF競賽模式
(1)解題模式(Jeopardy)在解題模式CTF賽制中,參賽隊伍可以通過互聯網或者現場網路參與,這種模式的CTF競賽與ACM編程競賽、資訊學奧賽比較類似,以解決網路安全技術挑戰題目的分值和時間來排名,通常用于在線選拔賽,題目主要包含逆向、漏洞挖掘與利用、Web滲透、密碼、取證、隱寫、安全編程等類別,
(2)攻防模式(Attack-Defense)在攻防模式CTF賽制中,參賽隊伍在網路空間互相進行攻擊和防守,挖掘網路服務漏洞并攻擊對手服務來得分,修補自身服務漏洞進行防御來避免丟分,攻防模式CTF賽制可以實時通過得分反映出比賽情況,最終也以得分直接分出勝負,是一種競爭激烈,具有很強觀賞性和高度透明性的網路安全賽制,在這種賽制中,不僅僅是比參賽隊員的智力和技術,也比體力(因為比賽一般都會持續48小時及以上),同時也比團隊之間的分工配合與合作,
(3)混合模式(Mix)結合了解題模式與攻防模式的CTF賽制,比如參賽隊伍通過解題可以獲取一些初始分數,然后通過攻防對抗進行得分增減的零和游戲,最終以得分高低分出勝負,采用混合模式CTF賽制的典型代表如iCTF國際CTF競賽,
1.2 CTF各大題型簡介
1x03 CTF各大題型簡介
MISC(安全雜項)
全稱Miscellaneous,題目涉及流量分析、電子取證、人肉搜索、資料分析、大資料統計等等,覆寫面比較廣,我們平時看到的社工類題目;給你一個流量包讓你分析的題目;取證分析題目,都屬于這類題目,主要考查參賽選手的各種基礎綜合知識,考察范圍比較廣,
PPC(編程類)
全稱Professionally Program Coder,題目涉及到程式撰寫、編程演算法實作,演算法的逆向撰寫,批量處理等,有時候用編程去處理問題,會方便的多,當然PPC相比ACM來說,還是較為容易的,至于編程語言嘛,推薦使用Python來嘗試,這部分主要考察選手的快速編程能力,
CRYPTO(密碼學)
全稱Cryptography,題目考察各種加解密技術,包括古典加密技術、現代加密技術甚至出題者自創加密技術,這樣的題目匯集的最多,這部分主要考查參賽選手密碼學相關知識點,
REVERSE(逆向)
題目涉及到軟體逆向、破解技術等,要求有較強的反匯編、反編譯扎實功底,需要掌味訓編,堆疊、暫存器方面的知識,有好的邏輯思維能力,主要考查參賽選手的逆向分析能力,此類題目也是線下比賽的考察重點,
STEGA(隱寫)
全稱Steganography,題目的Flag會隱藏到圖片、音頻、視頻等各類資料載體中供參賽選手獲取,載體就是圖片、音頻、視頻等,可能是修改了這些載體來隱藏flag,也可能將flag隱藏在這些載體的二進制空白位置,有時候需要你偵探精神足夠的強,才能發現,此類題目主要考查參賽選手的對各種隱寫工具、隱寫演算法的熟悉程度,
PWN(溢位)
PWN在黑客俚語中代表著攻破,取得權限,在CTF比賽中它代表著溢位類的題目,其中常見型別溢位漏洞有堆疊溢位、堆溢位,在CTF比賽中,線上比賽會有,但是比例不會太重,進入線下比賽,逆向和溢位則是戰隊實力的關鍵,主要考察引數選手漏洞挖掘和利用能力,
WEB(web類)
WEB應用在今天越來越廣泛,也是CTF奪旗競賽中的主要題型,題目涉及到常見的Web漏洞,諸如注入、XSS、檔案包含、代碼審計、上傳等漏洞,這些題目都不是簡單的注入、上傳題目,至少會有一層的安全過濾,需要選手想辦法繞過,且Web題目是國內比較多也是大家比較喜歡的題目,因為大多數人開始安全都是從web*站開始的,
0x02 獲取Web Developer中的flag
1x01 Net Discover
首先通過namp掃描存活的主機,成功發現了Web Developer;

1x02 Nmap資訊收集
接下來使用Nmap掃描Web Developer檢查一下埠的開放情況;
nmap 10.34.80.3

可以看到開放了80埠和22埠,這兩個埠的作用分別是http埠(網頁)和ssh埠(遠程登陸);
1x03 訪問網站
因為網站開放了80埠,所以可以嘗試登陸http埠

發現有一個搭建了一個個人模塊網站,這個網站應該是一個比較經典的CMS了,記得我當初剛買服務器的時候@visualDust給我搭了這一個這個網站,
1x04 whatweb探尋
通過whatweb進行檢測可以發現該網站的如下資訊:

從內容資訊中可以得到,該網站的CMS為WordPress;
1x05 wpscan
WPScan是Kali Linux默認自帶的一款漏洞掃描工具,它采用Ruby撰寫,能夠掃描WordPress網站中的多種安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主題漏洞,
1x06 Dirb爆破
使用dirb來爆破網站的根目錄;
dirb -u http://10.34.80.3

找到一個 http://10.34.80.3/ipdata/ 感覺這個很像流量資訊,進去看一看吧

1x07 wireshark資料分析
在獲取了網站資料流資訊后,我們嘗試使用wireshark進行一次分析;嘗試搜索一下login,結果有驚奇的發現;

成功找到了登陸界面:

我們隨便提交一個,找到資訊post去的地址:

確定了之后就去找發送到相應url下的post資訊;
嘗試篩選http請求型別為post的請求,找到了這兩個:

可以看到賬號密碼就在這里,密碼好像是做了一定的加密,當時這個不是問題;

我們把burp打開,然后隨便輸入一個賬號和密碼,在burp里面給他改一下,然后再把請求放過去就可以了;
下圖是我們的請求;

很明顯可以發現,log對應的是用戶名,pwd對應的是密碼;然后我們把他給改掉

成功進入網站后臺!

1x08 使用wordpress的插件漏洞進行提權
這里可以使用三種方案進行實作:
2x01 MeterSploit + reflex gallery
首先我們先需要給這個wordpress安裝reflex gallery插件;
去plugins界面搜索一下reflex,安裝上去就好;

當然了你也可以選擇本地上傳安裝;
安裝成功之后記得把插件激活一下!

接下來使用msf來控制漏洞:

出現meterpreter>說明可以控制了,我們可以在這里輸入Linux命令來查看一些檔案:
回退到/var/www/html之后可以看到wp-config.php;

查看一下里面的內容:

可以在里面找到資料庫的用戶和密碼:

2x02 反彈Shell
上傳反彈shell,http://pentestmonkey.net/tools/web-shells/php-reverse-shell
【目的:PHP網站滲透;實作途徑:上傳網站后,URL訪問(含有)該反彈shell的頁面,
功能:該腳本會發起反彈TCP連接到攻擊者(腳本中指定攻擊者IP地址和埠號),】
我們把代碼稍微修改一下,ip改成10.34.80.3, 反彈埠設為4444;
首先需要把這里的theme給修改為Twenty Sixteen,記得點擊Select,然后點擊Leave!

然后將php檔案復制粘貼過來==》記得upload!
注意一下,因為我實在找不到404.PHP的url路徑,所以我就改了search.php,效果就是搜索的時候觸發

還有一件事! , 因為剛才修改了theme,這里需要把對應的主界面也改了;(不改好像也行)

接下來我們使用kali的nc監聽剛才設定的4444埠,

現在我們search一下就可以發現nc里面已經可以操作了!


經過路徑的探尋后找到了wp_config.php 檔案

2x03 利用檔案管理插件(File manager)漏洞
這個沒啥技術含量,安裝了插件之后直接就可以查看了;這里就不寫了
1x09 ssh登陸該網站
這里我們嘗試用上一步中獲取的資料庫密碼來登陸
結果發現遇到了這個問題:

這里我們進行一下修改組態檔,sudo vim /etc/ssh/ssh_config打開這個檔案,然后在最下面添加:
# StrictHostKeyChecking ask改成StrictHostKeyChecking no

然后輸入:ssh webdeveloper@10.34.80.3

成功登錄了進來!

嘗試查看發現權限不足:

查看一下可以執行的sudo命令

發現可以root權限執行tcpdump命令
創建攻擊檔案

tcpdump命令詳解:
- -i eth0 從指定網卡捕獲資料包
- -w /dev/null 將捕獲到的資料包輸出到空設備(不輸出資料包結果)
- -z [command] 運行指定的命令
- -Z [user] 指定用戶執行命令
- -G [rotate_seconds] 每rotate_seconds秒一次的頻率執行-w指定的轉儲
- -W [num] 指定抓包數量
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/231102.html
標籤:其他
