浅谈蜜罐系统在内网的应用

(整期优先)网络出版时间:2020-10-22
/ 2

浅谈蜜罐系统在内网的应用

胡兴忠

中国人民解放军 31101部队 江苏省 南京市 210000

随着信息化技术的广泛应用,网络安全形势也越来越严峻,各种安全技术不断涌现与更新。蜜罐技术通过在网络中部署传感器节点,能够实时感知网络环境,延缓攻击,并将传感器的日志实时存储供以分析,可以为运维人员提供必要的支撑。

一、内网部署蜜罐系统的必要性

相对于传统的防火墙等技术,蜜罐是一种主动防御技术手段,使网络防御从被动变为主动,因而越来越受到运维人员的重视。一般来讲,攻击者在攻入内网后,为了达到目的,会进一步探测内网结构和重要信息资产,通常会对内网段进行扫描,从而掌握内网拓扑结构、汇总主机运行的服务。通过在网络中部署蜜罐系统,可以及时侦测到网络中的异常行为,引诱攻击者攻入蜜罐系统,可以延缓攻击,并据此了解攻击方所使用的工具与方法,推测攻击意图和动机,从而让运维人员清晰地了解他们所面对的安全威胁。

二、内网部署蜜罐系统的考量指标

随着网络攻防手段的不断发展,内网常见的攻击手段也在不断更新完善,如端口扫描、拒绝服务、暴力破解、ARP攻击、DNS劫持等,随着内网服务种类的增多,内网的攻击面也在不断扩大。一个好的蜜罐,应该做到如下几点:

1.支持广泛的协议和服务。蜜罐应能够模拟常见的应用协议和漏洞;能在TCP、UDP全端口捕获未知的恶意扫描;最好能支持分布式部署,提供足够广的覆盖面。

2.具备完备的日志记录。应记录攻击者足够多的信息,包括IP地址、账号等;应可以完成重现攻击者的攻击路径,便于分析攻击者的攻击思路和手法;应采用统一、简单的数据格式,存入数据库,便于后续日志分析。

3.具有丰富的报警手段。发现异常行为后,应支持短信、邮件等告警手段,第一时间警示运维人员。

三、常见的蜜罐系统

根据蜜罐系统的功能,我们可以初步将蜜罐分为以下几种类型:

(一)服务型蜜罐

Cowrie:中等交互式蜜罐,可以模拟ssh和telnet,用于记录攻击者执行的shell交互,还可以充当ssh和telnet代理,以观察攻击者对另一个系统的行为。

sshhipot: 高交互性蜜罐,可以模拟ssh。该蜜罐的高交互是因为它使用了代理模式,攻击者攻击蜜罐时,蜜罐就会连接真实主机,从而记录攻击者的操作日志。

UDPot Honeypot:中交互性蜜罐,可以模拟DNS服务。该蜜罐将所有请求记录到SQLite数据库,并具有可配置的交互级别。

rdpy-rdphoneypot:RDPY是基于Twisted Python实现的微软RDP远程桌面协议,其子项目rdpy-rdphoneypot是一个基于RDP的蜜罐,可以记录会话场景,并通过RDP协议来重放会话场景。

(二)web蜜罐

snare: 一个Web蜜罐,该蜜罐可克隆某个网站,可捕捉到web攻击载荷。可以配合tanner(评估HTTP请求并组成snare事件服务的响应)一起使用。

Glastopf:一个低交互蜜罐,可以捕捉当前网络中最流行的Web应用攻击方式。通过构造Dorklist漏洞关键字机制,可以有效诱惑攻击者上钩。



(三)蜜罐平台

很多蜜罐部署起来费时费力,容易出错,为了方便用户使用,提高部署效率,开源系统中涌现了很多蜜罐平台。

T-POT:直接提供一个系统ISO镜像,里面使用docker技术实现多个蜜罐,简化了用户部署,用户可以更加方便的进行蜜罐研究与数据捕获。基于docker技术提供了很多蜜罐容器:Conpot、Cowrie、Dionaea、Elasticpot、Emobility、Glastopf、Honeytrap、Conpot等,同时还提供了一些实用工具ELK、Elasticsearch-head、Netdata、Portainer、Suricate、Wetty,用以实现模块监控和日志呈现等功能。

HFish:一款基于 Golang 开发的跨平台蜜罐平台,其功能强大,不仅仅支持 HTTP(S)蜜罐,还支持 SSH、SFTP、Redis、Mysql、FTP、Telnet、暗网等,同时还有良好的扩展性,使用者可以随意扩展蜜罐模块。

MHN:集成了多种蜜罐的安装脚本,很大程度上简化了蜜罐的部署,可以快速部署、使用,也能够快速的从节点收集数据。通过MHN,可以实现快速部署多种类型的蜜罐并且通过web可视化界面显示蜜罐收集的数据,目前支持的蜜罐类型有Dionaea, Snort, Cowrie, glastopf等。

上面这些蜜罐大多是开源蜜罐系统,国内企业也推出了很多蜜罐系统的衍生版本,比如“幻阵”高级威胁狩猎与溯源系统、“幻云”欺骗防御与本地威胁情报平台、“谛听”(D-Sensor) 伪装欺骗系统等,值得关注研究。

四、典型蜜罐系统的部署与应用

Pentbox是一个有名的测试工具,可以帮助运维人员对网络、系统的安全性和稳定性进行测试。工具内部包含一个蜜罐功能,允许用户在主机上打开端口,并侦听传入连接。下面我们以安装Pentbox为例,介绍一下该蜜罐功能的部署与使用。

1.从网上下载Pentbox

wget http://downloads.sourceforge.net/project/pentbox18realised/pentbox-1.8.tar.gz

2.解压文件

tar -zxvf pentbox-1.8.tar.gz

3.进入Pentbox的目录

cd pentbox-1.8/

4.运行Pentbox

./pentbox.rb

此时,你会看到pentbox的功能菜单,如下图:

5f911b5381527_html_f2222a817c3481e8.png

5.选择2-Network tools,回车后弹出菜单信息如下:

5f911b5381527_html_7b17a98f5490fe6d.png

6.选择3-Honeypot,回车后弹出菜单信息如下:

5f911b5381527_html_5eb8e8cf5f0519c4.png

7.选择1-Fast Auto Configuration进行快速自动配置,回车后出现“honeypot activated on port 80”的提示。这时候,打开攻击机器的浏览器,输入蜜罐宿主机的IP地址并尝试连接,你会看到一个“access denied”的消息。

5f911b5381527_html_571ac2f8b571ad58.png

8.回到pentbox终端上,可以看到攻击机器的信息。

5f911b5381527_html_8a3eccf2e825ceea.png