靶机练习 - 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"')

成功:

 

 

本文仅用于技术学习和交流,严禁用于非法用途,否则产生的一切后果自行承担。

如需转载,请注明出处,这是对他人劳动成果的尊重。

posted @ 2023-02-07 14:47  Sally_Zhang  阅读(113)  评论(0编辑  收藏  举报