本软件为参考 TeaPot 的思路写的,与 TeaPot 功能类似,支持端口转发,DNS 代理,端口连接检测。

编译说明

go build

配置说明

DNS 代理模块

DNS 代理模块通过代理 DNS 来检测 DNS 请求,当请求的域名为恶意域名时,返回本地 IP 地址,同时将请求的恶意域名打印到日志中。

配置参数如下:

dns_server 为默认的 DNS 服务器,代理 DNS 通过请求配置的DNS服务器来获取信息,同时将请求转发类本地 DNS 请求。

default_ip 为当识别为恶意域名,返回的IP地址。

    "dns_proxy": {
        "dns_server": "114.114.114.114",
        "default_ip": "127.0.0.1"
    },

端口转发模块

端口转发模块通过端口转发将流量转发到专业蜜罐中进行分析,建议不同的端口分配不同的蜜罐端口,将真实的业务端口隐藏在大量的虚假端口中,或者直接提示此服务器为蜜罐,做到真真假假,唱个空城计(笑~)。

配置参数如下:

listen 为监听的端口,支持的配置格式如 82,89,82,80-81

forward 为此端口要转发的远程端口,后期会支持负载均衡,暂时配置第一个就好。

端口转发可以配置多条转发规则。

    "port_forward": [{
        "listen": "82,89,82,80-81",
        "forward": [
            "127.0.0.1:7777",
            "127.0.0.1:8001"
        ]
    },
        {
            "listen": "9306",
            "forward": [
                "127.0.0.1:53"
            ]
        }
    ]

端口连接检测模块

实现原理为监听本地端口,当检测到端口有连接请求时,将请求打印到日志中。

配置参数如下:

ports 为监听的端口

    "port_conn_check": {
        "ports": "9999,8000-8001"
    },

进程检测模块

该模块每一分钟遍历一次进程,查询进程的网络连接,如果检测到外部连接IP在黑名单中,那么就打印此程序的位置到日志中,同时查询此程序文件的MD5 如果此程序的MD5在黑名单中,那么就打印日志。