skyler实战渗透笔记(六)—Tr0ll2
skyler实战渗透笔记:
笔记是为了记录实战渗透学习过程,分享渗透过程思路与方法。
请注意:
对于所有笔记中复现的终端或服务器,都是自行搭建环境或已获授权渗透的。使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
今天目标是上一篇的续章,Tr0ll系列vm中的下一台机器。这是一个在难度上比原来的Tr0ll提高了一步,但需要的时间几乎是相同的,毫无疑问,trolls仍然存在!
难度是初学者++到中级。
老规矩,先找目标
这次靶机ip 192.168.2415.146,看下端口服务:
|——21 ftp
|——22 ssh
|——80 httpd
首先尝试了下21 22端口,没有什么线索。直接访问80端口:
还是开局一张图,右键看下源码:
这里有个Author的用户名,可以记下来。
接下来继续,首页没什么发现,就使用dirsearch扫一下目录:
发现其中robots.txt包含了一堆不显示的地址:
下载下来,都访问试试:
一个目录一个目录的手动访问太慢了,用工具批量请求一下:
└─# dirb http://192.168.245.146/ robots.txt
访问了下这几个目录,都是同样的一副图片
把图片下载下来,cat看了下,最后面有一段话:
# wget http://192.168.245.146/dont_bother/cat_the_troll.jpg
# cat cat_the_troll.jpg
结合上一篇的特点,直接访问这个 y0ur_self
发现是一堆base64编码后的字符串,估计应该是密码字典,先解密出明文字典:
─# base64 -d answer.txt > pass.txt
现在汇总收集到的信息:一个用户名tr0ll,一个密码字典,那么很容易想到通过密码字典爆破ftp或ssh
但是用hydra爆破了一下,发现进不去。
后来灵光一闪,用默认的用户名当密码,tr0ll、tr0ll结果直接进去了:
打开发现一个压缩包,下载下来解压发现需要密码
那估计密码字典是解压密码了,爆破一下试试:
使用fcrackzip工具(专门用来破解zip密码)
解压出来发现一个noob的一个SHA256私钥:我们用这个密码登录22端口试试
然后就不会做了...我好菜啊....我是一个菜狗子
去网上搜了一波提示,提示说可以用bash破壳漏洞
ssh -i noob noob@192.168.245.146 '() { :;}; /bin/bash'
OK ,终于获得了一个shell
PS:这里需要详细了解一下SSH破壳漏洞https://unix.stackexchange.com/questions/157477/how-can-shellshock-be-exploited-over-ssh
随便翻翻,找到根目录有一个suid的目录感觉有问题,进去看一眼发现里面是一个suid的文件,所有者还是root
然后在里面发现三个一样的文件文件名都是r00t
,文件大小不一样,一样的套路再次上演,我们去执行那个最大的文件,查看
执行之后我们输入什么回显什么。这个时候就猜测应该是要利用缓冲区溢出来搞了,gdb调试分析源代码。
这块二进制的题目我还在学习当中,不太擅长,但是今天这个题目让我加快了二进制的学习进度了。
这边直接从网上找到对应的exp直接提权:
./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"')
最终提权完成!