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

ops/2024/10/19 3:35:46/

一、实验目的和要求

理解基于网络的入侵检测系统的基本原理,掌握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地址之间存在不匹配的情况。


http://www.ppmy.cn/ops/48680.html

相关文章

探索Docker容器网络

Docker容器已经成为现代应用部署的核心工具。理解Docker的网络模型对于实现高效、安全的容器化应用至关重要。在这篇博客中&#xff0c;我们将深入探讨Docker的网络架构&#xff0c;并通过一些代码例子来揭示其底层实现。 Docker网络模式 Docker提供了多种网络模式&#xff0c…

【算法专题--链表】反转链表II--高频面试题(图文详解,小白一看就会!!!)

目录 一、前言 二、题目描述 三、解题方法 ⭐迭代法 --- 带哨兵位&#xff08;头节点&#xff09; &#x1f95d; 什么是哨兵位头节点&#xff1f; &#x1f34d; 解题思路 四、总结与提炼 五、共勉 一、前言 反转链表II这道题&#xff0c;可以说是--链表专题--&am…

One能聊天接入百度千帆大模型 —— 文心一言

One能聊天介绍&#xff1a;基于ChatGPT实现的微信小程序&#xff0c;适配H5和WEB端。包含前后端&#xff0c;支持打字效果输出流式输出&#xff0c;支持AI聊天次数限制&#xff0c;支持分享增加次数等功能One能聊天开源地址&#xff1a;https://github.com/oldinaction/ChatGPT…

前端 CSS 经典:在 Vue3 中使用渐进式图片

1. 什么是渐进式图片 当我们网站会加载很多图片的时候&#xff0c;有些图片尺寸很大&#xff0c;加载就会很慢&#xff0c;会导致页面长时间陷入白屏状态&#xff0c;用户体验很不好。所以可以使用渐进式图片&#xff0c;先给用户展示模糊图&#xff0c;这些图尺寸小&#xff…

【QT】QSettings读取中文乱码

解决QSettings读取中文乱码 QString sConfigFile sDataDir QDir::separator() "config" QDir::separator() "Info.ini";QSettings configFile(sConfigFile, QSettings::IniFormat);configFile.setIniCodec("utf-8");QSettings存储格式 Nat…

【论文阅读】Activity Recognition using Cell Phone Accelerometers

Activity Recognition using Cell Phone Accelerometers 引用&#xff1a; Kwapisz J R, Weiss G M, Moore S A. Activity recognition using cell phone accelerometers[J]. ACM SigKDD Explorations Newsletter, 2011, 12(2): 74-82. 论文链接&#xff1a; Activity recogn…

注册中心理论学习

注册中心介绍 注册中心&#xff08;也称为服务注册中心或服务发现服务&#xff09;是微服务架构中的一个关键组件&#xff0c;它负责服务的注册与发现。在微服务体系中&#xff0c;服务实例的数量和位置是动态变化的&#xff0c;注册中心提供了一个集中的地方来存储这些信息&a…

Mysql5.7安装教程(详细图解教程)_mysql5.7下载

本文讲解的是mysql5.7安装包、mysql5.7下载、mysql5.7安装配置教程、离线安装mysql5.7。MySQL 5.7 是 MySQL 数据库的一个重要版本&#xff0c;它引入了许多新特性和改进&#xff0c;旨在提高性能、安全性和易用性。 MySQL 5.7 在所有负载模型上都有显著的性能改进&#xff0c…