20241917 2024-2025-2 《网络攻防实践》实践五报告

1、实验内容
一、防火墙配置(IP地址仅供参考,以实际为准)
任务要求:配置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、实验过程

IP地址汇总
| 虚拟机 | IP地址 |
| Kali | 192.168.200.3 |
| Seed | 192.168.200.2 |
| Metasploitable| 192.168.200.5 |
| Win2k |192.168.200.131|

2.1实验要求及目的
(1)配置Linux操作系统平台上的iptables

iptables规则列表的显示;
过滤ICMP数据包;
特定IP地址访问主机;
静态包过滤与报文状态检测;
SNAT与DNAT机制的实现。
(2)使用Snort进行入侵检测分析

对给定pcap文件进行入侵检测,并对检测出的攻击进行说明;
对给定的pcap文件进行入侵检测,获得报警日志。
(3)分析配置规则

分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则;
说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求。

2.2 实验过程
2.2.1 配置iptables
2.2.1.1 过滤ICMP数据包
| 虚拟机 | IP地址 |
| Kali | 192.168.200.3 |
| Seed | 192.168.200.2 |

首先在查看当前防火墙配置信息在kali中先输入sudo iptables -L查看规则列表

使用ubuntu去ping一下kali,出现如下图说明可以ping通

添加规则,输入sudo iptables -A INPUT -p icmp -j DROP( -A 在指定链的末尾添加(append)一条新的规则,#DROP 直接丢弃数据包,不给任何回应信息。),再使用sudo iptables -L查看规则表

可以看到规则添加成功,此时再用ubuntu去ping下kali,kali过滤了ICMP数据包,使主机不接受Ping包:发现已经ping不通了

此时再删除该规则,输入sudo iptables -D INPUT -p icmp -j DROP后再使用sudo iptables -L查看规则表

换到seed中发现已经可以ping通了

2.2.1.2 只允许特定IP地址,访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址无法访问
IP地址汇总
| 虚拟机 | IP地址 |
| Kali | 192.168.200.3 |
| Seed | 192.168.200.2 |
| Metasploitable| 192.168.200.5 |
| Win2k |192.168.200.131|

先查看kali中的规则,发现并无规则

利用kali以及WinXP对 Metasploitable进行telnet连接:


随后在Meta Linux中键入指令:sudo iptables -P INPUT DROP
发现所有主机无法访问该主机tcp端口:


随后在Meta Linux中键入:sudo iptables -A INPUT -p tcp -s 192.168.200.3 -j ACCEPT。使Meta Linux能够接受kali虚拟机对其的tcp端口访问:

回到kali和winxpattacker中,再次telnet 192.168.200.5,发现kali可以成功,但是winxpattacker依然失败

2.2.1.3静态包过滤
kali终端里键入:iptabels -t filter -A FORWARD -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT,后如下图规则表里多了一条限制。

2.2.1.4报文状态检查
(1)允许连接目标地址为192.168.200.7,当前状态为NEW的网络连接可通过防火墙转发。键入命令 sudo iptables -t filter -A FORWARD -d 192.168.200.7 -m state --state NEW -j ACCEPT

(2)再次查看规则 允许已经建立网络连接和相关网络连接通过防火墙。

2.2.1.5 SNAT机制实现
要求通过路由转发的网络连接的源IP地址都修改为1.2.3.4:

2.2.1.5 DNAT机制实现
要求将通过路由转发的网络连接的目的地址都修改为1.2.3.4:

2.2.2 动手实践Snort
对已有的listen.cap进行入侵检测,可以看到检测到的数据包信息,有UDP、TCP、ARP等,其中主要是TCP。命令为 sudo snort -r /etc/snort/listen.pcap -c /etc/snort/snort.lua -A alert_fast -l /var/log/snort (其中-c 表示选择snort配置文件、-r表示从pcap格式文件中读取数据包、-A设置输出模式为alert_fast生成简洁的报警日志,-l指定报警日志的输出目录)





进入报警日志目录,查看日志文件cd /var/log/snort,vim alert,可以看到入侵检测信息,本次攻击是使用nmap发起的。攻击主机的IP地址是172.31.4.178,网络扫描的目标IP地址是172.31.4.188。

2.2.3分析配置规则
2.2.3.1 分析防火墙
打开honeywall,用su -获得root权限之后,键入vim /etc/init.d/rc.firewall打开防火墙配置。

往下翻,找到 黑名单,白名单,和防护名单 。这分别对应三种策略:对于黑名单,丢弃所有的包;对于白名单,允许所有的包访问;对于防护名单,进行有选择的包过滤来保护某些不希望被访问的主机。
![]
退出返回命令行,键入iptables -t filter -L | more来查看规则列表,这里展现了iptables的具体过滤和保护规则,是实现其安全性的核心部件之一。

退出返回命令行,键入vim /etc/init.d/snortd打开snort脚本文件。



可以看到,该脚本默认使用snort.conf配置文件,默认监听eth0网络,日志存储目录为/var/log/snort。同时还定义了一些其他的操作。
接下来键入vim /etc/init.d/hw-snort_inline ,打开snort_inline的脚本文件查看实际执行参数。
下图定义了一些变量参数。

下图定义了一些操作。
![]
回到命令行,键入chkconfig --list | grep iptables和chkconfig --list | grep snort分别检查iptables和snort下的脚本是否开启。


其中0~6分别表示关机、单用户模式、无网络连接的多用户命令行模式、有网络连接的多用户命令行模式、不可用、带图形界面的多用户模式、重新启动。可以看出iptables和hw-snort_inline在无网络连接的多用户命令行模式下开始启动,而snortd在任何情况下都不会自启动。
回到命令行,键入vim /etc/honeywall.conf查看蜜网的配置文件。找到有关于snort的配置模块,里面存放一些跟snort相关的配置。

  1. 学习中遇到的问题及解决
    问题1:完成防火墙配置任务过程中,不知道为什么电脑没网了,截图没法上传到博客后台。
    问题1解决方案:把截图放在桌面,等实验都做完之后,把网线拔了又重新插了一遍就好了。

  2. 学习感想和体会
    本次实验我学会了使用iptables过滤ICMP数据包、只允许特定IP地址访问某网络服务,使用Snort对pcap文件进行入侵检测、获取报警日志并指定目录存储路径,以及分析蜜网配置规则,实验较为简单,没有遇到什么特别耗时间的困难,有一些小问题向其他同学请教也能很快解决,感觉做实验越来越流畅,对于网络攻防使用的工具也越来越多,了解越深入,越觉得自己还要学的有很多。

posted @ 2025-03-31 22:23  L00000  阅读(96)  评论(0)    收藏  举报