入侵检测——nmap

前言

这里介绍一下如何让入侵检测系统识别nmap扫描,nmap的扫描行为很多,这里介绍几个

nmap中文手册

提供两个中文的nmap手册地址,第二个的阅读体验好一点
https://nmap.org/man/zh/
http://www.nmap.com.cn/doc/manual.shtm

ping扫描

简述:
nmap在二层的发现的参数的-sn,即只做ping扫描,不做端口扫描,这么说会让人奇怪,二层哪来的ping包,原因是这样的,-sn参数在扫局域网的时候是arp扫描,跨网段的时候是icmp扫描

命令:

nmap -sn 10.71.35.0/24

根据数据包内容,你会发现一些共同点,我用红框标注了出来

  • itype:8
  • icode:0
  • icmp_seq:0

由于是icmp协议,所以设置协议类型为icmp,所以负载为0。你可以看到这是一个在短时间内发起大量扫描的行为,所以我还可以限制连接频率

注意:频率的控制很重要,不然极有可能无法检测到,我这里出于实验演示,频率控制的比较随意
在这里插入图片描述
得到这样的一条规则:

alert icmp any any -> any any (msg:"icmp扫描"; itype:8; icode:0; icmp_seq:0; dsize:0; detection_filter:track by_src,count 60,seconds 3; metadata:service check-ports; sid:1; rev:1;)

使用snort检测一下:

snort -c C:\Snort\etc\snort.conf -l C:\Snort\log -r 文件名

在这里插入图片描述

UDP扫描

简述:
扫描UDP端口

命令:

nmap -sU 192.168.239.0/24

根据数据包内容,发现协议类型是UDP,UDP协议的长度是8,然后数据包负载为0,存在高频率扫描行为。但是这些线索还是有些差强人意,有可能引发误报。
在这里插入图片描述
得到这样的一条规则:

alert udp any any -> any any (msg:"UDP扫描"; dsize:0; detection_filter:track by_src,count 100,seconds 10; metadata:service check-ports; sid:2; rev:1;)

使用snort检测一下:

snort -c C:\Snort\etc\snort.conf -l C:\Snort\log -r 文件名

在这里插入图片描述

SYN扫描

简述
通过发送SYN标志的数据包来做端口扫描,一旦确定端口开放,nmap就发送RST断开连接

命令:

nmap -sS 192.168.239.131

根据数据包内容,你会发现一些共同点,我用红框标注了出来

  • flags:S
  • window:1024
  • tcp.option:"|02 04 05 b4|"
  • dsize:0

协议类型的tcp,存在高频率扫描行为,由于snort不支持tcp.option关键字,所以想让snort告警的话请删除这个关键字,或者换一个支持此关键字的设备,我这里选择后者
在这里插入图片描述
规则的主要内容如下:

flags:S; window:1024; tcp.option:"|02 04 05 b4|"; dsize:0; detection_filter:track by_src,count 100,seconds 5; metadata:service check-ports;

由于snort不识别tcp.option,这里不做截图

sM扫描

描述:
Maimon扫描是用它的发现者Uriel Maimon命名的。他在 Phrack Magazine issue #49 (November 1996)中描述了这一技术。 Nmap在两期后加入了这一技术。 这项技术和Null,FIN,以及Xmas扫描完全一样,除了探测报文是FIN/ACK。 根据RFC 793 (TCP),无论端口开放或者关闭,都应该对这样的探测响应RST报文。 然而,Uriel注意到如果端口开放,许多基于BSD的系统只是丢弃该探测报文

命令

nmap -sM 192.168.56.102

根据数据包内容,你会发现一些共同点:

  • nmap使用标志位AF进行扫描
  • 序列号seq都是0
  • windows的窗口大小都是1024
  • 紧急指针( Urgent Pointer)都是0
  • 负载是0,得出dsize=0
  • tcp头部长度是20
  • 存在高频率扫描行为

在这里插入图片描述

得出规则

alert tcp any any -> any any (msg:"sM扫描"; flags:AF; seq:0; window:1024; dsize:0; tcp.urgent:=0; tcp.header_len:=20; detection_filter:track by_src,count 100,seconds 5; metadata:service check-ports; sid:4; rev:1;)

由于snort不支持tcp.urgenttcp.header_len关键字,这里剔除这两个关键字,得出

alert tcp any any -> any any (msg:"sM扫描"; flags:AF; seq:0; window:1024; dsize:0; detection_filter:track by_src,count 100,seconds 5; metadata:service check-ports; sid:4; rev:1;)

使用snort检测一下:

snort -c C:\Snort\etc\snort.conf -l C:\Snort\log -r 文件名

在这里插入图片描述

sX扫描

命令

nmap -sX 192.168.56.102

根据数据包内容,你会发现一些共同点,我用红框标注了出来

  • tcp的标志位是FUP
  • tcp 应答号(acknowledge)的值是0.
  • 窗口大小( Window size)是1024
  • 紧急指针( Urgent Pointer)都是0
  • 负载是0,得出dsize=0
  • tcp头部长度是20
  • 存在高频率扫描行为
    在这里插入图片描述

得出规则

alert tcp any any -> any any (msg:"sX扫描"; flags:FUP; ack:0; window:1024; tcp.urgent:0; tcp.header_len:=20; dsize:0; detection_filter:track by_src,count 100,seconds 5; metadata:service check-ports; sid:5; rev:1;)

由于snort不支持tcp.urgenttcp.header_len关键字,这里剔除这两个关键字,得出

alert tcp any any -> any any (msg:"sX扫描"; flags:FUP; ack:0; window:1024; dsize:0; detection_filter:track by_src,count 100,seconds 5; metadata:service check-ports; sid:5; rev:1;)

使用snort检测一下:

snort -c C:\Snort\etc\snort.conf -l C:\Snort\log -r 文件名

在这里插入图片描述

sF扫描

命令

nmap -sF 192.168.56.102

根据数据包内容,你会发现一些共同点,我用红框标注了出来

  • tcp的标志位是F
  • tcp 应答号(acknowledge)的值是0.
  • 窗口大小( Window size)是1024
  • 紧急指针( Urgent Pointer)都是0
  • 负载是0,得出dsize=0
  • tcp头部长度是20
  • 存在高频率扫描行为
    在这里插入图片描述
    得出规则
alert tcp any any -> any any (msg:"sF扫描"; flags:F; ack:0; window:1024; tcp.urgent:0; tcp.header_len:=20; dsize:0; detection_filter:track by_src,count 100,seconds 5; metadata:service check-ports; sid:6; rev:1;)

由于snort不支持tcp.urgenttcp.header_len关键字,这里剔除这两个关键字,得出

alert tcp any any -> any any (msg:"sF扫描"; flags:F; ack:0; window:1024; dsize:0; detection_filter:track by_src,count 100,seconds 5; metadata:service check-ports; sid:6; rev:1;)

使用snort检测一下:

snort -c C:\Snort\etc\snort.conf -l C:\Snort\log -r 文件名

在这里插入图片描述

sN扫描

命令

nmap -sN 192.168.56.102

根据数据包内容,你会发现一些共同点,我用红框标注了出来

  • tcp的标志位是0
  • tcp 应答号(acknowledge)的值是0.
  • 窗口大小( Window size)是1024
  • 紧急指针( Urgent Pointer)都是0
  • 负载是0,得出dsize=0
  • tcp头部长度是20
  • 存在高频率扫描行为
    在这里插入图片描述

得出规则

alert tcp any any -> any any (msg:"sN扫描"; flags:0; ack:0; window:1024; tcp.urgent:0; tcp.header_len:=20; dsize:0; detection_filter:track by_src,count 100,seconds 5; metadata:service check-ports; sid:7; rev:1;)

由于snort不支持tcp.urgenttcp.header_len关键字,这里剔除这两个关键字,得出

alert tcp any any -> any any (msg:"sN扫描"; flags:0; ack:0; window:1024; dsize:0; detection_filter:track by_src,count 100,seconds 5; metadata:service check-ports; sid:7; rev:1;)

使用snort检测一下:

snort -c C:\Snort\etc\snort.conf -l C:\Snort\log -r 文件名

在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值