20212904 2021-2022-2 《网络攻防实践》实践五报告

20212904 2021-2022-2 《网络攻防实践》实践五报告

1.实践内容

(1)配置Linux操作系统平台上的iptables和Windows操作系统平台上的个人防火墙,并过滤ICMP数据包使得主机不接收Ping包,设置只允许特定的IP访问主机的某个服务而其他IP不能访问。
(2)使用Snort对给定pcap文件进行入侵检测,在Linux或Windows Attacker攻击机上使用Snort对给定的pcap文件进行入侵检测,获得报警日志。
(3)分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。

2.基础知识

(1)防火墙技术
防火墙是一种高级访问控制设备,置于不同网络安全域之间,它通过相关的安全策略来控制(允许、拒绝、监视、记录)进出网络的访问行为。
防火墙的核心技术有包过滤、应用代理、状态检测、完全内容检测。
(2)入侵检测技术和系统
入侵检测可分为基于主机的HIDS和基于网络的NIDS。HIDS一般用来监视主机信息,NIDS以其监听到的网络数据包作为分析数据源。
netfilter/iptables组合是目前Linux开源操作系统中普遍使用的防火墙技术解决方案,其中netfilter是Linux内核中实现的防火墙功能模块,iptables是应用态的防火墙管理工具。

3.实践过程

(1)配置Linux操作系统平台上的iptables,并过滤ICMP数据包使得主机不接收Ping包,设置只允许特定的IP访问主机的某个服务而其他IP不能访问。
1)实验环境

虚拟机 IP
Kali 192.168.200.5
SEEDUbuntu 192.168.200.3
MetaSploitable_Ubuntu 192.168.200.123

2)过滤ICMP数据包,使得主机Kali不接收Ping包
①在KALI上输入如下命令iptables -A INPUT -p ICMP -j DROP如图。-A代表增加规则,-p代表指定协议,-j代表对该规则执行的操作。

执行完上面的命令后,试着让SEEDUbuntu pingkali,发现已经ping不通了,如图。

2)只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192. 168.200.4)无法访问。
①首先确保kali和SEEDUbuntu可以正常telnet靶机,如图。


②在MetaSploitable_Ubuntu上设置不接收任何包的规则。命令为iptables -P INPUT DROP,如图。

此时两个攻击机telnet靶机发现一直处于trying状态,如图。


③在MetaSploitable_Ubuntu上设置只接受kali的telnet请求策略,如下图。

可以看到kali可以正常telnet靶机了,如图。

④最后,清除之前设置的规则,如图。

(2)配置Windows操作系统平台上的个人防火墙,并过滤ICMP数据包使得主机不接收Ping包,设置只允许特定的IP访问主机的某个服务而其他IP不能访问。
1)实验环境

虚拟机 IP
Kali 192.168.200.5
SEEDUbuntu 192.168.200.3
WinXP(靶机) 192.168.200.2

2)过滤ICMP数据包,使得主机不接收Ping包。
①打开Kali,ping WinXP,测试可以ping通,如图。

②打开WinXP,点击开始--控制面板--Windows安全中心--Windows防火墙--还原为默认值(还原为默认值后ICMP的设置里允许传入回显请求会被自动取消勾选),如图。

③打开Kali,ping WinXP,发现ping不通了。

3)只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192. 168.200.4)无法访问。
①首先确保kali和SEEDUbuntu可以正常telnet WinXP,但是输入之后发现不能正常telnet WinXP,如图。

②了使得kali可以正常telnet WinXP,在WinXP点击开始--运行打开cmd,输入services.msc,跳出服务界面,找到Telnet,发现目前状态是已禁止,我们需要右键--属性,修改启动类型为自动或者手动,如图。

然后,再回到列表的Telnet,右键--启动,如图。

在cmd输入net start telnet,也显示已启动,表明启动成功,如图。

开始--控制面板--Windows防火墙--高级--网络连接设置--勾选Telnet服务器,如图。

再回到kali和SEEDUbuntu就可以正常telnet WinXP啦。


4)下面再WinXP设置IP安全策略来限制固定IP(kali的IP)访问。
①创建安全策略:控制面板--管理工具--本地安全策略--IP安全策略右键--创建IP安全策略,进入设置向导,设置IP安全策略名称为“限制固定IP远程访问”,在警告提示框选择“是”,其他均保持默认点击下一步,如图。

结果如下图,我们创建了一个IP筛选器。

②添加阻止特定IP访问的筛选器。
点击添加--进入安全规则向导--一直保持默认设置点击下一步--遇到警告点击“是”,如图。

结果如下图。

点击添加--自定义IP筛选器名称为“阻止特定IP远程访问”--添加--进入安全规则向导,如图。

点击下一步--源地址选择“一个特定的IP地址(Kali:192.168.200.3)”--下一步--目标地址选择“我的IP地址”--选择协议类型“TCP”--下一步--设置IP协议端口“从任意端口”“到此端口(输入23)”--下一步--完成。完成后,会在IP筛选列表看到添加的信息,如下图,再点击确定。

【注】Telnet服务器的端口号23是打开控制面板--Windows防火墙--Telnet服务器--编辑--查看端口号为23,如图。

配置IP筛选器阻止的动作:在点确定后--选择配置的“阻止所有IP远程访问”,点击下一步,如图。

点击添加--选择阻止--确定,得到下图“新筛选操作(1)”,代表的是阻止。

然后选中“新筛选操作(1)”,点击下一步--完成,如图所示,至此我们添加好了阻止特定IP访问的筛选器。

③添加允许特定IP访问的筛选器(跟添加阻止特定IP访问的筛选器步骤一样)
继续点击添加--点击添加--进入安全规则向导--一直保持默认设置点击下一步--遇到警告点击“是”,如图。

结果如下图。

点击添加--自定义IP筛选器名称为“允许特定IP远程访问”--添加--进入安全规则向导,如图。

点击下一步--源地址选择“一个特定的IP地址(SEEDUbuntu:192.168.200.3)”--下一步--目标地址选择“我的IP地址”--选择协议类型“TCP”--下一步--设置IP协议端口“从任意端口”“到此端口(输入23)”--下一步--完成。完成后,会在IP筛选列表看到添加的信息,如下图,再点击确定。

配置IP筛选器允许的动作:在点确定后--选择配置的“允许所有IP远程访问”,点击下一步。

点击添加--选择允许--确定,得到下图“新筛选操作(2)”,代表的是允许。

然后选中“新筛选操作(2)”,点击下一步--完成,如图所示,至此我们添加好了允许特定IP访问的筛选器。

④应用我们刚刚配置的两个IP安全规则(允许特定IP远程访问和阻止特定IP远程访问)
指派此安全规则:右键“限制固定IP远程访问”——选择“指派”,至此所有工作配置完成,如图。


这样被阻止访问WinXP的Kali去telnet靶机WinXP,发现一直处于trying状态,而被允许访问WinXP的SEEDUbuntu去telnet靶机WinXP发现可以连通,如图。


(3)动手实践:Snort
使用Snort对给定pcap文件(第4章中的解码网络扫描任一个pcap文件,之前的实践已经提供了,请在云班课中下载)进行入侵检测,并对检测出的攻击进行说明。在BT4 Linux攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。
1)在kali上用snort对listen.pcap文件进行入侵检测。
①输入命令snort -r listen.pcap -c /etc/snort/snort.conf -K ascii,可以看到检测到的数据包信息,有TCP,ARP,主要是TCP。

②运行命令vim /var/log/snort/snort.alert.fast打开文件,可以发现这个攻击是nmap发起的,当然还有很多其他的信息:源地址、目的地址等。可以从中找到SCAN nmap XMAS的关于nmap的报警信息。

(4)分析配置规则
分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。
1)我们先使用su -提权,然后输入vim /etc/init.d/rc.firewall去查看文件,create_chains函数定义了3个链,白名单、黑名单和防护名单,白名单是设置能通过的用户,白名单以外的用户都不能通过,黑名单是设置不能通过的用户,防护名单是部分包能通过。

2)获取IPTables的实际规则列表、snort和snort_line的实际执行参数
输入iptables -L来查看规则列表,如图。

3)通过 vim /etc/init.d/snortd 打开Snort脚本文件,可以看到监听网卡和存储配置文件的位置。

4)输入vim /etc/init.d/hw-snort_inline可以看到Snort_inline运行时参数,-D表示Daemon模式,-c表示读取config文件,-Q表示使用QUEUE模式,-l表示输出log文件的目录,-t表示改变程序执行时所参考的根目录位置,如图。

5)防火墙、NIDS、NIPS是如何启动
使用chkconfig --list|grep snort命令来对linux上运行的服务进行查询,可以发现NIDS的0~6都是off,说明是需要手动启动的,而防火墙和NIPS不全是off,是跟随系统启动的。

6)蜜网网关中的Snort规则是如何升级
使用命令vim /etc/honeywall.conf打开配置文件,找到update variables,可以看到其值为no,不自动更新,如图。

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

  • 问题1:输入命令后查看运行内容无法翻页。
  • 问题1解决方案:用shift+Fn+上下箭头即可翻页。

5.实践总结

这次试验在配置Windows操作系统平台上的个人防火墙的实验过程中遇到很多问题,做的时候感觉很复杂,但是做出来之后回顾了一下发现其实流程并不难,总体来说近几次实验上手越来越快了。

posted @ 2022-04-13 22:33  z小kk  阅读(100)  评论(0编辑  收藏  举报