SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

栏目: 编程工具 · 发布时间: 6年前

内容简介:电影《Catch MeIf You Can》的中译名是《猫鼠游戏》,《猫鼠游戏》是一部好莱坞罕见的犯罪传记题材影片,其以独特的视角重新演绎了社会工程学诈骗的诸多手段令人称赞。本次靶机的主题也是来源于此,作者在靶机中以{MD5 Hash}的形式放置了8个flag,我们的目标就是拿到这八个flag,下面是作者给出的八个flag的提示信息:

前言

电影《Catch MeIf You Can》的中译名是《猫鼠游戏》,《猫鼠游戏》是一部好莱坞罕见的犯罪传记题材影片,其以独特的视角重新演绎了社会工程学诈骗的诸多手段令人称赞。

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

本次靶机的主题也是来源于此,作者在靶机中以{MD5 Hash}的形式放置了8个flag,我们的目标就是拿到这八个flag,下面是作者给出的八个flag的提示信息:

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

描述

难度:初级&中级

下载地址: https://download.vulnhub.com/skydog/SkyDogConCTF2016VBoxV10.ova

安装说明:我使用的是VMware,导入ova文件,因为靶机已经配置了DHCP,所以NAT方式连接后靶机自动获取IP。

信息收集

话不多说,开始搞它!

靶机IP:192.168.23.129

攻击机IP:192.168.23.128

存活主机探测

用nmap探测本网段存活主机 nmap -r 192.168.23.0/24

探测到192.168.23.129(靶机)存活

端口探测

nmap -u 192.168.23.129

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

可以看到开放了80和443端口

Flag#1

尝试访问该web站点:

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

右键查看页面源代码:

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

在源码注释中找到隐藏路径 http://192.168.23.129/oldIE/html5.js

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

在js文件的注释中找到奇怪的字符串:666c61677b37633031333230373061306566373164353432363633653964633166356465657d。该字符串中存在数字、字母,并且字母范围在“a-f”之间,并且题设提示:

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

将字符串进行转码果然得到第一个flag。

Flag#1{7c0132070a0ef71d542663e9dc1f5dee}

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

Flag#2

对flag#1内容进行MD5解密,所给的线索是nmap:

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

nmap -p-192.168.23.129 对所有端口进行更完整的扫描。

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

根据nmap扫描端口的结果,我们发现在22端口的ssh服务关闭,但是在22222端口上开放了OpenSSH的服务,通过 ssh 192.168.23.129 -p 22222 尝试连接,在回显信息中拿到第二个flag。 Flag#2{53c82eba31f6d416f331de9162ebe997}

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

Flag#3

对flag#2内容进行MD5解密,获取线索“加密”

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

根据题设,Flag#3的关键字是“拦截”

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

再联想http采用80端口与Web服务器通信,无加密措施易被拦截、值入非法内容;https采用443端口同第三方安全公司发生的SSL证书加密与Web服务器通信,有效防止拦截、信自安全加密传输。用https协议对网站进行访问:

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

查看该站点的证书信息:

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

得到第三个flag。 Flag#3{f82366a9ddc064585d54e3f78bde3221}

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

Flag#4

对flag#3内容进行MD5解密,获取线索“personnel”

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

完全与题设不搭,感觉应该是目录,尝试访问该路径 http://192.168.23.129/personnel ,得到回显信息

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

根据题设,Flag#4的关键字是“代理”

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

结合之前找到的html5.js文件,搜索关键字“FBI”,发现如下信息

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

还有一个[email protected]像是一个邮箱,感觉应该有用,先放在这里猜测题目要求是通过burp修改用户代理User Agent使用IE4访问

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

点击forward放过数据包,成功伪造,得到第四个flag。 Flag#4{14e10d570047667f904261e6d08f520f}

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

并且在页面下方获取新线索:“clue=new+flag”

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

Flag#5

对flag#4内容进行MD5解密,获取线索“evidence”

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 通过提供的两个线索,猜测newevidence是一个目录,尝试访问 http://192.168.23.129/newevidence 确实是个目录。

需要FBI才能登陆(此处与上一关有异曲同工之妙,还是需要修改用户代理),除此之外,我们需要知道用户名和密码。

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 而在第一关的html5.js文件中发现了一个邮箱:[email protected]即用户名的构成是:名字.姓氏(并且都是小写)。

而我们在上一关登陆 http://192.168.23.129/personnel/ 页面显示:

Welcome Agent Hanratty。

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 感觉这个 Agent Hanratty 应该是一个人,于是问一下度娘

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 得到这个FBI探员的名字是:Carl Hanratty

所以用户名应该是:carl.hanratty

密码没有提示,只能用burp进行爆破

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 抓包后发现用户名密码是base64加密,解密查看提交的格式

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 一共分为三个部分:用户名:密码

根据给出的格式构造payload(此处爆破介绍较为详细,大佬请略过)

Payload type选择Custom iterator自定义迭代器

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 我们一个一个来设置,我们先设置自定义迭代器的第一组payload,设置为账号:

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

第二组payload只有一个值,就是冒号(注意中英文格式)

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

第三组为密码,导入爆破字典

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

现在三组payload都设置好了,还有最后最重要的一步:base64加密。

在Payload Processing中点击add添加相应的加密就可以

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

根据实际情况调整线程,最后点击Start Attack开始攻击即可。

爆破了一会,出现状态码301

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 解密得到密码:Grace

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 登录成功界面:

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 点击“Evidence Summary File”,得到第五个flag。 Flag#5{117c240d49f54096413dd64280399ea9}

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 同时我们还在登陆后的页面下载到了两个文件

一个是PDF:Invoice.pdf;一个是JPG:image.jpg

Flag#6

对flag#5内容进行MD5解密,获取线索“panam”

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 推测可能是目录,或者登录用户名或者密码,尝试访问目录:

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 发现不是目录,再看一下题设

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 似乎没有什么灵感,现在我们唯一可以利用的就是上个flag获得的newevidence.jpg跟Invoice.pdf。先看一下这个PDF,首先看了看PDF的属性,并没有发现什么特别的,就打开这个文件,想看看内容有没有什么线索。

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 我认为比较有用的都已经标出来了,最后度娘告诉我文档中Stefan Hetzl是一个Steghide的作者,而Steghide是一个可以在图像,音频中隐藏数据的小工具,正好可以联系到我们的图片上

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 我们利用Steghide工具来剖析这张图片 steghide extract -sf image.jpg

(Steghide使用详解: https://blog.csdn.net/Jeanphorn/article/details/45034859

还需要密码,这个时候我想到了上一关解出的线索“panam”

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 找到了隐藏了flag.txt

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 打开txt找到第六个flag。 Flag#6{d1e5146b171928731385eb7ea38c37b8}

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 Flag#7

MD5解密flag#6,获取线索“ILoveFrance”(其实文件中已给出明文)

同时这个文本里面还给了我们新的线索:iheartbrenda

常规套路推测可能是目录,或者登录用户名或者密码,尝试访问目录:

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 发现不是目录,再看一下题设

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 翻译:弗兰克被摄像机拍到,大喊大叫,我是活着的最快的人!

弗兰克为什么大喊大叫这句话,果然度娘还是强大的,发现弗兰克大叫的这句“I’m The Fastest Man Alive!”来自于闪电侠

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 这句话完整的是:My name is Barry Allen and I am the fastest man alive when I was achild , I saw my mother killed by …

现在使用发现的口令的唯一地方就是SSH,所以尝试登陆去连接SSH,而用户名正好可以用那句话里的name:barryallen

ssh [email protected] 22222

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 密码的话根据现有的线索,不是IloveFrance,就是iheartbrenda,试一下就好了(悄悄告诉你密码是iheartbrenda)。

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 好不容易登录成功,先看一下有哪些文件呗。

很顺利的拿到了第七个flag。 Flag#7{bd2f6a1d5242c962a05619c56fa47ba6}

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 Flag#8

对flag#7内容进行MD5解密,获取线索“theflash”

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 还有在上一关我们flag的目录下有一个security-system.data的文件,推测最后一关应该是和这个文件有关了。

执行如下命令,将文件下载到本地文件夹

scp -P [email protected]:/home/barryallen/security-system.data ~/文档

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 我们先用kali linux自带的binwalk工具分析一下这个文件,发现是个zip文件

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 想要解压压缩文件,必须要把这个文件转成zip文件

mv security-system.datasecurity-system.zip

然后使用unzip命令来解压这个zip文件

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 解压出来看一下文件名security-system.data 翻译为安全系统数据

再看一下首页给的题设关键字应该是memory(内存)

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 所以猜测这个文件可能是一台机器的内存映像,接下来可以使用Volatility来进行电子取证。

(Volatility介绍及用法:

https://www.anquanke.com/post/id/86036

https://blog.csdn.net/kevinhanser/article/details/80013033

https://tools.kali.org/forensics/volatility )

首先查看一下文件信息:

volatility -fsecurity-system.data imageinfo

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 发现了一些有用的数据,继续用volatility进行挖掘

查看历史命令 volatility-f security-system.data –profile=WinXPSP2x86 cmdscan

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 发现写入了code.txt一些字符串,对这些字符串进行解码

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 获得第八个flag。 Flag#8{841dd3db29b0fbbd89c7b5be768cdc81}

都拿到flag了,解密一下吧

SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 两只小老鼠???好吧 至此分享结束。

总结

这个靶机难度的定位虽然是中低级,但是对于我这种小菜鸟来说还是有一定难度的,在渗透过程中会遇到很多坑,例如在猜解密码的时候用到了好多社工,还有必须在burp中修改为IE4的代理,还有burp的加密爆破,还有volatility工具的应用等等。渗透路漫漫,道阻且艰,加油啊!!!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编写可维护的JavaScript

编写可维护的JavaScript

扎卡斯 / 李晶、郭凯、张散集 / 人民邮电出版社 / 2013-4 / 55.00元

《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。《编写可维护的JavaScript》内容涵盖了编码风格、编程技巧、自动化、测试等几方面,既包括具体风格和原则的介绍,也包括示例和技巧说明,最后还介绍了如何通过自动化的工具和方法来实现一致的编程风格。 《编写可维护的Ja......一起来看看 《编写可维护的JavaScript》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具