20251906 2025-2026-2 《网络攻防实践》第十二周作业
一、内容总结
第1次实践 虚拟化网络攻防实验环境搭建:
本次实验主要完成网络攻防基础环境搭建,使用VMware配置仅主机模式、NAT模式两类虚拟网络,部署Windows XP、Windows 2000、kali、Ubuntu等虚拟机与Honeywall 蜜罐网关,完成各主机IP、网关、路由等网络参数配置,通过ping连通性测试与tcpdump流量监听,验证网络的互通性与蜜罐的流量捕获能力。
第2次实践 网络信息搜集:
本次实验依次完成了域名与IP信息查询、社交软件好友IP定位、Nmap端口与系统服务扫描、Nessus漏洞扫描评估、个人网络足迹排查五项内容。
第3次实践 网络嗅探与协议分析:
本次实验使用tcpdump抓取网页访问流量并识别对应服务器IP,通过Wireshark解析Telnet明文传输特性并提取登录凭证,结合Snort、p0f等工具对扫描流量文件解码,还原了攻击机与靶机IP、扫描工具、扫描方式、开放端口及攻击方操作系统。
第4次实践 TCP/IP协议栈攻击:
本次实验完成ARP缓存欺骗、ICMP重定向、SYN Flood泛洪、TCP RST复位、TCP会话劫持五类典型攻击。借助netwox、Ettercap、Wireshark等工具,实现了ARP缓存篡改、路由重定向、拒绝服务、TCP连接强制中断、明文会话账号窃取等攻击效果,验证了ARP、ICMP、TCP网络协议的设计缺陷。
第5次实践 防火墙与入侵检测:
本次实验完成了Linux iptables防火墙规则配置、Snort入侵检测离线分析、蜜网网关防火墙与IDS/IPS规则解读三项核心内容。实验中在SEEDUbuntu上配置ICMP流量过滤、指定IP端口访问控制规则并验证防护效果,使用Snort对listen.pcap流量文件进行入侵检测并查看告警日志,最后分析蜜网网关中iptables与Snort的联动机制。
第6次实践 Windows系统安全攻防:
本次实验完成了Windows系统安全策略配置、MS03-026漏洞渗透攻击、Windows系统安全加固防护三项内容。通过MMC控制台与安全模板配置账户密码策略、账户锁定策略、审计策略与用户权限指派,禁用冗余系统服务缩减攻击面;借助Metasploit框架利用 RPC接口缓冲区溢出漏洞实现远程代码执行,获取目标系统控制权;最后通过补丁安装、系统防火墙启用、口令强度加固完成系统防护升级并验证防护效果。
第7次实践 Linux系统安全攻防:
本次实验完成了Linux iptables防火墙规则配置、Snort入侵检测离线分析、蜜网网关防火墙与IDS/IPS规则解读三项核心内容。在SEEDUbuntu上配置ICMP流量过滤、指定IP端口访问控制规则并验证防护效果,使用Snort对listen.pcap流量文件进行入侵检测并查看告警日志,最后分析蜜网网关中iptables与Snort的联动机制。
第8次实践 恶意代码分析与僵尸网络:
本次实验完成了Crackme程序逆向破解、RaDa恶意代码样本分析、僵尸网络流量取证三项核心内容。通过IDA Pro静态分析与命令行验证结合,破解crackme2.exe的文件名与字符串双重校验逻辑;借助文件哈希识别、字符串提取、进程行为监控等方法,分析 RaDa恶意程序的功能、持久化特性与反分析技术;通过Wireshark、tcpdump、tcpflow等工具分析僵尸网络pcap流量,识别IRC通信节点、攻击源IP、漏洞利用行为与攻击结果。
第9次实践 缓冲区溢出攻击:
本次实验完成了手工修改程序执行流、利用栈溢出覆盖返回地址、注入自定义 Shellcode三项内容。实验中通过修改ELF二进制文件的函数调用地址,直接跳转执行 getShell函数;分析foo函数栈帧结构,构造溢出字符串覆盖返回地址,触发执行目标代码;关闭系统栈保护与地址随机化机制后,构造包含NOP滑台与Shellcode的攻击载荷,实现自定义代码的注入与执行。
第10次实践 Web安全(SQL注入与XSS):
本次实验完成了SQL注入攻击与防御、XSS 跨站脚本攻击与防御两项内容。实验中在SQL注入靶场实现了登录绕过、数据篡改等注入攻击,并通过预处理语句从根源修复注入漏洞;在Elgg社交平台完成了弹窗测试、Cookie窃取、自动加好友、资料篡改、XSS 蠕虫等多类XSS攻击。
第11次实践 Web浏览器渗透攻击与网页木马分析:
本次实验完成了浏览器漏洞渗透攻击、网页木马链式取证分析、Web 攻防对抗三项内容。实验中借助Metasploit框架利用MS06-014漏洞构造网页木马,实现靶机浏览器的远程代码执行与控制;通过逐层解密嵌套网页、MD5哈希匹配样本的方式,完整溯源网页木马的多级加载链路与最终恶意载荷;完成了混淆攻击代码构造与恶意代码逆向分析的双向攻防对抗。
二、最喜欢且做得最好的实践是哪次?为什么?
最喜欢且做的最好的实践是第十次
在之前的学习中我对数据库和网页前端的编写了解比较多,本次实验的SQL注入和xss攻击刚好与这些相关性很强,做这次试验的时候我更能理解实验背后看不到的原理和过程。做这次实验的时候我的虚拟机VMware Tools不能用,大部分攻击的代码都是手动输入,对代码的理解也更深刻。
三、本门课学到的知识总结
3.1 虚拟化网络攻防实验环境搭建
- VMware的仅主机网络模式:该模式下虚拟机仅能与同虚拟网卡下的其他虚拟机、本机通信,无法访问外网,适合搭建隔离的内部实验网络。
- VMware的NAT网络模式:虚拟机借助主机网络实现上网,同网段虚拟机之间可互相通信。
- tcpdump抓包工具:Linux下命令行流量抓取工具,可指定网卡、过滤指定协议,本实验筛选ICMP协议,抓取ping命令产生的数据包,直观观测网络通信过程。
- DHCP服务配置:在虚拟网络中设置IP地址分配范围,自动为接入的虚拟机分配IP,限定了IP起止地址,避免IP冲突。
3.2 网络信息搜集
- Nmap半开扫描(-sS):即 TCP SYN 扫描,通过发送 SYN 数据包并根据响应判断端口状态,无需完成完整 TCP 三次握手,扫描速度快且隐蔽性较强,是 TCP 端口探测的主流方式。
- Nmap UDP端口扫描(-sU):针对 UDP 协议的端口扫描方式,通过发送 UDP 数据包判断端口是否开放,常用于探测 TFTP、DNS 等 UDP 类服务,扫描速度相对 TCP 更慢。
- Nmap服务版本探测(-sV):对开放端口进行深度探测,识别端口对应的服务名称及具体版本号。
- whois域名查询:域名信息查询工具,输入域名可获取其注册商、注册时间、到期时间、域名服务器、域名状态、管理联系方式等基础注册信息。
3.3 网络嗅探与协议分析
- tcpdump流量嗅探:Linux原生抓包工具,支持通过源/目的IP、协议、端口等条件过滤捕获指定网络数据包,本次用于抓取网页访问流量,统计通信的 Web 服务器数量与对应IP。
- Wireshark协议分析工具:可视化网络数据包分析软件,支持实时抓包与离线pcap文件分析,内置显示过滤器可精准筛选指定协议、IP、端口的数据包,是网络取证、协议调试的核心工具。
- TCP SYN半开扫描原理:向目标端口发送SYN数据包,若收到SYN+ACK响应则判定端口开放,收到RST复位包则判定端口关闭;无需完成完整TCP三次握手,扫描速度快且具备一定隐蔽性。
3.4 TCP/IP协议栈攻击
- ARP缓存欺骗攻击:利用ARP协议无身份验证的设计缺陷,攻击者向目标主机发送伪造的ARP应答报文,篡改目标主机ARP缓存表中的IP-MAC映射关系,使目标流量误转发至攻击者主机。
- ICMP重定向攻击:利用ICMP路由控制报文的可信性缺陷,攻击者冒充网关向目标主机发送ICMP重定向报文,诱使目标主机修改本地路由表,将默认网关替换为攻击者主机,实现流量劫持。
- SYN Flood攻击:利用TCP三次握手的机制缺陷,攻击者持续发送大量伪造源IP的SYN连接请求,占满目标主机的半连接队列,导致合法用户无法建立正常TCP连接。
- TCP会话劫持攻击:攻击者通过ARP欺骗介入通信双方的TCP连接,在不中断连接的前提下窃取会话数据,甚至伪装成通信一方注入恶意指令,获取目标系统操作权限。
3.5 防火墙与入侵检测
- iptables防火墙:Linux系统内置的内核级包过滤防火墙,可基于IP地址、端口、协议等维度对进出主机的数据包执行放行、丢弃等处理。
- 蜜网网关:部署在靶机网络前端的专用安全网关,集成防火墙、IDS、IPS多重功能,负责捕获、管控靶机所有进出流量,完整记录攻击行为。
3.6 Windows系统安全攻防
- Metasploit框架:开源的渗透测试框架,集成了大量漏洞利用模块、Payload载荷与辅助工具,可快速实现漏洞验证、攻击利用与后渗透操作,是渗透测试的核心工具。
- Payload载荷:漏洞攻击成功后在目标系统执行的恶意代码,如反向Shell、正向Shell等,用于实现攻击者对目标主机的远程控制,是漏洞利用的最终执行环节。
3.7 Linux系统安全攻防
- iptables基础管理命令:
iptables -L用于查看当前所有规则,iptables -A用于在规则链末尾追加新规则,iptables -F用于清空全部规则。 - Snort入侵检测系统:开源网络入侵检测系统(IDS),基于特征规则匹配识别网络中的端口扫描、漏洞利用等异常行为并生成告警,支持实时网卡监听与离线pcap文件分析两种模式。
- iptables QUEUE链:iptables的特殊处理机制,可将匹配的数据包移交至用户层的安全程序进行深度检测,是防火墙与Snort IPS实现联动、完成流量深度过滤阻断的核心桥梁。
- iptables LOG链:iptables的日志记录动作,可对匹配流量生成系统日志;蜜网网关通过LOG链全量记录进出流量,留存攻击行为痕迹,支撑后续安全取证与溯源分析。
3.8 恶意代码分析与僵尸网络
- IDA Pro:专业的交互式反汇编与逆向工程工具,支持静态反汇编、动态调试、函数调用图分析等功能,可解析二进制程序的执行逻辑,是恶意代码分析与Crackme破解的核心工具。
- UPX加壳:一种常见的可执行文件压缩壳技术,通过压缩程序代码与数据段改变文件特征,既可以减小程序体积,也可用于躲避杀毒软件特征检测、增加逆向分析难度,属于基础的反分析技术。
- MD5摘要:一种哈希算法,可将任意长度的文件转换为固定长度的128位散列值,是恶意代码样本的唯一标识,用于样本识别、完整性校验与威胁情报匹配。
3.9 缓冲区溢出攻击
- eip寄存器:指令指针寄存器,存储下一条即将执行的指令的内存地址,控制程序的执行流程;缓冲区溢出攻击的核心就是篡改eip的值,使其指向攻击者指定的代码地址。
- ebp寄存器:基址指针寄存器,用于固定当前函数的栈帧底部,配合栈指针寄存器定位局部变量与函数参数,栈溢出时通常先覆盖ebp,再覆盖返回地址。
- esp寄存器:栈指针寄存器,始终指向当前栈顶位置,栈操作(压栈、弹栈)会动态改变esp的值,栈空间从高地址向低地址增长。
- 栈帧:函数调用时在栈上分配的内存区域,保存了函数的局部变量、上一层函数的ebp、函数返回地址等数据,每个函数对应一个独立的栈帧结构。
3.10 Web安全(SQL注入与XSS)
- SQL注入:Web应用最常见的高危漏洞之一,攻击者在用户输入中嵌入恶意SQL语句,后端未做过滤直接拼接进SQL查询,导致攻击者可非法读取、篡改数据库数据,甚至获取服务器权限。
- XSS跨站脚本攻击:Web应用的高危客户端漏洞,攻击者向页面注入恶意JavaScript代码,其他用户访问页面时脚本会在其浏览器中执行,可窃取Cookie、篡改页面、诱导操作等。
- bind_param方法:预处理语句的参数绑定方法,通过指定参数类型,将用户输入与SQL语句模板安全绑定,确保输入仅作为数据生效,避免注入风险。
3.11 Web浏览器渗透攻击与网页木马分析
- 反向Shell:常见的攻击载荷,目标主机主动向攻击机发起连接,建立交互式命令行会话,可绕过目标防火墙的入站限制,实现对目标主机的远程控制。
- 正向Shell:攻击载荷的一种,目标主机开放指定端口监听连接,攻击机主动连接获取Shell,适用于目标可直接访问、无防火墙拦截的内网场景。
四、课堂的收获与不足
第一次接触网络攻防领域,加上课程中的各种名词以及实验的名称很陌生,对课程内容十分迷茫,第一次实验完全跟着讲解视频一步一步做下来,做完之后写报告的时候,发现很多地方用的其实是之前学过的计网知识,在写报告的时候发现了讲解视频中一些小问题,跟同学讨论之后重新配置了一遍IP地址。后面的实验更多是,参考往届学长学姐的博客然后自己独立完成,不再完全依靠讲解视频,慢慢的我也发现很多地方与我之前学过的基础知识有很大关联,逐渐变得自信起来。第一次涉足这片领域,在做实验的过程中遇到了许多困难,也学习到了许多新的知识,这一学期的学习让我对网络攻防有了更深刻的理解和系统的概念。不足之处也有很多,比如对之前所学基础知识还掌握不够牢固,遇到问题总是想着求助别人而不是先独立思考,之后的学习中我会针对这些进行改善和提高。
浙公网安备 33010602011771号