网络安全技术实验六 入侵检测技术实践

一、实验目的和要求

理解基于网络的入侵检测系统的基本原理,掌握snort IDS工作机理;

学习应用snort三种方式工作;熟练编写snort规则;

完成snort数据包记录、日志查看、字符串匹配、ARP欺骗攻击检测、端口扫描工具检测等功能。

二、实验步骤

1. 启动snort

进入IDS工作目录/opt/ExpNIS/NetAD-Lab/Tools/ids,运行snort对网络接口eth0进行监听,要求如下:

(1)仅捕获kali发出的icmp回显请求数据包。

(2)采用详细模式在终端显示数据包链路层、应用层信息。

(3)对捕获信息进行日志记录,日志目录/var/log/snort。

snort命令参考 ./snort -i eth0 -dev icmp and src kali的IP -l /var/log/snort

本机(IDS)执行上述命令,kali对当前主机进行ping探测,根据snort捕获信息填写下表

数据帧源MAC

00:0C:29:33:AC:88

数据帧目的MAC

00:0C:29:2A:6C:B2

IP上层协议类型

0x800

数据包源IP

192.168.113.137

数据包目的IP

192.168.113.145

数据包总长度

0x62

IP报文头长度

20字节

ICMP报文头长度

8字节

ICMP负载长度

84-20

ICMP类型/代码

8/0

2. 查看snort日志记录。

「说明」 默认snort日志记录最后一级目录会以触发数据包的源IP命名。可使用组合键Ctrl+C停止snort运行。

二.snort数据包记录

(1)对网络接口eth0进行监听,仅捕获kali发出的Telnet请求数据包,并将捕获数据包以二进制方式进行存储到日志文件中(/var/log/snort/snort.log)。

Snort命令:snort -i eth0 -b tcp and src 同组主机IP and dst port 23

  1. 当前主机执行上述命令,同组主机telnet远程登录当前主机。

(3)停止snort捕获(Ctrl+C),读取snort.log文件,查看数据包内容。

snort命令./snort -dvr /var/log/snort/snort.log.1717488272;截图显示内容。

三.简单报警规则

(1)在snort规则集目录ids/rules下新建snort规则集文件new.rules,对来自外部主机的、目标为当前主机80/tcp端口的请求数据包进行报警,报警消息自定义。

snort规则:

alert tcp !192.168.113.145 any -> 192.168.113.145 80 (msg:warn;sid:26287;

根据规则完成下表填写。

snort规则动作

alert

规则头协议

tcp

规则头源信息

!192.168.113.145

规则头目的信息

192.168.113.145

方向操作

->

报警消息

warn

(2)编辑snort.conf配置文件,使其包含new.rules规则集文件,打开snort.conf,切换至编辑模式,在最后添加新行包含规则集文件new.rules。

添加包含new.rules规则集文件语句include $RULE_PATH/new.rules

(3)以入侵检测方式启动snort,进行监听。

启动snort的命令 ./snort -A full -c /opt/ExpNIS/NetAD-Lab/Tools/ids/snort.conf

以入侵检测方式启动snort,同组主机访问当前主机Web服务(启动阿帕奇服务)。

查看报警日志(/var/log/snort/alert)截图

四.字符串匹配

(1)在snort规则集目录/opt/ExpNIS/NetAD-Lib/Tools/ids/rules下新建snort规则集文件new2.rules,对网络中由vsFTPd参与的通信进行报警,并在FTP服务器声明身份后第一时间内捕获FTP客户端登录用户名及登录口令。

(2)利用activate/dynamic规则对实现。

snort规则  activate tcp any 21 -> any any (activates: 81; content: "vsFTPd"; msg: "FTP User Login"; )  

dynamic tcp any any -> any 21 (activated_by: 81; count: 10; msg: "User Name and PASSWORD"; )  

(3)编辑snort.conf配置文件,使其包含new2.rules规则集文件。

(4)以入侵检测方式启动snort,进行监听。网络传输数据中的FTP用户名及口令数据是应用层数据,默认情况下snort不显示和记录应用层数据,所以此处在启动snort时应指定其抓取、记录应用层数据。

启动snort的命令

./snort -A full -dev -d -c /opt/ExpNIS/NetAD-Lab/Tools/ids/snort.conf

Kali中利用NC远程FTP登录,登录用户名:guest,登录口令:guestpass。

查看报警日志(日志文件所在目录以远程FTP登录主机IP命名)提取出FTP客户端登录时所使用的用户名及登录口令。(截图)

五.端口扫描攻击检测

(1)修改snort配置文件snort.conf启动端口扫描预处理器,以入侵检测方式启动snort,对来自外部的端口扫描行为进行检测。

portscan:<要监视的网络> <端口数> <检测周期> <日志目录/文件>

监视的网络: 以IP地址/子网掩码的格式指定要进行端口扫描监视的网络。 

端口数: 在检测周期(detection period)内访问的端口数目。 

检测周期(detection period): 达到某个设定的端口访问量需要的时间,以秒计。 

日志目录/文件: 保存警告信息的目录/文件。警告信息也可以写到默认警告文件中。

如:preprocessor portscan:192.168.1.0/24 5 7 /var/log/portscan.log

预处理描述:preprocessor portscan:192.168.113.0/24 5 7 /var/log/portscan.log

(2)Kali使用Nmap对当前主机进行TCP端口扫描操作,待端口扫描完成,查看portscan.log报警日志,回答下面问题。

「注」 若第一次端口扫描后portscan.log没有日志,不要退出snort,请同组主机进行第二次端口扫描。

portscan.log日志记录格式描述:日期 时间 攻击源IP:源端口 -> 目的主机IP:扫描端口 SYN ******S*

默认情况下,Nmap在进行目标主机TCP端口扫描时,扫描顺序:无序(有序/无序)。

六.ARP欺骗攻击检测

本机修改snort配置文件snort.conf,修改情况截图;

Kali实施ARP攻击(假冒网关),将报警结果截图如下。

在snort.conf中找到该条预处理描述,将其前面的注释符号删掉,保存文件。然后运行命令./snort -d -c snort.conf以入侵检测方式启动snort

kali中执行语句arpspoof -i eth0 -t 192.168.113.145 192.168.113.1对目标IP为192.168.113.145的主机进行ARP欺骗攻击,将该主机的流量劫持至网关192.168.113.1

查看snort报警日志/var/log/snort/alert,snort报警提示检测到一个源IP地址与相应的MAC地址之间存在不匹配的情况。

  • 42
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值