mianmianking

导航

20151912 2025-2026-2 《网络攻防实践》课程总结

1.内容总结

第一次实践 网络攻防环境搭建

本次实验主要是搭建了一个环境,涉及到了子网划分相关知识。本次实验搭建了一套包含攻击机、靶机和蜜网网关的完整攻防环境。配置了VMware的NAT和仅主机模式作为攻击网段与靶网段,安装了三台攻击机(WinXP、Kali、SEED)和两台靶机(Win2kServer、Metasploitable),并部署了蜜网网关作为透明网桥。对蜜网网关进行了网络参数、蜜罐IP及Sebek服务的配置,最后测试了各虚拟机间的连通性,并通过抓包验证了蜜网网关对攻击流量的捕获能力。

第二次实践 网络信息收集

本次实验主要完成了四个任务。一是对可信网站进行DNS域名信息查询从而获取有关DNS、IP、注册人和地理位置等信息并获取QQ中一好友的IP地址,并查询获取该好友所在的具体地理位置;二是使用Nmap工具对靶机环境进行扫描,查看靶机IP地址活跃状态以及靶机开放的端口,OS,安装服务的一些信息;三是使用Nessus开源软件对靶机环境进行扫描,查看靶机开放的端口以及存在的漏洞;四是通过搜索引擎搜索自己在网上的足迹确认自己是否有隐私和信息泄漏问题。

第三次实践 网络嗅探与协议分析

本次实验使用tcpdump对访问网站的过程进行抓包,分析了浏览器实际连接的多个服务器地址。使用Wireshark对Telnet登录水木社区的过程进行抓包,通过追踪TCP流获取了明文传输的用户名和密码,验证了Telnet协议不加密的安全问题。最后对提供的listen.pcap文件进行取证分析,通过ARP请求、ICMP探测和TCP SYN包特征,判断出攻击主机IP、目标IP、扫描方法(SYN半开扫描)、开放端口列表,并利用p0f工具识别出攻击主机的操作系统类型。

第四次实践 TCP/IP网络协议攻击

本次实验主要完成了五个任务。一是使用arpspoof工具对靶机实施ARP缓存欺骗攻击,将靶机流量重定向至攻击机;二是使用netwox 86构造ICMP重定向报文,伪装成网关修改靶机的路由缓存;三是使用netwox 76对靶机端口发起SYN Flood攻击,耗尽半开连接队列资源;四是使用netwox 78发送伪造的TCP RST包,强制中断靶机已建立的telnet会话;五是通过ettercap实施中间人攻击,从网络流量中捕获telnet登录的用户名和密码,实现TCP会话劫持。

第五次实践 网络安全防范技术

本次实验主要完成了三项任务。一是使用iptables配置防火墙规则,实现了禁止ICMP回显请求和基于源IP的Web服务访问控制。二是使用Snort对pcap包进行离线分析,识别了流量中的协议分布和SYN半开扫描行为。三是分析了防火墙规则表与Snort配置文件,理解了iptables规则匹配顺序及Snort的QUEUE模式、守护进程运行等参数。

第六次实践 Windows系统攻防

本次实验使用Metasploit框架的MS08-067漏洞模块对Windows靶机进行远程渗透,通过配置反向shell载荷成功获取靶机权限。在取证分析环节,用Wireshark分析网络数据包,从HTTP流量中识别出Unicode绕过攻击特征和特定攻击脚本,从FTP流量中发现攻击者上传的后门工具,并从异常端口的连接中还原出攻击者远程控制的完整过程。

第七次实践 Linux系统攻防

本次实验使用Metasploit框架的Samba usermap_script漏洞模块对Linux靶机进行远程渗透,通过配置正向连接载荷成功获取靶机root权限。在攻防对抗环节,攻击方实施漏洞利用的同时,防守方使用Wireshark捕获攻击流量,从追踪的TCP流中提取出shellcode内容以及攻击成功后执行的命令

第八次实践 恶意代码分析实践

本次实验分为两个主要部分。第一部分是对RaDa恶意代码样本进行分析,通过脱壳、字符串提取和动态监控,识别了样本的文件类型、加壳信息、功能特征、反分析技术及作者信息,并判定其为木马类型。第二部分是对僵尸网络数据包进行分析,使用Wireshark和tcpflow等工具定位了IRC服务器、统计了被控主机数量,并通过分析端口流量确定了成功攻击的漏洞。此外还通过Crackme程序练习了IDA Pro的基本使用。

第九次实践 软件安全攻防--缓冲区溢出和shellcode

本次实验针对一个存在栈溢出漏洞的Linux可执行文件,分别用三种方式实现控制流劫持。第一种是手工修改二进制文件,通过反汇编找到getShell函数地址和call指令位置,用十六进制编辑器修改相对偏移,使程序直接跳转到getShell。第二种是利用foo函数的缓冲区溢出漏洞,用GDB配合cyclic模式字符串计算偏移量,构造覆盖返回地址的payload,成功触发getShell。第三种是注入shellcode,先关闭ASLR并用execstack设置堆栈可执行,在GDB中调试确定返回地址后,构造包含NOP滑动区和shellcode的payload,完成注入执行。

第十次实践 Web应用程序安全攻防

本次实验分为SQL注入和XSS攻击两部分。SQL注入部分,通过构造'#等payload绕过登录验证,利用UPDATE语句的注入漏洞越权修改其他用户的薪水信息,最后使用参数化查询修复了漏洞。XSS攻击部分,在Elgg平台的个人简介中注入恶意脚本,实现了弹窗、窃取Cookie、添加好友、篡改他人资料以及编写具有传播性的XSS蠕虫,最后启用HTMLawed插件成功防御了XSS攻击

第十一次实践 浏览器安全攻防实践

本次实验分为三个部分。第一部分使用Metasploit框架的MS06-014漏洞模块对Windows 2000靶机进行浏览器渗透攻击,通过生成恶意URL诱导靶机访问,成功获得远程Shell并执行系统命令。第二部分对网页木马样本进行取证分析,从入口文件开始逐层跟踪恶意跳转链,经过MD5散列值下载、Base64解码、XXTEA解密、Packer解混淆等多轮处理,最终提取出多个恶意可执行文件下载地址。第三部分在攻防对抗中,攻击方构造混淆后的渗透攻击代码并组装成URL,防守方对挂马链接进行解混淆分析,还原出漏洞利用代码的原始形态。

2.最喜欢且做得最好的实践是哪次?为什么?

本次课程中我最喜欢的实践是第十次实验(SQL注入与XSS跨站脚本攻击)。主要原因有三点:一是本科时虽然学过SQL注入,但构造语句总是学得一头雾水,这次实验完全弄懂了每一步的意图和实现原理;二是这次实验的实用性很强,SQL注入和XSS在真实Web安全场景中非常常见,学完之后能直接理解很多漏洞原理;三是这次实验的博客我写得特别详细,下一届的学弟学妹如果参考我的实验报告,应该能很容易地跟着复现整个过程。

3.本门课学到的知识总结(重点写)

第一次实验:网络攻防环境搭建

  • VMware三种网络模式:NAT模式(虚拟机通过主机上网)、仅主机模式(封闭网络,不能上网)、桥接模式(虚拟机与主机平级)
  • 蜜罐:被攻击的诱饵系统,故意暴露漏洞吸引攻击者
  • 蜜网网关:透明监控攻击流量的“摄像头”,与蜜罐分工协作
  • 静态IP配置、虚拟网络编辑器设置、快照的备份与恢复

第二次实验:DNS查询、Nmap扫描与Nessus漏洞检测

  • nslookup和whois命令:查询域名IP、注册人、地理位置信息
  • Nmap扫描:主机发现(-sn)、SYN半开扫描(-sS)、版本探测(-sV)、操作系统识别(-O)
  • Nessus漏洞扫描器:配置扫描任务、查看漏洞报告、区分高危/中危/低危漏洞
  • 现代即时通讯软件不直接暴露用户真实IP,文字消息走服务器中转

第三次实验:网络嗅探与协议分析

  • tcpdump抓包:抓取访问网站时的DNS解析和HTTP流量
  • Wireshark分析Telnet登录:追踪TCP流获取明文传输的用户名和密码
  • TCP三次握手:SYN、SYN+ACK、ACK
  • SYN半开扫描特征:攻击机发SYN,收到SYN+ACK后立即发RST,不完成握手
  • p0f工具:被动分析数据包特征判断操作系统类型

第四次实验:网络攻击技术实践

  • ARP缓存欺骗:伪造ARP响应,让靶机把流量误发给攻击机
  • ICMP重定向攻击:伪装成网关修改靶机路由缓存,劫持流量
  • SYN Flood攻击:发送大量伪造源IP的SYN包,耗尽半开连接队列
  • TCP RST攻击:伪造RST包强制中断目标连接
  • TCP会话劫持:通过ARP欺骗实现中间人,捕获telnet等明文协议的登录凭证

第五次实验:防火墙配置与入侵检测实践

  • iptables规则:INPUT/OUTPUT/FORWARD链,规则匹配顺序(先允许后拒绝)
  • 基于源IP的Web访问控制:限定特定主机访问80端口
  • Snort入侵检测:离线分析pcap包,识别端口扫描行为
  • Snort的QUEUE模式:将数据包交给用户态程序处理

第六次实验:Metasploit渗透攻击与网络取证分析

  • MS08-067漏洞的利用:search查找模块、set payload配置反向shell、exploit攻击
  • Wireshark取证分析:过滤HTTP/FTP/特定端口流量,还原攻击链
  • 识别攻击特征:Unicode绕过、特定攻击脚本、后门文件传输、异常端口连接

第七次实验:Samba漏洞渗透攻击

  • Samba usermap_script漏洞原理:用户名中的特殊字符触发命令注入
  • exploit与payload的区别:exploit是攻击代码,payload是攻击成功后在靶机执行的操作
  • 正向连接(bind_netcat)与反向连接(reverse_netcat)的区别
  • 攻防对抗:攻击方实施漏洞利用,防守方用Wireshark捕获攻击流量并提取shellcode

第八次实验:恶意代码分析与僵尸网络流量取证

  • PE文件格式识别、UPX加壳与脱壳
  • strings提取字符串、Process Explorer动态监控行为
  • 恶意代码分类:后门、木马、病毒、蠕虫的区别
  • 反分析技术:字符串混淆、延迟执行、间接调用系统组件
  • IRC僵尸网络:IRC协议端口、NICK/USER注册消息、tcpflow统计被控主机

第九次实验:Linux下PWN漏洞利用

  • 栈溢出原理:gets等不安全函数覆盖返回地址,控制程序执行流
  • 静态修改二进制文件:call指令相对偏移(补码形式),十六进制编辑器修改机器码
  • 返回地址覆盖:用cyclic生成规律字符串,GDB调试确定偏移量
  • shellcode注入:关闭ASLR、设置堆栈可执行、NOP滑板提高命中率

第十次实验:SQL注入与XSS跨站脚本攻击

  • SQL注入:SELECT注入绕过登录('#)、UPDATE注入越权修改其他用户数据、参数化查询防御
  • 存储型XSS:在个人简介注入脚本,其他用户访问时自动执行
  • XSS + CSRF组合:用JavaScript模拟添加好友、修改资料请求
  • XSS蠕虫:恶意代码在用户间自动传播
  • HTMLawed插件:过滤script等危险标签,防御XSS攻击

第十一次实验:Web浏览器渗透攻击与网页木马取证

  • MS06-014漏洞:IE浏览器createObject方法的远程代码执行漏洞
  • 网页木马跳转链:多层跳转 + Base64/XXTEA/Packer/十六进制等编码混淆
  • MD5散列值作为资源定位符:计算下一级文件地址的MD5,到服务器下载对应文件
  • 取证分析方法:从入口文件逐层跟踪、每轮解密提取新地址、下载、继续分析,直到链路终止或遇到二进制文件

4.课堂的收获与不足

收获
通过这门课程的十一次实验,我完整走完了从网络攻防环境搭建到各类攻击技术与防御实践的流程。最核心的收获是对网络攻防有了从理论到实践的完整认识。以前在本科课程中接触过SQL注入,但总是对构造语句一知半解,这次完全弄懂了每一步的意图和实现原理。另外在动手能力上也有明显提升,比如学会了用Wireshark分析流量包、用GDB调试程序、用Metasploit进行渗透测试,以及用iptables和Snort做防御配置。最重要的是建立了攻防对仗的思维方式——做攻击实验时想的是“怎么绕过去”,做防御实验时想的是“怎么堵住”,这种双向视角对理解安全问题的本质帮助很大。

不足
首先是对部分底层协议的理解还不够深入,比如TCP序列号的预测、IP分片重组等细节,在实验中虽然用到了但原理上还需要进一步巩固。其次是面对完整的攻击取证链条时,有时会被多层编码和混淆打乱节奏,解码和追踪效率不高,需要更系统地掌握常见的混淆与编码模式。另外在自动化分析方面做得不够,大部分实验步骤是手工完成的,写脚本辅助分析的能力还需要加强。最后是每次实验后的总结深度不一,有些实验记录偏操作流程,对原理和踩坑的总结不够透彻。

posted on 2026-06-03 17:07  眠眠大王  阅读(9)  评论(0)    收藏  举报