前言
电影《Catch Me If You Can》的中译名是《猫鼠游戏》,《猫鼠游戏》是一部好莱坞罕见的犯罪传记题材影片,其以独特的视角重新演绎了社会工程学诈骗的诸多手段令人称赞。
本次靶机的主题也是来源于此,作者在靶机中以{MD5 Hash}的形式放置了8个flag,我们的目标就是拿到这八个flag,下面是作者给出的八个flag的提示信息:
描述
难度:初级&中级
下载地址:https://download.vulnhub.com/skydog/SkyDogConCTF2016VBoxV10.ova
安装说明:我使用的是VMware,导入ova文件,因为靶机已经配置了DHCP,所以NAT方式连接后靶机自动获取IP。
信息收集
话不多说,开始搞它!
靶机IP:192.168.23.129
攻击机IP:192.168.23.128
存活主机探测
用nmap探测本网段存活主机nmap -r192.168.23.0/24
探测到192.168.23.129(靶机)存活
端口探测
nmap -u 192.168.23.129
可以看到开放了80和443端口
Flag#1
尝试访问该web站点:
右键查看页面源代码:
在源码注释中找到隐藏路径http://192.168.23.129/oldIE/html5.js
在js文件的注释中找到奇怪的字符串:666c61677b37633031333230373061306566373164353432363633653964633166356465657d。该字符串中存在数字、字母,并且字母范围在“a-f”之间,并且题设提示:
将字符串进行转码果然得到第一个flag。
Flag#1{7c0132070a0ef71d542663e9dc1f5dee}
Flag#2
对flag#1内容进行MD5解密,所给的线索是nmap:
用nmap -p- 192.168.23.129对所有端口进行更完整的扫描。
根据nmap扫描端口的结果,我们发现在22端口的ssh服务关闭,但是在22222端口上开放了OpenSSH的服务,通过ssh 192.168.23.129 -p 22222尝试连接,在回显信息中拿到第二个flag。Flag#2{53c82eba31f6d416f331de9162ebe997}
Flag#3
对flag#2内容进行MD5解密,获取线索“加密”
根据题设,Flag#3的关键字是“拦截”
再联想http采用80端口与Web服务器通信,无加密措施易被拦截、值入非法内容;https采用443端口同第三方安全公司发生的SSL证书加密与Web服务器通信,有效防止拦截、信自安全加密传输。
用https协议对网站进行访问:
查看该站点的证书信息:
得到第三个flag。
Flag#3{f82366a9ddc064585d54e3f78bde3221}
Flag#4
对flag#3内容进行MD5解密,获取线索“personnel”
完全与题设不搭,感觉应该是目录,尝试访问该路径http://192.168.23.129/personnel,得到回显信息。
根据题设,Flag#4的关键字是“代理”
结合之前找到的html5.js文件,搜索关键字“FBI”,发现如下信息:
还有一个[email protected]像是一个邮箱,感觉应该有用,先放在这里
猜测题目要求是通过burp修改用户代理User Agent使用IE4访问
点击forward放过数据包,成功伪造,得到第四个flag。
Flag#4{14e10d570047667f904261e6d08f520f}
并且在页面下方获取新线索:“clue=new+flag”
Flag#5
对flag#4内容进行MD5解密,获取线索“evidence”
通过提供的两个线索,猜测newevidence是一个目录,尝试访问http://192.168.23.129/newevidence确实是个目录。
需要FBI才能登录(此处与上一关有异曲同工之妙,还是需要修改用户代理),除此之外,我们需要知道用户名和密码。
而在第一关的html5.js文件中发现了一个邮箱:[email protected]即用户名的构成是:名字.姓氏(并且都是小写)。
而我们在上一关登录 http://192.168.23.129/personnel/页面显示:Welcome Agent Hanratty。
感觉这个 Agent Hanratty 应该是一个人,于是问一下度娘
得到这个FBI探员的名字是:Carl Hanratty
所以用户名应该是:carl.hanratty
密码没有提示,只能用burp进行爆破
抓包后发现用户名密码是base64加密,解密查看提交的格式
一共分为三个部分:用户名:密码
根据给出的格式构造payload(此处爆破介绍较为详细,大佬请略过)
Payload type选择Custom iterator自定义迭代器
我们一个一个来设置,我们先设置自定义迭代器的第一组payload,设置为账号:
第二组payload只有一个值,就是冒号(注意中英文格式)
第三组为密码,导入爆破字典
现在三组payload都设置好了,还有最后最重要的一步:base64加密。
在Payload Processing中点击add添加相应的加密就可以。
根据实际情况调整线程,最后点击StartAttack开始攻击即可。
爆破了一会,出现状态码301
解密得到密码:Grace
登录成功界面:
点击“Evidence Summary File”,得到第五个flag。
Flag#5{117c240d49f54096413dd64280399ea9}
同时我们还在登录后的页面下载到了两个文件
一个是PDF:Invoice.pdf;一个是JPG:image.jpg
Flag#6
对flag#5内容进行MD5解密,获取线索“panam”
推测可能是目录,或者登录用户名或者密码,尝试访问目录:
发现不是目录,再看一下题设
似乎没有什么灵感,现在我们唯一可以利用的就是上个flag获得的newevidence.jpg跟Invoice.pdf。先看一下这个PDF,首先看了看PDF的属性,并没有发现什么特别的,就打开这个文件,想看看内容有没有什么线索。
我认为比较有用的都已经标出来了,最后度娘告诉我文档中Stefan Hetzl是一个Steghide的作者,而Steghide是一个可以在图像,音频中隐藏数据的小工具,正好可以联系到我们的图片上
我们利用Steghide工具来剖析这张图片steghideextract -sf image.jpg
(Steghide使用详解:https://blog.csdn.net/Jeanphorn/article/details/45034859)
还需要密码,这个时候我想到了上一关解出的线索“panam”
找到了隐藏了flag.txt
打开txt找到第六个flag。
Flag#6{d1e5146b171928731385eb7ea38c37b8}
Flag#7
MD5解密flag#6,获取线索“ILoveFrance”(其实文件中已给出明文)
同时这个文本里面还给了我们新的线索:iheartbrenda
常规套路推测可能是目录,或者登录用户名或者密码,尝试访问目录:
发现不是目录,再看一下题设
翻译:弗兰克被摄像机拍到,大喊大叫,我是活着的最快的人!
弗兰克为什么大喊大叫这句话,果然度娘还是强大的,发现弗兰克大叫的这句“I’m The Fastest Man Alive!”来自于闪电侠
这句话完整的是:My name is BarryAllen and I am the fastest man alive when I was a child , I saw my motherkilled by …
现在使用发现的口令的唯一地方就是SSH,所以尝试登陆去连接SSH,而用户名正好可以用那句话里的name:barryallen
ssh [email protected] -p 22222
密码的话根据现有的线索,不是IloveFrance,就是iheartbrenda,试一下就好了(悄悄告诉你密码是iheartbrenda)。
好不容易登录成功,先看一下有哪些文件呗。
很顺利的拿到了第七个flag。
Flag#7{bd2f6a1d5242c962a05619c56fa47ba6}
Flag#8
对flag#7内容进行MD5解密,获取线索“theflash”
还有在上一关我们flag的目录下有一个security-system.data的文件,推测最后一关应该是和这个文件有关了。
执行如下命令,将文件下载到本地文件夹
scp -P [email protected]:/home/barryallen/security-system.data ~/文档
我们先用kali linux自带的binwalk工具分析一下这个文件,发现是个zip文件
想要解压压缩文件,必须要把这个文件转成zip文件
mv security-system.data security-system.zip
然后使用unzip命令来解压这个zip文件
解压出来看一下文件名security-system.data翻译为安全系统数据
再看一下首页给的题设关键字应该是memory(内存)
所以猜测这个文件可能是一台机器的内存映像,接下来可以使用Volatility来进行电子取证。
(Volatility介绍及用法:
https://www.anquanke.com/post/id/86036
https://blog.csdn.net/kevinhanser/article/details/80013033
https://tools.kali.org/forensics/volatility)
首先查看一下文件信息:
volatility -f security-system.data imageinfo
发现了一些有用的数据,继续用volatility进行挖掘
查看历史命令volatility -f security-system.data–profile=WinXPSP2x86 cmdscan
发现写入了code.txt一些字符串,对这些字符串进行解码
获得第八个flag。
Flag#8{841dd3db29b0fbbd89c7b5be768cdc81}
都拿到flag了,解密一下吧
两只小老鼠??? 好吧 至此分享结束。
总结
这个靶机难度的定位虽然是中低级,但是对于我这种小菜鸟来说还是有一定难度的,在渗透过程中会遇到很多坑,例如在猜解密码的时候用到了好多社工,还有必须在burp中修改为IE4的代理,还有burp的加密爆破,还有volatility工具的应用等等。渗透路漫漫,道阻且艰,加油啊!!!
来源:freebuf.com 2019-01-04 11:27:21 by: 凯信特安全团队
请登录后发表评论
注册