网络安全监控实战(一):Snort,Wazuh&VT

So what is NSM?

NSM(Network Security Monitoring)是一种在你的网络上发现入侵者,并在他们危害你的企业之前对其采取行动的方法。NSM赋予了我们检测、响应及控制入侵者的能力。NSM操作旨在检测对手,响应他们的活动,并在他们能够完成任务前控制他们。与防火墙、IPS工具不同,NSM不是阻塞、过滤或拒绝技术。它是一种关注可见性(visibility)的战略。

网络安全监控运用于各种情景中,其中包括恶意软件检测、威胁情报、检测安全漏洞及自动执行补救任务等。要实现网络安全监控,就必须大量地收集、处理和分析数据源(包括全包捕捉、IDS报警事件、防火墙日志、VPN日志、网络设备日志等)。

网络安全监控应用情景

网络安全监控数据源

在继续之前先问问我们自己这样一个问题:

假设你得到了一个恶意文件的散列(从IDS报警或任意第三方威胁情报平台),你会如何判断它是否曾经在你的网络上?

目录:

1.Snort的文件还原功能介绍

2.配置Snort的文件还原(File extraction/file carving)功能

3.配置Wazuh实时监控Snort还原的文件和集成VirusTotal

1.Snort文件还原功能介绍

文件还原能力是NIDS系统非常重要的一个特性,

1.1)Snort的文件还原功能支持主流的文件传输协议如HTTP、SMTP、POP3、IMAP、FTP、SMB。支持SHA256文件签名计算。

1.2)依赖以下功能:1.TCP流会话跟踪功能。2.IP分片重组。3.需启用HTTP, SMTP, IMAP, POP3, FTP, 和 SMB任一预处理器。

1.3)snort 2.9.6.0开始支持文件还原功能。

2.配置Snort的文件还原(File extraction或file carving)功能

2.1)编译选项(--enable-file-inspect)

cd ~/snort_src

wget https://snort.org/downloads/snort/snort-2.9.11.1.tar.gz

tar -xvzf snort-2.9.11.1.tar.gz

cd snort-2.9.11.1

./configure --enable-file-inspect --enable-sourcefire

make

make install

创建文件存储目录:

mkdir /data/snort

2.2)配置

vi /etc/snort/snort.conf

config paf_max: 16000

preprocessor frag3_global: max_frags 65536

preprocessor frag3_engine: policy windows detect_anomalies overlap_limit 10 min_fragment_length 100 timeout 180

preprocessor stream5_global: track_tcp yes, \

... 省略

preprocessor http_inspect: global iis_unicode_map unicode.map 1252 compress_depth 65535 decompress_depth 65535

preprocessor http_inspect_server: server default \

http_methods { GET POST PUT SEARCH MKCOL COPY MOVE LOCK UNLOCK NOTIFY POLL BCOPY BDELETE BMOVE LINK UNLINK OPTIONS HEAD DELETE TRACE TRACK CONNECT SOURCE SUBSCRIBE UNSUBSCRIBE PROPFIND PROPPATCH BPROPFIND BPROPPATCH RPC_CONNECT PROXY_SUCCESS BITS_POST CCM_POST SMS_POST RPC_IN_DATA RPC_OUT_DATA RPC_ECHO_DATA } \

... 省略

preprocessor file_inspect: type_id, signature, capture_disk /data/snort/ 102400, capture_queue_size 5000

:启用文件类型标识

:启用文件签名计算

:将文件存储到dir中指定的目录,并捕获不超过磁盘大小(以兆字节为单位)。 如果达到此限制,则不再捕获文件。

:设置可以排队处理的最大文件数(保存到磁盘或发送到网络)。

include file_magic.conf

config file:\

file_type_depth 16384, \ # 最大文件深度来识别文件类型,0代表没有限制。单位:bytes

file_capture_max 4294967295 # 文件的最大值,范围:0-4G,单位:bytes

2.3)添加测试规则

cat /etc/snort/rules/local.rules

alert tcp any any -> any any (msg:"PNG"; content:"|89 50 4E 47 0D 0A 1A 0A|"; offset:0;sid:1000000)

alert tcp any any -> any any (msg:"JPEG"; content:"|FF D8 FF E0|"; sid:1000001)

alert tcp any any -> any any (msg:"PDF"; content:"|25 50 44 46 2D 31 2E 37|"; offset:0; sid:10000002)

2.4)测试

snort -A console -i eth0 -u snort -g snort -c /etc/snort/snort.conf

wget http://192.168.1.1/Snort.png # 注意是http协议

3.配置Wazuh实时监控Snort还原的文件和集成VirusTotal

3.1)安装Wazuh

参考:https://documentation.wazuh.com/current/installation-guide/index.html

3.2)Wazuh集成VirusTotal配置

# 注意:以下操作均在Wazuh Manager上

pip install requests

vi /var/ossec/etc/ossec.conf

virustotal

VT API KEY

syscheck

json

...

/data/snort

...

/var/ossec/bin/ossec-control enable integrator

/var/ossec/bin/ossec-control restart

3.3)测试

chown -R snort:ossec /data/snort

snort -A console -i eth0 -u snort -g snort -c /etc/snort/snort.conf

wget http://192.168.1.1/Snort.png

wget http://192.168.1.1/1.exe

总结:

本文探讨了一种使用Snort、Wazuh和VirusTotal,实现自动识别通过网络传输的恶意文件的方式。识别流量中的文件是网络安全监控中非常重要的一环,当然这只是开始。

诚邀有丰富攻防经验的朋友一起交流!

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180526G0186200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券