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

Infection Monke:数据中心边界及内部服务器安全检测工具
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上下载。

*参考来源:Github,FB小编dawner编译,转载请注明来自FreeBuf(FreeBuf.COM)

本文转自d1net(转载)

上一篇:反射API(二)


下一篇:关于hp proliant sl210t服务器raid 1阵列配置