如何设置自己的Dionaea蜜罐来收集恶意软件样本

简介

许多安全人员都热衷于恶意软件的逆向工程。在本文中我将教大家设置一个自己的Dionaea蜜罐,来协助我们恶意软件样本的收集工作。

本文将主要讨论在Amazon Web Services(AWS)上的蜜罐设置步骤。如果你并不熟悉AWS,则我建议你可以先去对AWS做个基本的了解,这样会更有利于你的理解。需要提醒大家的是,如果你有一个硬盘空间小于50GB的微型实例,你将获取到一个免费的服务器。但你必须提供你的信用卡信息给AWS,只要你保持在免费限额内就可以永久的免费使用它。你也可以启动n个微型实例,但要注意即便这样你也只能获得一个月的小时数。例如你将两个微型实例分开,每个只能分配一半,而且一旦超额就将被收费。这一点大家一定要注意!

FB百科

Dionaea是一款低交互式蜜罐,是Honeynet Project 的开源项目。Dionaea 蜜罐的设计目的是诱捕恶意攻击,获取恶意攻击会话与恶意代码程序样本。它通过模拟各种常见服务,捕获对服务的攻击数据,记录攻击源和目标 IP、端口、协议类型等信息,以及完整的网络会话过程,自动分析其中可能包含的shellcode及其中的函数调用和下载文件,并获取恶意程序。

所需技能

了解常用的Linux命令 对网络知识具有一定的理解

服务器

服务器(强烈推荐AWS,免费提供w/ CC)

免责声明(可选)

一些托管服务提供商并不喜欢恶意软件。因此,他们可能也不会允许你在他们的服务器上收集恶意软件样本。

AWS设置

现在我们开始设置AWS实例。(如果您未使用AWS,请跳至下一部分)

1.单击EC2并创建新实例(EC2 == AWS Servers)。之后,选择Ubuntu Server 14.04 LTS。

2.然后,选择微型实例类型。

3.很好,对于Configure Instance Details步骤,选择“Auto-assign Public IP”项,并将其设置为“Enable”。

4.对于存储配置,只需添加默认值并单击“Next”即可。

5.在添加标签中我们直接单击"Next"。

6.默认情况下,AWS仅开放了SSH端口。因此,我们必须更改此设置,让服务器开放所有端口。虽然这么做很不安全,但这是本文当中的一个重点。

7.启动

8.这部分可能会有点复杂。通过SSH连接到你的服务器实例,更改私钥(something.pem)的权限,以便ssh可以使用它。从你的实例获取你的主机名。其通常位于Public DNS (IPv4 )下

在本地输入以下命令,连接AWS服务器

$ sudo chmod 400 /home/user/Downloads/key.pem
$ ssh -i /home/user/Downloads/key.pem ubuntu@ec2-13-57-45-50.us-west-1.compute.amaonaws.com

服务器设置

让我们来更新下软件包,命令如下:

$ sudo su
# apt-get update; apt-get upgrade -y; apt-get dist-upgrade;

依赖项安装:

# apt-get install git -y
# git clone https://github.com/DinoTools/dionaea 19
# apt-get install build-essential cmake check cython3 libcurl4-openssl-dev libemu-dev libev-dev libglib2.0-dev libloudmouth1-dev libnetfilter-queue-dev libnl-3-dev libpcap-dev libssl-dev libtool libudns-dev python3 python3-dev python3-bson python3-yaml ttf-liberation
# mkdir build
# cd build
# cmake -DCMAKE_INSTALL_PREFIX:PATH=/opt/dionaea …
# make
# make install
# cd /opt/dionaea/

好的,现在的位置是配置文件dionaea.cfg所在位置。

该文件用于指定你的恶意软件/二进制文件的位置,以及侦听的接口和端口。你可以保留这些默认值,但请记住,日志文件会变大。 就比如我恶意软件大约1个G但却有19G的日志。

Dionaea有许多不同的服务,可以让你的蜜罐对更多类型的攻击开放。因此,你会收集到更多的恶意软件。我们可以通过services-available和services-enabled目录来切换这些设置。通过编辑各个yaml文件,可以编辑服务以及它对黑客/机器人的显示方式。例如想受到SMB攻击,比如...... WannaCry,则你需要设置你的服务器以接受smb。

# vim services-enabled/smb.yaml

如果要启用默认的Windows 7设置,只需取消Win7注释符即可。其它的也一样,我就不多说了!

最后,我们来运行我们的蜜罐。

# /opt/dionaea/bin/dionaea -D

总结

说实话,第一次设置并运行dionaea着实花了我不少的时间。而第二次尝试我仅用了16分钟。如果在此过程中,你遇到了一些自己没法解决的问题,请尝试翻阅他们的官方文档(https://dionaea.readthedocs.io/en/latest/run.html),或在相关的技术论坛提问以寻求解决方案。

*参考来源:0x00sec,FB小编 secist 编译,转载请注明来自FreeBuf.COM

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-07-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏信安之路

Pentester Lab SQL to shell

首先先介绍一款工具,个人觉得老牛逼——Netdiscover,之前我询问一哥们arp扫描工具时他推荐的。

10100
来自专栏晨星先生的自留地

黑客技能训练之攻破VulnOS 2

29430
来自专栏Netkiller

Linux Token Auth 一次性密码认证

Linux Token Auth 一次性密码认证 摘要 服务器端脚本: https://github.com/oscm/devops/blob/master/b...

33330
来自专栏FreeBuf

Kali Linux渗透基础知识整理(四):维持访问

*本文原创作者:sysorem 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限。使用木马程序、后门程序和rootkit来达到这一目的。...

39180
来自专栏Golang语言社区

跳出Go module的泥潭

Go 1.11 前天已经正式发布了,这个版本包含了两个最重要的feature就是 module和web assembly。虽然也有一些简单的教程介绍了go mo...

49630
来自专栏CSDN技术头条

Kubernetes推1.2版本,可管理1000节点,运行3万Pods

赶在Google云端产品用户大会之前,Kubernetes也释出了1.2新版。超过680位开源开发者参与。新版最大特色是扩充能力大幅提高了400%,单个集群可管...

21580
来自专栏Golang语言社区

Golang之chan/goroutine

最近在team内部培训golang,目标是看看golang能否被C工程师快速掌握。我定了个一个月,共计20小时的培训计划,首先花10个小时(两周,每天1小时)让...

38970
来自专栏魏艾斯博客www.vpsss.net

解决 Memcached telnet:connect to address 127.0.0.1:Connection refused

有一次魏艾斯博客重启了一下服务器,然后就发现打开网站速度没有之前快了,按照MemcacheD 缓存是否启用成功及命中率检查的办法建立了 phpinfo 文件,检...

90610
来自专栏Java架构

今咱们来聊聊JVM 堆外内存泄露的BUG是如何查找的前言内存泄露Bug现场查找线索总结

36540
来自专栏编程之旅

Liunx的文件权限

之前讲过为了统一开发环境生产环境以及更换开发机器的情况,我把环境统一由Vagrant部署在Linux的虚拟机中,但是由于我对Linux系统没有系统的学习过,对于...

11910

扫码关注云+社区

领取腾讯云代金券