通过部署蜜罐捕捉0DAY(第一部分)

阅读量236791

|评论1

|

发布时间 : 2016-01-07 17:25:09

x
译文声明

本文是翻译文章,文章来源:360安全播报

原文地址:http://null-byte.wonderhowto.com/how-to/hack-like-pro-capturing-zero-day-exploits-wild-with-dionaea-honeypot-part-1-0165708/

译文仅供参考,具体内容表达以及含义原文为准。

http://p5.qhimg.com/t018100b66aa146a43f.jpg

        欢迎回来,黑客新手们!

        任何一个黑客追逐的目标基本都是开发出杀毒软件、软件开发者、入侵检测系统开发者从未发现0day漏洞利用模块,这样,你就能够毫无顾忌地通过自己发现的漏洞渗透进入系统。

        获得0day漏洞有两种方法:自己开发或捕获别人开发好的。

        自己开发的话需要经过漫长单调无味的过程,同时也需要具备一定的fuzzing、shellcode编写等技能,这个过程大多都需要多人相互协作多日才能完成,网络犯罪组织和间谍政府开发利用一个0day漏洞模块通常会花费百万美金,很少出现个人通过很少的努力就成功开发出来,特别是针对遗留系统(旧版本的系统)。(0day漏洞攻击起初是两年前由俄罗斯一个17岁少年黑客开发出并针对销售点仍然在使用的Windows XP)。

        另一种方法是通过捕获别人已经开发出来并重复使用的。还记得当Hacking Team被黑之后其漏洞模块泄露的事么?这种方法已经被杀毒研发工程师和法医调查员以及在某些情况下黑客所使用了。

        在这一系列的文章中我们所需要做的是安全和配置一个看起来漏洞百出并具有真实性。然后我们静静地等待它吸引攻击者入侵进来然后在他们成功通过漏洞进入系统时捕获其所使用的恶意软件和利用模块。

        倘若我们是一名法医调查人员,我们随后就能分析恶意软件并开发出防御方案或恶意软件(模块)签名。倘若我们是一个黑客,我们可能就能够在其他系统上再次使用捕获到的恶意软件。在一些情况下,我们需要重新设计恶意软件来作为其他用途,这比从头设计快得多,也更加有效。最关键的还是要捕获到恶意软件或模块。

        Dionaea

        Dionaea是由Markus Koetter 开发出交互能力相对较低的蜜罐,它通过模拟一台安装有攻击者通常所针对的HTTP、FTP、SSH、SMB等具有漏洞服务的Windows系统。其由C语言编写而成,但使用Python来模拟不同的协议来引诱攻击者。

        Dionaea是以一种机智的肉食捕蝇草所命名的,其名字的象征性显而易见。

        也许最重要的是它使用Libemu(一款用C语言实现的基于x86的shellcode检测的库)来检测和捕获Shellcode,并警告提示我们所捕获到的shellcode。Dionaea会即时通过XMPP发送给我们攻击提示然后将日志写入到数据库中。

        Libemu

        Libemu是一款基于C语言的模拟x86和shellcode检测库,其在蜜罐中表现完美。它能够将恶意软件离线拖出蜜罐并通过其内置文档为我们分析启发式恶意行为提供帮助。

        这是一种具有比较先进的技术的蜜罐,本不该由初学者使用。另外,我不建议大家在有其他用途的系统上使用这种蜜罐,因为我们所安装的库和其他代码可能会使得我们系统中部分功能无法使用。

        同时,Dionaea呈现出漏洞性,这意味着如果漏洞具有损害性质的话,你整个系统可能都会被损害。所以你应该全新安装该蜜罐,比如在Debian或者Ubuntu系统上。以下是在Ubuntu 14.04上如何全新安装该蜜罐。

        第一步:安装依赖

        Dionaea是一个复杂的软件,同时也需要依赖于许多Ubuntu或者其他Debian通常的发行版本中所没有库和模块。因此,我们在安装和配置之前需要安装好依赖。这个过程会比较费时乏味。

        首先,我们需要下载并安装以下安装包:

ubuntu > 
apt-get install libudns-dev libglib2.0-dev libssl-dev libcurl4-openssl-dev libreadline-dev libsqlite3-dev python-dev libtool automake autoconf build-essential subversion git-core flex bison pkg-config libnl-3-dev libnl-genl-3-dev libnl-nf-3-dev libnl-route-3-dev sqlite3

        幸运的是,Andrew Michael Smith 已经为我们写了一键安装包。我们可以通过wget方式从Github下载下来:

wget –q https://raw.github.com/andrewmichaelsmith/honeypot-setup-script/master/setup.bash-O /tmp/setup.bash && bash /tmp/setup.bash

http://p0.qhimg.com/t01d1a0029babd8cefe.jpg

        该安装脚本会帮助我们下载需要的依赖和应用(p0f,SQLite等),然后安装并配置好Dionaea。

http://p6.qhimg.com/t01a9e232549ddd6688.jpg

        这一步需要耐心等待一段时间

        第二步:选择接口

        在现在所有的应用和依赖后,Dionaea将会开始自己配置并询问你希望蜜罐监听的接口。这里,我选择eth0,你的接口也许不一定是这个,依据自身需要而定。

http://p9.qhimg.com/t017bf251baae5c8602.jpg

        最后,下载安装成功完成后会显示如下(p0f和Dionaea已经开启):

http://p1.qhimg.com/t01142730d6ff9bdd61.jpg

        第三步:测试安装

        以上步骤都完成之后,我们可以通过以下命令行来测试Dionaea是否正确安装成功:

ubuntu > dionaea -help


http://p8.qhimg.com/t01edeec5880a3a7aa6.jpg

        如果你的屏幕上也是如上所示,那么恭喜你已经成功安装了Dionaea!

        配置Dionaea

        现在我们的蜜罐已经开启并运行了。在后续的教程中,我会向大家展示如何在即时攻击中让蜜罐警告提示,如何识别攻击者的OS、IP、所使用的浏览器、接口,以及捕获攻击和分析所使用的shellcode。

        另外,我们需要在将其上线之前使用Metasploit和其他攻击工具来测试蜜罐是否能够捕获恶意软件,后续教程,敬请期待!

本文翻译自360安全播报 原文链接。如若转载请注明出处。
分享到:微信
+11赞
收藏
360U567030850
分享到:微信

发表评论

内容需知
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全客 All Rights Reserved 京ICP备08010314号-66