SkyDog: 2016 – Catch Me If You Can 靶机渗透测试 | xxxSkyDog: 2016 – Catch Me If You Can 靶机渗透测试 – xxx
菜单

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

十二月 24, 2018 - FreeBuf

前言

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

1.jpg

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

2.png

描述

难度:初级&中级

下载地址: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

3.png

探测到192.168.23.129(靶机)存活

端口探测

nmap -u 192.168.23.129

4.png

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

Flag#1

尝试访问该web站点:

5.png

右键查看页面源代码:

6.png

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

7.png

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

8.png

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

Flag#1{7c0132070a0ef71d542663e9dc1f5dee}

9.png

Flag#2

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

10.png

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

11.png

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

12.png

Flag#3

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

13.png

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

14.png

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

15.png

查看该站点的证书信息:

16.png

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

17.png

Flag#4

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

18.png

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

19.png

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

20.png

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

21.png

还有一个doug.perterson@fbi.gov像是一个邮箱,感觉应该有用,先放在这里猜测题目要求是通过burp修改用户代理User Agent使用IE4访问

22.png23.png

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

24.png

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

25.png

Flag#5

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

26.png通过提供的两个线索,猜测newevidence是一个目录,尝试访问http://192.168.23.129/newevidence确实是个目录。

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

27.png而在第一关的html5.js文件中发现了一个邮箱:doug.perterson@fbi.gov即用户名的构成是:名字.姓氏(并且都是小写)。

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

Welcome Agent Hanratty。

28.png感觉这个 Agent Hanratty 应该是一个人,于是问一下度娘

29.png得到这个FBI探员的名字是:Carl Hanratty

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

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

30.png抓包后发现用户名密码是base64加密,解密查看提交的格式

31.png32.png一共分为三个部分:用户名:密码

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

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

33.png我们一个一个来设置,我们先设置自定义迭代器的第一组payload,设置为账号:

34.png

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

35.png

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

36.png

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

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

37.png

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

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

38.png解密得到密码:Grace

39.png登录成功界面:

40.png点击“Evidence Summary File”,得到第五个flag。Flag#5{117c240d49f54096413dd64280399ea9}

41.png同时我们还在登陆后的页面下载到了两个文件

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

Flag#6

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

42.png推测可能是目录,或者登录用户名或者密码,尝试访问目录:

43.png发现不是目录,再看一下题设

44.png似乎没有什么灵感,现在我们唯一可以利用的就是上个flag获得的newevidence.jpg跟Invoice.pdf。先看一下这个PDF,首先看了看PDF的属性,并没有发现什么特别的,就打开这个文件,想看看内容有没有什么线索。

45.png我认为比较有用的都已经标出来了,最后度娘告诉我文档中Stefan Hetzl是一个Steghide的作者,而Steghide是一个可以在图像,音频中隐藏数据的小工具,正好可以联系到我们的图片上

46.png

47.png我们利用Steghide工具来剖析这张图片steghide extract -sf image.jpg

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

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

48.png找到了隐藏了flag.txt

49.png打开txt找到第六个flag。Flag#6{d1e5146b171928731385eb7ea38c37b8}

50.pngFlag#7

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

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

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

51.png发现不是目录,再看一下题设

52.png翻译:弗兰克被摄像机拍到,大喊大叫,我是活着的最快的人!

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

53.png这句话完整的是: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 barryallen@192.168.23.129-p 22222

54.png密码的话根据现有的线索,不是IloveFrance,就是iheartbrenda,试一下就好了(悄悄告诉你密码是iheartbrenda)。

55.png好不容易登录成功,先看一下有哪些文件呗。

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

56.pngFlag#8

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

57.png还有在上一关我们flag的目录下有一个security-system.data的文件,推测最后一关应该是和这个文件有关了。

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

scp -P 22222barryallen@192.168.23.129:/home/barryallen/security-system.data ~/文档

58.png我们先用kali linux自带的binwalk工具分析一下这个文件,发现是个zip文件

59.png想要解压压缩文件,必须要把这个文件转成zip文件

mv security-system.datasecurity-system.zip

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

60.png解压出来看一下文件名security-system.data 翻译为安全系统数据

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

61.png所以猜测这个文件可能是一台机器的内存映像,接下来可以使用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

62.png发现了一些有用的数据,继续用volatility进行挖掘

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

63.png发现写入了code.txt一些字符串,对这些字符串进行解码

64.png获得第八个flag。Flag#8{841dd3db29b0fbbd89c7b5be768cdc81}

都拿到flag了,解密一下吧

65.png两只小老鼠???好吧 至此分享结束。

总结

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


Notice: Undefined variable: canUpdate in /var/www/html/wordpress/wp-content/plugins/wp-autopost-pro/wp-autopost-function.php on line 51