51

Catch Me If You Can靶机实战演练

 5 years ago
source link: http://www.freebuf.com/articles/web/175543.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

0×01 前言

电影《Catch Me If You Can》的中译名是《猫鼠游戏》,《猫鼠游戏》是一部好莱坞罕见的犯罪传记题材影片,其以独特的视角重新演绎了社会工程学诈骗的诸多手段令人称赞。《猫鼠游戏》是由莱昂纳多、汤姆·汉克斯 、 克里斯托弗·沃肯三大演技派主演的犯罪传记类型电影,《猫鼠游戏》在美国上映后,引起了不小的反响和对人物历史的追溯热潮,而克里斯托弗·沃肯更凭借此片一举提名第75届奥斯卡金像奖最佳男配角。

影片具有很高的还原度和较强的创新性,极为罕见的向观众展现了诸多社会工程学诈骗手段,并且鞭辟入里,有所依据。著名黑客米特尼克在《欺骗的艺术》中曾说过,“社工诈骗其实就是一种通过对受害者心理弱点、本能反应、好奇心、信任、贪婪等心理陷阱进行诸如欺骗、伤害等危害手段。”这种欺诈方式相比与技术诈骗而言,更加难以防范,因为人性的弱点和劣根性永远是最易于被击溃的一道命门。

或许在观众看来,影片中的许多诈骗手段老套过时且无法适用于当下,但需要强调的是,在六七十年代的旧社会中,能够找出行政执法的漏洞和体制内诸多的不健全因素而加以利用,同时很好地洞悉人性进行大额诈骗,在当时,可以算作是极为杰出的”诈骗艺术家“。

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

The eight flags are in the form of flag{MD5 Hash} such as flag{1a79a4d60de6718e8e5b326e338ae533
Flag #1 Don’t go Home Frank! There’s a Hex on Your House.
Flag #2 Obscurity or Security?
Flag #3 Be Careful Agent, Frank Has Been Known to Intercept Traffic Our Traffic.
Flag #4 A Good Agent is Hard to Find.
Flag #5 The Devil is in the Details – Or is it Dialogue? Either Way, if it’s Simple, Guessable, or Personal it Goes Against Best Practices
Flag #6 Where in the World is Frank?
Flag #7 Frank Was Caught on Camera Cashing Checks and Yelling – I’m The Fastest Man Alive!
Flag #8 Franks Lost His Mind or Maybe it’s His Memory. He’s Locked Himself Inside the Building. Find the Code to Unlock the Door Before He Gets Himself Killed!

UrqEzmU.jpg!web

0×02 环境配置

靶机下载地址: https://www.vulnhub.com/entry/skydog-2016-catch-me-if-you-can,166/

我使用的是VMware,导入ova文件,NAT方式连接后靶机自动获取IP

本次实战:

靶机IP:192.168.128.138

攻击机IP:192.168.128.128

JrQJNvJ.jpg!web

0×03 实战演练

nmap上车,IP发现:

fYbyyyn.jpg!web

端口探测:

BzIfAnI.jpg!web

发现开放了三个端口,先从web入手:

byq673m.jpg!web

查看网站源码,发现一个目录:

fuYvmmj.jpg!web

访问文件,发现第一个flag,是十六进制编码:

666c61677b37633031333230373061306566373164353432363633653964633166356465657d

6jqQn2v.jpg!web

现在我使用以下xxd命令将十六进制转换为文本。

echo 666c61677b37633031333230373061306566373164353432363633653964633166356465657d | xxd -r -p

faEBF3F.jpg!web

现在拿到了第一个flag:

flag{7c0132070a0ef71d542663e9dc1f5dee}

flag用md5解密:

ZniA7b2.jpg!web

所给的线索是nmap,用nmap 对所有65535端口进行更完整的扫描, 确定服务器正在端口22222上运行SSH服务器,这一定是进入服务器的方式

2Ezmy26.jpg!web

通过ssh连接,拿到了第二个flag:Flag{53c82eba31f6d416f331de9162ebe997}

6z2i6nr.jpg!web

md5解密flag,解密后的线索是:encrypt

iAb22eY.jpg!web

线索是“加密”。 到目前为止,截获流量和加密的唯一方法就是用于默认站点的SSL, 所以仔细看看SSL证书和BOOM

reqMnuI.jpg!web

拿到第三个flag:flag3{f82366a9ddc064585d54e3f78bde3221}

解密后的线索: personnel

ERvQfmq.jpg!web

发现personnel是一个目录,结合flag信息,又看了看之前找到的 http://192.168.128.138/oldIE/html5.js

发现如下信息

ieeIfea.jpg!web

2qiMVjJ.jpg!web

用burp挂上代理,修改如下地方, 修改 User-Agent, 使用IE4访问:

e6JrI3I.jpg!web

BFbqemB.jpg!web

现在我用IE4用户代理刷新页面,我们找到了Agent Hanratty的FBI门户网站

浏览器css做了过滤,但是不影响找到flag,第四个flag:

flag{14e10d570047667f904261e6d08f520f}

eumYf2n.jpg!web

在门户网站的底部,我们发现我们的第四个flag{14e10d570047667f904261e6d08f520f}和一个新线索“Clue = new +flag”。

解密后线索是: evidence

2IfmYju.jpg!web

通过我们刚刚从Flag4得到的信息,猜测/ newevidence是否是一个目录。确实是 ,但需要用户名/密码,而且要使用IE4用户代理登录

2QBV3en.jpg!web

用户名,密码怎么办,我在上一个页面用cewl生成了一个字典,用hydra口令没跑出来

然后又去搜了电影相关的信息,找了好多信息终于找到正确口令: carl.hanratty/ Grace

登录任然需要代理采用IE4浏览器

j2Q7vyJ.jpg!web

7BVZVn2.jpg!web

y6f2EzQ.jpg!web

找到了第五个flag:

flag{117c240d49f54096413dd64280399ea9}

解密后的线索是: panam

VryYfqe.jpg!web

访问 两个文件image.jpg和Invoice.pdf

J3UjQbU.jpg!web

把图片下载下来,打开图片发现第六个flag

flag{d1e5146b171928731385eb7ea38c37b8}

解密后的线索是: ILoveFrance

7FfeEvF.jpg!web

这是一个很奇怪的线索, 为什么弗兰克大喊“iheartbrenda”?  我搜了这句话,这句话来自超级英雄barry.allen,又名Flash。

于是我做了一堆“ barry.allen ”和“flash”的不同组合,现在 使用我发现的口令的唯一地方就是SSH, 所以我尝试使用密码“iheartbrenda”和“barry.allen”,登录失败,于是 我尝试使用“barryallen”和“iheartbrenda”作为口令,登陆成功了

6FRbAvV.jpg!web

成功拿到flag,flag{bd2f6a1d5242c962a05619c56fa47ba6}

并且有一个名为“security-system.data”的非常大的文件。

解密flag的线索: theflash

feiAR3Z.jpg!web

现在我可以通过SSH访问Barry Allen帐户,我开始仔细查看主目录中的security-system.data文件。

在kali执行如下命令,将文件下载下来

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

UJ7JvaR.jpg!web

我将文件下载到Kali,查看它是什么类型的文件。 该文件命令显示它是一个zip文件,所以我运行如下命令

AZ7beem.jpg!web

security-system.data显示是一些exe数据, 在文件上运行字符串我看到很多提及内存的内容,所以我想它可能是一台机器的内存映像。 下一步是使用 volatility 来查看文件

7J7Rnie.jpg!web

确实出现了一些有趣的信息, 我继续使用 volatility 进一步挖掘。

uQvEj2A.jpg!web

在桌面上看到一个名为code.txt的文件,它是对我们线索的直接引用, 下一步是我想看看是否有任何内容输入到控制台中

ZZJZRnI.jpg!web

可以看到code.txt是通过在文件中回显hex来在桌面上创建的,解码这个 十六进制数据,再次运行xxd命令

echo 66 6c 61 67 7b 38 34 31 64 64 33 64 62 32 39 62 30 66 62 62 64 38 39 63 37 62 35 62 65 37 36 38 63 64 63 38 31 7d | xxd -r -p

RryequY.jpg!web

最后一个flag:flag{841dd3db29b0fbbd89c7b5be768cdc81}

解密: Twolittlemice

0×04 总结

渗透思路很常规,靶机整体难度也不大,只是其中有几个坑点,非常适合新书学习。

这个靶机有两个难点,一个是在访问的时候必须要用IE4浏览器,最方便的办法就是在burp中修改,第二个是拿到 security-system.data这个数据包不知道该怎么找到flag,不得不说 volatility这个工具真的太强大,成功帮我找到了最后的flag。

参考资料:

https://www.vulnhub.com/entry/skydog-2016-catch-me-if-you-can,166/

https://www.jamesbower.com/skydog-con-2016-ctf/

https://www.mrb3n.com/?p=404

* 本文作者:小鸟,转载请注明来自FreeBuf.COM


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK