20241905 2024-2025-2 《网络攻防实践》 第5次作业

news/2025/4/2 6:03:46/文章来源:https://www.cnblogs.com/cassiefang/p/18802084

1. 实验内容

一、防火墙配置
任务要求:配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
(1)过滤ICMP数据包,使得主机不接收Ping包;
(2)只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192. 168.200.4)无法访问
二、动手实践:Snort
使用Snort对给定pcap文件(第4章中的解码网络扫描任一个pcap文件,之前的实践已经提供了,请在学习通中下载)进行入侵检测,并对检测出的攻击进行说明。在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。

Snort运行命令提示如下:
①从离线的pcap文件读取网络日志数据源
②在snort.conf中配置明文输出报警日志文件
③指定报警日志log目录(或缺省log目录=/var/log/snort)
三、分析配置规则
分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。

2. 实验过程

2.1 防火墙配置

实验用到的两台虚拟机的IP地址如下:

虚拟机名称 IP地址
KALI 172.20.10.4
SEED Ubuntu 172.20.10.5
MetaSploitable 172.20.10.3

1、过滤ICMP数据包,使得主机不接收Ping包

通过iptables -L查看SEED虚拟机的规则,可以观察到,SEED虚拟机中未添加任何规则

image-20250327091948029

此时,用KALI可以ping通SEED虚拟机

image-20250327092249763

通过下面的命令向SEED中添加规则,使得SEED不接受icmp数据包

iptables -A INPUT -p icmp -j DROP
# -A表示追加一条规则,INPUT表示数据包入口,-p表示用来匹配协议,-j表示指定如何处理,DROP表示将数据包直接丢弃,不予以回应

添加规则后通过iptables -L查看SEED虚拟机的规则,可以观察到,此时已经添加了丢弃ICMP包的规则

image-20250327092802831

再用KALI ping SEED,可以看到,此时已经无法ping通,所有的数据包都loss,因为SEED将icmp包直接丢弃了。

image-20250327093019543

通过命令iptables -F删除自定义规则

image-20250327093706057

再用KALI ping SEED虚拟机,则成功ping通

image-20250327093817393

2、只允许特定IP地址,访问主机的某一网络服务,而其他的IP地址无法访问

使用KALI通过命令ftp 172.20.10.3可以远程访问META的ftp服务

image-20250327102110905

使用SEED通过命令ftp 172.20.10.3可以远程访问META的ftp服务

image-20250327102212808

在META上通过下面的命令使得只有SEED可以远程访问META的ftp服务

sudo iptables -P INPUT DROP
# 拒绝一切的数据包流入
sudo iptables -A INPUT -p tcp -s 172.20.10.5 -j ACCEPT 
# 开启172.20.10.5对本机的ftp服务

再通过sudo iptables -L可以查看到已经添加的规则

image-20250327103026451

此时在KALI上进行对META的ftp服务远程访问,可以看到没有反应,因为请求被直接丢弃了

image-20250327103946017

再通过SEED来连接,可以看到还是可以连上

image-20250327104226846

2.2 动手实践:Snort

通过下面的命令对listen.pcap文件进行入侵检测,这里制定输出日志路径为/etc/snort/log

snort -c /etc/snort/snort.lua -r /etc/snort/listen.pcap -l /etc/snort/log -A alert_full
# -l表示输出日志的文件路径

可以看到此时log目录下生成的报警日志

image-20250327130353322

从文件中可以看到这是使用nmap进行的扫描,同时文件中还包含了进行了端口扫描,攻击机和靶机地址等信息

image-20250327130605250

观察输出的统计信息可以看到99%的协议都是TCP,只有少量UDP和ARP协议

image-20250327131339962

2.3 分析配置规则

通过下面的命令来查看蜜网网关的防火墙配置规则

vim /etc/init.d/rc.firewall

能够查看到创建黑名单、白名单的条件

image-20250327132406338

这里是一些处理规则

image-20250327134207146

这里是黑名单中的内容会被DROP

image-20250327134309742

这里是白名单中的内容会被ACCEPT

image-20250327134542089

通过https://192.168.200.8/进入蜜网网关的图形化界面

image-20250327134708029

从Firewall Rules可以看到该网关使用的防火墙规则

image-20250327134924347

通过命令vim /etc/init.d/snortd可以查看snort的脚本文件,这是实际运行时的代码,可以看到进行了创建日志目录、设置目录权限、启动snort程序等

image-20250327155740672

通过命令vim /etc/init.d/hw-snort_inline可以查看该脚本为蜜网启动snort的过程

image-20250327155917421

3. 学习中遇到的问题及解决

  • 问题1:输入iptables -L返回error

    image-20250327091717629

  • 问题1解决方法:必须是root才能够使用该命令,提权即可。既可以sudo iptables -L也可以su后再输入命令。

  • 问题2:pcap文件报警内容只能在终端显示,不能记录日志输出到文件目录下

  • 问题2解决方法:配置alert_full输出,输入下面的内容,设置为写入文件而不是标准输出。然后通过命令snort -c /etc/snort/snort.lua -r /etc/snort/listen.pcap -l /etc/snort/log -A alert_full输出到日志。

    alert_full = 
    {file = true
    }
    

    image-20250327125914997

  • 问题3:蜜罐网关输入vim /etc/init.d/rc.firewall后是空白的

  • 问题3解决方法:先用su提权,再重新输入命令

4. 学习感想和体会

上一次实验更多是研究攻击手段,这一次则更多是学习防御的原理。通过本次实验,我对于防火墙的规则配置有了更深的了解和应用,snort3的配置文件和相关命令也更加了解熟悉,除此之外,通过对蜜网网关配置的查询和学习,也让我蜜网网关进行入侵检测的过程有了更深的理解。

参考资料

《网络攻防技术与实践》课本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/908630.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

纯干货 | Dolphinscheduler Master模块源码剖析

此前我们曾用万字长文解释了Apache DolphinScheduler的Worker模块源码,今天,我们再来一起看看Master模块源码的原理。 Master Slot计算核心代码逻辑: org.apache.dolphinscheduler.server.master.registry.MasterSlotManager.SlotChangeListener#notify public void notify(…

ZKmall模版商城前后端分离秒级响应架构深度解析

在当今的电商领域,用户体验和响应速度已成为决定平台竞争力的关键因素。ZKmall模版商城,作为一款高性能的电商平台解决方案,通过采用前后端分离架构,实现了秒级响应,为用户带来了极致的购物体验。本文将深度解析ZKmall模版商城的前后端分离秒级响应架构,探讨其背后的技术…

UESTC 23-th ACM-ICPC 初赛 Q. 校车

这东西其实蛮像最小斯坦纳树,不过我们通过状压DP的思想来讲一讲这个题。 形式化题意:考虑一共有 \(n\) 个点,\(m\) 条无向边,你需要从图中选出至多 \(K\) 条闭合路径,使得所有 \(w\) 个关键点都被覆盖,使得最长路径最小。 容易发现 \(n \le 500\),因此我们可以通过 Floy…

360度全景环视(AVM Around View Monitor)简介

AVM(Around View Monitor),中文:全景环视系统。 在自动驾驶领域,AVM属于自动泊车系统的一部分,是一种实用性极高、可大幅提升用户体验和驾驶安全性的功能。利用车身四周摄像头,拼接出以车身为中心的360环视画面,直接鸟瞰车身周边情况。支持多种车型,具有4路、6路、或前…

htb Code

先快速扫描 rustscan -a 10.10.11.62PORT STATE SERVICE REASON 22/tcp open ssh syn-ack ttl 63 5000/tcp open upnp syn-ack ttl 63 发现有一个5000端口 nmap扫描 nmap -sC -sV -p 5000 -v -Pn -T4 10.10.11.62发现是一个python的命令执行的环境 接下来进行沙…

敏捷开发的终极形态?2025年必试的5款集成混沌工程的项目管理黑科技

随着企业数字化转型的加速,敏捷开发已从单纯的高效迭代演变为融合混沌工程的“韧性敏捷”模式。混沌工程通过主动注入系统故障,验证系统在异常条件下的稳定性,成为保障敏捷开发持续交付的关键技术。据Gartner预测,到2025年,70%的企业将在敏捷流程中集成混沌工程以增强系统…

SQL SERVER日常运维巡检系列之-实例级参数

前言做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。本系列旨在解决一些常见的困扰: 不知道巡检哪些东西不知道怎么样便捷体检机器太多体检麻烦生成报告困难,无法直观呈现结果 实例的参数对系统性能和稳定…

How Memory is Implemented in LLM-based Agents?

原文链接:https://medium.com/@parklize/how-memory-is-implemented-in-llm-based-agents-f08e7b6662ff在之前的文章中,我们讨论了大语言模型(LLM)的局限性以及LLM与基于LLM的智能体之间的关系。 智能体为LLM带来的关键增强功能之一是记忆能力,这有助于克服LLM的上下文长度…

运行MBConicHulls教程

为了运行MBConicHulls(a Mathematica package to evaluate N-fold MB integrals)需要安装啥 目录环境Mathematica 13.0.1 Linux版 ✅MultivariateResidues.m (计算多变量余数)✅TOPCOM(一个用于计算三角剖分和相关结构的软件包) ✅前置安装需求步骤-已跑通安装完了测试一下…

信创概念股投资回报率最高的五家公司

信创产业作为近年来备受瞩目的领域,其发展态势对投资者具有极大的吸引力。探寻信创概念股中投资回报率最高的五家公司,对于投资者来说至关重要。这不仅能为他们的资金找到更具潜力的投向,也有助于把握行业发展的脉搏,在复杂多变的市场中获取丰厚的回报。随着信息技术的飞速…

信创国产化背景下人才培养的四大策略

信创国产化是当前我国科技发展的重要战略方向,旨在实现信息技术领域的自主可控,减少对国外技术的依赖,保障国家信息安全。在这一背景下,人才的培养显得尤为关键。信创国产化涉及众多领域和技术,从芯片、操作系统、数据库到各类应用软件,每一个环节都需要专业人才的支撑。…