记第一次使用suricata

1.安装

网上有许多安装方法,我试过用ubuntu21版安装,但失败了,好像用ubuntu18.04版安装会好一点,但我这里直接使用kali安装的(kali永远的神,我这用的2021最新版,kali越更新越好用),直接apt-get install suricata就安装好了,很快,感绝就像假的一样,但就是能用,之后就是安装签名(就是规则rules文件)就可以了,命令是suricata-update, 注意这是官方更新的rule规则,更新的配置文件存放在/var/lib/suricata/rules中,文件为classification.config和suricata.rules,需要cp/etc/suricata/rules中才能加载成功,不然会有如下错误:

11/8/2021 -- 11:45:41 - <Warning> - [ERRCODE: SC_ERR_NO_RULES(42)] - No rule files match the pattern /etc/suricata/rules/suricata.rules
11/8/2021 -- 11:45:41 - <Warning> - [ERRCODE: SC_ERR_NO_RULES_LOADED(43)] - 1 rule files specified, but no rules were loaded!

ps:这里的警告是表示在你的配置文件suricata.yaml中的最后配置中有个默认规则文件,配置的是suricata.rules,是存放在rules文件夹里,但现在你里面没有这个文件,所以会报错。
你也可以改成其他文件(记得放在rules文件夹中),启动的时候就是默认使用的是其他文件的规则。如下图,我自己写的测试规则文件this.rules,默认的官方文件suricata.rules被我注释掉了。

完成以上就基本安装完毕了。

这里说一下kali安装的重要文件的作用:

目录:
/etc/suricata/  存放suricata执行和配置文件的目录
/etc/suricata/rules 规则文件存放目录,自己之后写的也要放在这里
/var/log/suricata/  存放suricata日志的目录文件:
suricata.yaml   suricata的配置文件,重中之重,特别重要,位于/etc/suricata/下
suricata.rules  官方规则文件,存放在/etc/suricata/rules中
fast.log    警告日志文件,存放在/var/log/suricata/下,匹配的输出都在这里

2.基本使用

使用前注意看看suricata.yaml文件开头的HOME_NET和EXTERNAL_NET有没有配置成any,没有的话改一下。

简单介绍一下一种最简单的使用方法:

suricata -c /etc/suricata/suricata.yaml -i eth0
(使用suricata.yaml规则在eth0上开启监控服务)
cat /var/log/suricata/fast.log    (查看告警日志)

现在开始使用suricata写一条百度触发规则

alert http any any -> any any (msg:"hit baidu.com...";content:"baidu"; reference:url, www.baidu.com;)
保存为test.rules文件放在程序主目录/etc/suricata下
可以这样启动,但不建议,可能会出错:

suricata -c /etc/suricata/suricata.yaml -i eth0 -s test.rules
规范一点,最好将文件放在rules文件夹下,然后去suricata.yaml配置文件里修改我上面说的rule-files,在倒数30行左右,将原来的suricata.rules注释掉,写上test.rules.
然后直接启动抓包

suricata -c /etc/suricata.yaml -i eth0
打开浏览器访问baidu.com,然后cat /var/log/suricata/fast.log查看fast.log文件有没有日志.很可能没有,随便输入几个字符搜索看看有没有日志,可能有也可能没有,有时候有,有时候又没有,这是我遇到过的情况。
可能的原因我总结一下:
1.可能是你的虚拟机给的cpu核不够,抓不过来,掉包了(这条原因不需要管它)
2.可能是浏览器有缓存,已经缓存过了,你发送请求,但浏览器自作聪明对百度服务器发送304包说我缓存过这个包,你不用发了,然后自己从缓存里拿,导致无法匹配到我这条HTTP规则。
解决的办法:
1.改规则,将http改成tcp就ok了,因为304包也是tcp包
alert tcp any any -> any any (msg:"hit baidu.com...";content:"baidu"; reference:url, www.baidu.com;)
2.当然还可以去浏览器设置中清除缓存,有时候是必须这么做。

3.suricata和pcap

测试过程:使用wireshark抓包抓取特征流量,生成pcap包,然后使用suricata验证pcap。
使用到的规则:

alert http $EXTERNAL_NET any -> $HOME_NET any (msg:"ET PHISHING Generic PhishKit Author Comment M1 2018-08-30"; flow:established,to_client; file_data; content:"|3c 21 2d 2d 20 22 32 6b 31 37 20 70 72 69 76 38 20 62 79 20 6b 40 6d 65 6c 32 70 20 24 22 20 2d 2d 3e|"; classtype:social-engineering; sid:2026061; rev:2; metadata:affected_product Web_Browsers, attack_target Client_Endpoint, created_at 2018_08_30, deployment Perimeter, former_category PHISHING, signature_severity Critical, tag Phishing, updated_at 2018_08_30, mitre_tactic_id TA0001, mitre_tactic_name Initial_Access, mitre_technique_id T1566, mitre_technique_name Phishing;)
其意思是:
flow:established,to_client; 建立tcp连接,且是服务器的响应包
content:包内必须含有其中的16进制的内容
http: 是http包
$EXTERNAL_NET any -> $HOME_NET any 目的地址和端口,源地址和端口任意

a.构造特征流量

由于必须是响应包,而burpsuite抓包在wireshark之后,只能在网站原文件里构造特征码。

使用16进制转换器得出content里的内容3c 21 2d 2d 20 22 32 6b 31 37 20 70 72 69 76 38 20 62 79 20 6b 40 6d 65 6c 32 70 20 24 22 20 2d 2d 3e

<!-- "2k17 priv8 by k@mel2p $" -->

使用phpstudy搭建网站,在index.php 里加入上面的内容,放在index.php的源文件里。

b.抓取特征流量

kali开启wireshark抓包,过滤规则如下,ip填网站服务器的ip
ip.addr == 192.168.100.109 and tcp
让kali去开浏览器去访问物理机ip,抓包得到三个握手包和其中有个http包 状态码为200,如果是304就可能浏览器读取的缓存,清除缓存就可以了。

选择文件,导出特定分组,注意导出的文件要是pcap,不要是pcappng,pcappng是新版的,可能会出错。

c.验证特征流量

将之前的规则加入到自己创建的test.yaml中为了下面验证pcap文件

suricata -c /etc/suricata/suricata.yaml -r xiao78.pcap -k none
在当前文件夹内会有个fast.log文件

cat fast.log
显示是否匹配到了

suricata的安装与使用相关推荐

  1. Suricata+PF_RING安装详解

    1. 前言 Suricata的安装包可以从 github上克隆安装,可以从Suricata官网进行下载.本文的测试以github上的版本为例. 本文的测试平台为 CentOS release 6.7 ...

  2. suricata的简介以及安装过程

    Suricata介绍 Suricata是一款高性能的网络IDS.IPS和网络安全监控引擎.它是由the Open Information Security Foundation开发,是一款开源的系统. ...

  3. suricata的netmap抓包模式安装

    suricata 简介 Suricata 是一个免费.开源.成熟.快速.健壮的网络威胁检测引擎.Suricata 引擎能够进行实时入侵检测(IDS).内联入侵预防(IPS).网络安全监控(NSM)和离 ...

  4. suricata安装

    suricata --build-info  命令可以查看插件相关情况 安装suricata-update工具:pip install --pre --upgrade suricata-update, ...

  5. suricata匹配从入门到精通(一)----suricata安装配置及使用

    本文主要为即将进行CVE漏洞分析以及IDS规则编写的同事提供文档参考资料.文中所述过程均为本人安装使用过程,不能保证每一项配置均为最优配置,希望大家在使用过程中发现问题可以及时交流分享. Surica ...

  6. Centos 7 部署suricata流量检测

    转载自:https://zhuanlan.zhihu.com/p/64742715 对部分安装报错的地方进行了修改,建议按照原文安装,原文有ES对接 内网搭建Suricata进行流量检测 目标机器版本 ...

  7. 使用Suricata和ELK进行网络入侵检测

    数据包捕获是实现网络入侵检测系统(IDS)和执行网络安全监控(NSM)的关键组件. 有几种开源IDS工具可以处理数据包捕获并查找可能的网络入侵和恶意活动的签名. 其中一个开源工具是Suricata,这 ...

  8. suricata学习

    <suricata简介> Suricata是一个高性能的网络IDS,IPS和网络安全监控引擎. IPS:入侵预防系统(IPS: Intrusion Prevention System)是电 ...

  9. 利用PHP的字符串解析特性Bypass

    我们知道PHP将查询字符串(在URL或正文中)转换为内部$_GET或的关联数组$_POST.例如:/?foo=bar变成Array([foo] => "bar").值得注意的 ...

最新文章

  1. PyCharm使用技巧:PyCharm重构
  2. Network device support
  3. 形变立体跟踪-基于稠密运动估计和力学仿真(2)
  4. #翻译NO.5# --- Spring Integration Framework
  5. 曹大:我的快速阅读法
  6. NoSQL数据库程序员应该在2019年学习的5大知识
  7. STM32学习之C语言知识复习
  8. petshop4.0 详解之二(数据访问层之数据库访问设计)
  9. 排序算法(7)----桶排序
  10. cisco ***笔记
  11. BZOJ 2431 [HAOI2009]逆序对数列 (dp)
  12. SQL查询效率-100w数据查询只要1秒
  13. C语言从放弃到入门,C语言,从放弃到入门
  14. jquery左侧图片与右侧图片以及放大镜和图片的放大的图片和产品的隐藏的效果
  15. Android开发实践:设计安卓应用以计算BMI指数
  16. 【备忘】linux视频
  17. Visual Studio界面颜色更换 及 Visual Assist X助手使用
  18. WSUS管理控制台打开报错
  19. 智力题--CSDN论坛收集
  20. 常用图标(ICON)清单

热门文章

  1. 一周 Go World 新鲜事-2018W42
  2. wireshark 如何识别应用层的协议是什么呢?
  3. 使用 http-proxy 代理 HTTP 请求时遇到的 the requested url is invalid 错误消息
  4. 基于JAVA的企业薪资管理系统的设计与实现
  5. [数理知识]参数估计:点估计、区间估计及置信区间
  6. Http 415:Unsupported Media Type
  7. 5.荔枝派 zero(全志V3S)-buildroot配置播放视频
  8. Cygwin+OSgeo4w安装
  9. 公众号推送长图最佳尺寸_公众号怎么设置图片左右白边?长图如何排版?
  10. IDEA安装和配置教程