也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大
少走了弯路,也就错过了风景,无论如何,感谢经历
Windows下手把手教Snort的安装与配置
0x01 Snort 规则集类别
- app-detect.rules – 此类别包含查找和控制生成网络活动的某些应用程序的流量的规则。此类别将用于控制应用程序行为方式的各个方面
- blacklist.rules – 此类别包含已确定为恶意活动指标的 URI、USER-AGENT、DNS 和 IP 地址规则。这些规则基于来自 Talos 病毒沙箱的活动、恶意 URL 的公共列表和其他数据源
- browser-chrome.rules – 此类别包含对 Chrome 浏览器中存在的漏洞的检测。(这与“ browser-webkit ”类别是分开的,因为 Chrome 有足够的漏洞可以分解成它自己的,虽然它使用 Webkit 渲染引擎,但 Chrome 还有很多其他功能)
- browser-firefox.rules – 此类别包含对 Firefox 浏览器或具有“Gecko”引擎的产品中存在的漏洞的检测(雷鸟电子邮件客户端等)
- browser-ie.rules - 此类别包含对 Internet Explorer 浏览器(Trident 或 Tasman 引擎)中存在的漏洞的检测
- browser-webkit – 此类别包含对 Webkit 浏览器引擎(Chrome 除外)中存在的漏洞的检测,包括 Apple 的 Safari、RIM 的移动浏览器、诺基亚、KDE、Webkit 本身和 Palm
- browser-other – 此类别包含对上面未列出的其他浏览器中的漏洞的检测
- browser-plugins – 此类别包含对浏览器中处理浏览器插件的漏洞的检测(例如:Active-x)
- content-replace – 此类别包含任何利用 Snort 内部“替换”功能的规则
- deleted – 当规则已被弃用或替换时,它会移至此类别。规则永远不会从规则集中完全删除,它们被移到这里
- exploit -这是一个较旧的类别,很快就会被弃用。此类别以通用形式查找针对软件的漏洞利用
- exploit-kit – 此类别包含专门用于检测漏洞利用工具包活动的规则。这不包括“妥协后”规则(因为那些将在indicator-comromise中)。由于访问漏洞利用工具包而丢弃的文件将位于其各自的文件类别中
- file-executable – 此类别包含针对通过可执行文件发现或传递的漏洞的规则,无论平台如何
- file-flash - 此类别包含针对通过闪存文件发现或传递的漏洞的规则。无论是被攻击的交付方式平台,压缩或未压缩
- file-image - 此类别包含在图像文件中发现的漏洞的规则。无论交付方法、被攻击的软件或图像类型如何。(示例包括:jpg、png、gif、bmp 等)
- file-identify - 此类别是通过文件扩展名、文件中的内容(文件魔术)或流量中找到的标头来识别文件。此信息通常用于然后设置要在不同规则中使用的流位
- file-java - 此类别包含 Java 文件 (.jar) 中存在的漏洞规则
- file-multimedia - 此类别包含多媒体文件(mp3、电影、wmv)内部存在的漏洞规则
- file-office - 此类别包含属于 Microsoft Office 软件套件的文件中存在的漏洞规则。(Excel、PowerPoint、Word、Visio、Access、Outlook 等)
- file-pdf – 此类别包含针对 PDF 文件内部发现的漏洞的规则。无论创建方法、交付方法或 PDF 影响的软件(例如,Adobe Reader 和 FoxIt Reader)
- file-other – 此类别包含文件中存在的漏洞规则,不属于上述其他类别
- indicator-compromise – 此类别包含的规则显然仅用于检测积极受损的系统,可能会出现误报
- indicator-obfuscation– 此类别包含明确仅用于检测混淆内容的规则。就像编码的 JavaScript 规则一样
- indicator-shellcode – 此类别包含的规则只是在流量中寻找简单的 shellcode 识别标记。这取代了旧的“shellcode.rules”
- indicator-scan - 此类别包含仅在网络流量中寻找扫描指示的规则。这取代了旧的“ scan.rules ”
- malware-backdoor – 此类别包含用于检测发往已知侦听后门命令通道的流量的规则。如果一个恶意软件打开一个端口并等待其控制功能的传入命令,这种类型的检测将在这里。一个简单的示例是检测 BackOrifice,因为它侦听特定端口,然后执行发送的命令
- malware-cnc - 此类别包含已知的恶意命令和控制活动,用于识别的僵尸网络流量。这包括回拨、下载丢弃的文件和过滤数据。从“Master to Zombie”类型的东西发出的实际命令也将在这里
- malware-tools- 此类别包含处理可被视为恶意工具的规则。例如,LOIC
- malware-other - 此类别包含与恶意软件相关但不属于其他“恶意软件”类别之一的规则
- os-linux – 此类别包含在基于 Linux 的操作系统中寻找漏洞的规则。不适用于浏览器或上面的任何其他软件,而只是针对操作系统本身
- os-solaris – 此类别包含在基于 Solaris 的操作系统中寻找漏洞的规则。不适用于操作系统之上的任何浏览器或任何其他软件
- os-windows – 此类别包含在基于 Windows 的操作系统中寻找漏洞的规则。不适用于操作系统之上的任何浏览器或任何其他软件
- os-mobile - 此类别包含在基于移动的操作系统中寻找漏洞的规则。不适用于操作系统顶部的任何浏览器或任何其他软件
- os-other – 此类别包含正在查找上面未列出的操作系统中的漏洞的规则。 策略多媒体- 此类别包含检测潜在违反多媒体策略的规则。例如检测网络上 iTunes 的使用情况。这不适用于在多媒体文件中发现的漏洞,就像在file-multimedia中那样
- policy-social - 此类别包含用于检测潜在违反公司网络政策以使用社交媒体的规则(p2p、聊天等)
- policy-spam – 此类别适用于可能指示网络上存在垃圾邮件的规则
- policy-other – 此类别适用于可能违反最终用户公司政策的规则,不属于任何其他政策类别
- protocol-dns - 此类别适用于可能指示存在 dns 协议或网络上 dns 协议中的漏洞的规则
- protocol-finger – 此类别适用于可能指示网络上存在手指协议或手指协议漏洞的规则
- protocol-ftp – 此类别适用于可能指示存在 ftp 协议或网络上 ftp 协议中的漏洞的规则
- protocol-icmp – 此类别适用于可能指示网络上存在 icmp 流量或 icmp 漏洞的规则
- protocol-imap – 此类别用于可能指示 imap 协议的存在或网络上 imap 协议中的漏洞的规则
- protocol-nntp - 此类别适用于可能指示网络上存在 nntp 协议或 nntp 协议中的漏洞的规则
- protocol-pop – 此类别适用于可能指示存在 pop 协议或网络上 pop 协议中的漏洞的规则
- protocol-rpc - 此类别适用于可能指示存在 rpc 协议或网络上 rpc 协议中的漏洞的规则。
- protocol-scada - 此类别适用于可能指示存在 scada 协议或网络上 scada 协议中的漏洞的规则
- protocol-services - 此类别适用于可能指示存在 rservices 协议或网络上 rservices 协议中的漏洞的规则
- protocol-snmp - 此类别适用于可能指示网络上存在 snmp 协议或 snmp 协议中的漏洞的规则
- protocol-telnet - 此类别适用于可能指示存在 telnet 协议或网络上 telnet 协议中存在漏洞的规则
- protocol-tftp - 此类别用于可能指示网络上存在 tftp 协议或 tftp 协议中的漏洞的规则
- protocol-voip – 此类别适用于可能指示网络上 voip 协议中存在 voip 服务或漏洞的规则
- protocol-other - 此类别用于查找协议或协议中的漏洞的规则,但不适合其他“协议”规则文件之一
- pua-adware - 此类别处理“pua”或处理广告软件或间谍软件的潜在不需要的应用程序
- pua-p2p – 此类别处理“pua”或处理 p2p 的潜在不需要的应用程序
- pua-toolbars – 此类别处理“pua”或可能不需要的应用程序,这些应用程序处理安装在客户端系统上的工具栏。(Google 工具栏、Yahoo 工具栏、Hotbar 等)
- pua-other – 此类别处理不属于上述类别之一的“pua”或可能不需要的应用程序
- server-apache – 此类别处理 Apache Web 服务器的漏洞或攻击
- server-iis - 此类别处理 Microsoft IIS Web 服务器中的漏洞或攻击
- server-mssql - 此类别处理 Microsoft SQL Server 中的漏洞或攻击
- server-mysql – 此类别处理 Oracle MySQL 服务器的漏洞或攻击
- server-oracle – 此类别处理 Oracle 的 Oracle 数据库服务器中的漏洞或攻击
- server-samba - 此类别处理 Samba 服务器中的漏洞或攻击
- server-webapp – 此类别处理服务器上基于 Web 的应用程序的漏洞或攻击
- server-mail – 此类别包含检测邮件服务器漏洞的规则。(交换,快递)。这些与协议类别是分开的,因为它们处理流向邮件服务器本身的流量
- server-other – 此类别包含检测以上列表中未详细说明的服务器中的漏洞或攻击的规则
- sql - 此类别包含检测 sql 注入或其他针对 sql 类服务器的漏洞的规则
- x11 - 此类别包含检测 x11 使用情况或存在针对 x11 等服务器的其他漏洞的规则
0x02 Windows Snort2 安装
- npcap安装
需要一个npcap环境依赖
- Windows Snort2安装
snort -ev
0x03 下载规则
较新免费版的规则下载,需要注册账号
https://www.snort.org/users/sign_up
下载安装的对应Snort的版本,博主同学此次安装的是Snort 2.9.19,那就下载对应的版本的规则即可
查看不同版本规则每次新增的区别文档,如下:
https://www.snort.org/downloads#rules
0x04 配置snort.conf规则文件
使用记事本或编辑器打开安装目录下的
/etc/snort.conf
文件,更改以下位置的配置代码(其中的路径改为自己的安装目录):
接下来,编辑“snort conf”文件,以指定正确的路径,使snort能够找到规则文件和分类文件
- 修改设置监测包含的规则,在配置文件末尾,定义了与规则相关的配置
var RULE_PATH D:/Snort/rules
var SO_RULE_PATH D:/Snort/so_rules #so_rules 需要自己手动创建
var PREPROC_RULE_PATH D:/Snort/preproc_rules
- 配置文件黑白名单并生效
#Set the absolute path appropriately
var WHITE_LIST_PATH D:/Snort/rules/iplists
var BLACK_LIST_PATH D:/Snort/rules/iplists
whitelist $WHITE_LIST_PATH/default.whitelist, \
blacklist $BLACK_LIST_PATH/default.blacklist
- 配置动态加载的库
#pathto dynamic preprocessor libraries
dynamicpreprocessor directory D:/Snort/lib/snort_dynamicpreprocessor/#pathto base preprocessor engine
dynamicengine D:/Snort/lib/snort_dynamicengine/sf_engine.dll
#pathto dynamic rules libraries
dynamicdetection directory D:/Snort/lib/snort_dynamicrules # 这一行要么注释掉,要么就在对应路径创建该文件,要不然会报错
- 修改配置文件Classification.conf(规则的警报级别相关的配置)和Reference.conf(提供更多警报相关信息的链接)的路径
#metadatareference data.do not modify these lines
include D:/Snort/etc/classification.config
include D:/Snort/etc/reference.config
- 配置事件过滤配置文件的路径
#Event thresholding or suppression commands. See threshold.conf
include D:/Snort/etc/threshold.conf
- 创建黑白名单文件
black_list.rules
white_list.rules
将压缩包里面的规则以及一些新的东西进行覆盖(其实只覆盖rules压缩文件即可),并将文件放至安装目录下的 rules、preproc_rules、so_rules文件夹中
- 配置Snort环境变量(Path)
- 运行Snort 并加载规则
snort -dev -l D:\Snort\log -h 192.168.1.0/24-c D:\Snort\etc\snort.conf
运行如下图:
PS:如果出现报错,请详细看报错信息,确认一下是否是配置文件配置错误,是否跟博主同学的配置一样或重启以管理员权限再试试,主要看你的报错信息来解决问题
参考链接:
https://www.jianshu.com/p/c6cc43facd20
https://www.snort.org/rules_explanation
你以为你有很多路可以选择,其实你只有一条路可以走
版权归原作者 橙留香Park 所有, 如有侵权,请联系我们删除。