用于孤立恶意软件分析的网络漏洞
netsink的Python项目详细描述
用于隔离恶意软件分析的网络漏洞。
概述
netsink是一个网络守护进程,它将绑定到任意数量的已配置IP端口 并提供虚假服务,试图说服运行中的恶意软件 互联网连接。
开始
使用pip:
安装pip install netsink
使用默认配置启动netsink侦听器 (您需要管理员/根访问权限才能绑定到专用端口):
sudo netsink
您将看到类似于以下内容的输出,显示绑定端口:
2013-03-03 21:01:02,710 [netsink] INFO: Listener 'http' awaiting TCP activity on port/s [80, 8000, 8080, 8090] 2013-03-03 21:01:02,717 [netsink] INFO: Listener 'https' awaiting SSL activity on port/s [443, 8443] 2013-03-03 21:01:02,726 [netsink] INFO: Listener 'dns' awaiting UDP activity on port/s [53] 2013-03-03 21:01:02,726 [netsink] INFO: Waiting...
要进行测试,请在同一主机上打开浏览器并导航到https://127.0.0.1/testing并 您应该会看到一个netsink响应页面。
客户端设置
为了有用,必须强制客户机将其流量重定向到服务 在netsink主机上。这可以通过几种方式实现。
静态DNS配置
netsink包含将播发的DNS服务器 自身作为任何客户端DNS请求的目标(或以其他方式配置)。 更改客户端的网络接口以使用netsink主机地址作为其 DNS服务器。如果使用^{tt8},还将默认网关设置为netsink主机$ 重定向,以捕获直接IP地址通信尝试。
dhcp配置
但是,如果 使用操作系统的dhcp服务器包在unix/linux平台上安装 可以有效(例如在ubuntu上isc-dhcp-server)。设置netsink主机 作为DNS和客户端默认网关返回的地址。设置客户的 自动获取地址的网络接口。
要进行测试,请确保已将任何更改应用于客户端的网络接口。 在Windows上,在命令窗口中:
ipconfig /all
netsink主机的地址应列为适用网络上的dns服务器 接口现在打开客户端上的Web浏览器并导航到www.google.com 而是应该看到netsink响应页和服务器上记录的dns/http请求。
目标
主要项目目标是:
- 为恶意软件提供通信端点,以协助执行和引发网络流量。
- 直接安装。对于大多数场景,应该是开箱即用的,配置最少。
- 易于配置和扩展。添加自定义服务和响应处理应该尽可能简单。
功能
- 基于简单配置文件的DNS重定向
- 基于url regex的http/https静态文件服务
- 模拟已知的外部IP地址查找站点(感谢ipgetter的编译列表)
- 用于捕获连接和通道连接的IRC服务等。
- 包括auth和starttls支持的smtp/esmtp服务器
- FTP服务器支持
- 监听端口范围易于配置,并与处理流量的模块分离。
- 支持iptables 的平台的自动连接重定向
- 通用端口侦听器,可通过数据包检查发送到其他模块
计划增加:
- 用于自动配置客户端的内部DHCP服务器
- 扩展可用的假冒服务,包括POP3、IMAP、TFTP等。
- 可插拔的假C2服务器
- 更好的文档
问题
netsink的源代码托管在GitHub上。任何错误报告或功能 可以使用github的issues system发出请求。