Infection Monkey | 数据中心边界及内部服务器安全检测工具

Infection Monkey是一款由以色列安全公司GuardiCore在2016黑帽大会上发布的数据中心安全检测工具,其主要用于数据中心边界及内部服务器安全性的自动化检测。

该工具在架构上,则分为Monkey(扫描及漏洞利用端)以及C&C服务器(相当于reporter,但仅仅只是用于收集monkey探测的信息)。

工具特性

1.多种传播攻击技术:

默认口令攻击 常用exp攻击

2.多种exp利用途径:

SSH SMB RDP WMI Shellshock

3.C&C服务器端有着专门的可视化数据中心UI界面。

运行平台

C&C服务器在Ubuntu 14.04、15.04和16.04能完美运行。

Monkey在Windows XP、8.1和10上测试过,Linux版本已经在Ubuntu 14.04和15.10上测试过。

安装指导

大家如果需要这款工具的话,可以下载相应的debian包,根据我们的博客上的指南进行安装。另外,设置C&C服务器的方法请点击阅读原文。如果你想要自行编译二进制文件,可以根据指南利用源去进行build。

初始配置

无论你是直接下载或者编译源代码,Infection Monkey都由4个可执行文件组成(多平台),另外还附加一个默认的配置文件。

Monkey配置存储在两个地方:

1.Monkey的配置文件(默认config.bin),这个配置文件必须包括C&C服务器的地址。 2.在成功连接到C&C服务器后,Monkey会从上面下载一个新的配置文件(默认config.bin)来覆盖原来的配置。我们可以通过C&C服务器那边的主控端的UI界面,来修改默认的配置文件。

在上面两种情况下,命令服务器的主机名应该改为指向c&c服务器(注意这不需要马上连接)。此外,为了提升Monkey传播攻击的成功率,你可以使用证书和常用的用户名进行预配置。

两种配置方法都使用了JSON格式来指定选项,请参阅表格来阅读更多的内容。

运行CC服务器

为了运行C&C服务器,我们需要在特定的服务器上安装我们infected Monkey的debian包,而初始的Monkey机器并不需要直连到C&C服务器。

释放Monkey

当配置完成后,咱们应该运行:

./monkey-linux-64 m0nk3y -c config.bin -s 41.50.73.31:5000

这条命令,可以在网络中多点同时运行。

命令行选项包括:

-c, –config: 指定JSON配置文件,可以用来覆盖默认的配置 -p, –parent: 设置monkey的父uuid,以便C&C服务器端更好地分类识别monkey -t, –tunnel: ip:port, 为Monkey设置默认连接C&C服务器的隧道 -d, –depth : 设置Monkey当前的检测深度

Monkey是如何工作的

1.唤醒与C&C服务器的连接,向C&C服务器发送当前机器的基本信息,以及Monkey使用的配置:

首次尝试直接连接到C&C服务器 如果直连失败,它会尝试通过隧道进行连接(默认隧道,或者多播请求其他Monkey响应得到的隧道) 如果没有连上C&C服务器,Monkey会自行运行

2.如果当前机器上有防火墙,它会尝试添加规则来允许我们的流量通过(支持win xp和win 7+的防火墙)。

3.向其他Monkey开放隧道(如果自身能连接到C&C服务器):

检查防火墙是否允许监听套接字(如果我们没能在windows防火墙添加流量通行规则,隧道是不会创建成功的) 响应其他Monkey寻找隧道的多播请求

4.运行exp会话,会根据配置启动N个会话:

连接到C&C服务器,获取最新的配置 根据配置扫描IP段 在配置里定义SMBFinger, SSHFinger等指纹库,尝试分析各个主机的响应包,进而对它们进行指纹识别 尝试在发现的主机上,根据指纹尝试exp攻击 检索出适合目标主机的exp 各个exp都会根据指纹识别的数据,对各主机进行专项打击 如果没有找到合适的,exp就会利用失败 exp利用成功的主机,在接下来的攻击里会忽略掉 会跳过所有exp都利用失败的主机(可以在配置里禁用)

5.会在monkey使用隧道清理添加的防火墙规则后,将隧道关闭。

下载相关

点击阅读原文,查看官方下载地址。

*参考来源:Github,FB小编dawner编译,未经许可禁止转载

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

原文发表时间:2016-09-12

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

一种会话劫持技术通杀全部Windows版本,但这真的是漏洞吗…

大家知道本地系统访问权限的Windows用户可以重置其他用户的密码,但其实,本地权限用户还可以劫持其他用户的会话呢,包括管理员用户,而这个过程不需要知道用户密码...

25650
来自专栏北京马哥教育

10个实用的Django建议

Django 作为一个杰出的Python开源框架,或许得不到和其它流行框架如Rails这样多的赞美,但是它和其他框架一样精炼,非常注重DRY(Don’t Rep...

42980
来自专栏数据和云

【推荐】 RAC 性能优化全攻略与经典案例剖析

ORACLE RAC凭借其卓越的容错能力和可扩展性以及对应用透明的切换能力引领了数据库高可用架构的潮流,但在实际的生产环境中,出现的性能问题非常多,对数据库的稳...

35070
来自专栏高性能服务器开发

(八)高性能服务器架构设计总结1——以flamigo服务器代码为例

这篇文章算是对这个系列的一个系统性地总结。我们将介绍服务器的开发,并从多个方面探究如何开发一款高性能高并发的服务器程序。

18920
来自专栏前端桃园

【前端每日一题 01】Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?

16450
来自专栏琯琯博客

awesome-sysadmin-cn资源

系统管理员 资源列表,内容包括:备份/克隆软件、云计算/云存储、协作软件、配置管理、日志管理、监控、项目管理 备份 备份软件 Amanda:客户端-服务器模型备...

732120
来自专栏deed博客

天天酷跑破解版制作教程

17850
来自专栏CBS云硬盘

腾讯云CBS云硬盘使用上的几个小技巧

40010
来自专栏数据和云

故障恢复:从未知错误ORA-600 [3712]以猜测推理达成恢复

李真旭 Oracle ACE,云和恩墨技术专家 个人博客:www.killdb.com 在Oracle数据库的日常维护中,我们可能经常会遇到一些从未见过的错误,...

31560
来自专栏Golang语言社区

社区leaf学习笔记|05. 游戏玩家注册、登陆(上)

首先 我们需要增加玩家注册、登陆的协议,消息结构定义在server\msg\msg.go中,但是为了便于查找建议单独建立文件 例如 如下图 建立目录:serve...

13010

扫码关注云+社区

领取腾讯云代金券