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

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

1. 内容总结

第一次实践 网络攻防实践环境
主要学习了用VMware Workstation搭建整套个人攻防实验环境,包含SEED Ubuntu、Kali、WinXP三台攻击机,Metasploitable、Win2kServer两台靶机,以及HoneyWall蜜网网关。实验里一步步配置了VMnet1和VMnet8虚拟网卡,导入虚拟机调整网络参数,完成蜜网网关的多网卡配置和提权,最后用ping和tcpdump验证了连通性和流量捕获。配置网关的时候踩了不少拓扑和权限的坑,反复调了好几次才通,算是给后面所有实验打好了环境基础。

第二次实践 网络信息收集技术
这次实验围绕信息收集和扫描展开,内容还挺丰富的:用WHOIS查了百度域名的注册信息和IP归属;试着通过社交软件通话抓包定位了好友IP;用Nmap扫了靶机的存活主机、开放端口和操作系统类型;用Nessus做了漏洞扫描,整理出了靶机的安全隐患和攻击思路;最后还搜了自己的网络足迹,真切感受到了平时上网留下的痕迹有多容易泄露隐私。

第三次实践 网络嗅探与协议分析
这次主要练了tcpdump和Wireshark两款抓包工具,学会了怎么捕获、解析网络流量,理解了数据传输的底层逻辑。实验分三部分:先用tcpdump抓访问网易的流量,统计出了连接的Web服务器IP;再用Wireshark抓TELNET登录BBS的包,亲眼看到了账号密码明文传输的风险;最后分析给定的listen.pcap日志,用tshark和p0f还原了一次扫描攻击的全过程,找出了攻击者IP、用的扫描工具和靶机开放的服务。

第四次实践 TCP/IP网络协议攻击
这次实验实打实复现了五种协议层攻击,终于搞懂了课本里讲的协议缺陷到底怎么用。具体包括:伪造ARP响应实现中间人欺骗;发伪造的ICMP重定向报文改靶机的路由;用netwox给靶机Telnet服务打SYN Flood洪水攻击;构造TCP RST包直接掐断靶机的连接;最后结合ARP欺骗和Ettercap劫持了TCP会话,直接拿到了BBS的明文账号密码。

第五次实践 网络安全防范技术
前面都是学攻击,这次换到防守方视角,学了防火墙、入侵检测和防御系统。用iptables配了规则,实现了过滤ICMP包、限制指定IP访问Telnet服务;用Snort分析离线pcap流量,成功识别出了Nmap扫描行为,还分析了攻击的特征;最后啃了蜜网网关的防火墙脚本和Snort配置,搞懂了黑白名单机制,以及IDS和IPS联动拦截攻击的原理。

第六次实践 Windows操作系统安全攻防
这次实验围绕Windows系统的攻防展开。先是用Metasploit打MS08-067漏洞,一次就成功拿到了靶机的系统权限,特别有成就感;然后给一份真实的蜜罐流量做取证,一步步还原了攻击者用Unicode目录穿越、RDS漏洞传后门、偷密码哈希的完整攻击链,还发现攻击者其实察觉到了蜜罐;最后做了分组攻防对抗,攻击方打漏洞,防守方抓包分析流量特征,两边视角都体验了一遍。

第七次实践 Linux操作系统安全攻防
这次是Linux平台的渗透和流量分析。用Metasploit利用Samba服务的Usermap_script漏洞,成功拿到了靶机的远程Shell。攻防对抗环节里,我们防守方对着抓的包一点点拆,从TCP三次握手、SMB协商,到攻击者把带反向连接的命令藏在用户名里触发漏洞,最后靶机主动回连攻击机,完整把攻击链还原了出来,比只看教程印象深多了。

第八次实践 恶意代码安全攻防
这次实验分恶意代码逆向和僵尸网络流量取证两部分。逆向部分给RaDa样本脱了UPX壳,提取字符串找到了作者信息和后门功能,还用IDA Pro分析了两个crackme程序,顺着函数逻辑找到了正确的参数。流量部分对着蜜罐抓的僵尸网络包分析,追踪IRC控制信道,统计了僵尸主机的数量,完整还原了攻击者攻陷蜜罐、加入僵尸网络的全过程。

第九次实践 软件安全攻防——缓冲区溢出和Shellcode
这次是公认最难也最硬核的一次实验,对着pwn1程序用三种方法执行隐藏的getShell函数。第一种是反汇编后直接改机器码,把调用foo改成调用getShell;第二种是利用栈溢出漏洞,构造输入字符串覆盖返回地址,劫持程序执行流;第三种是关掉地址随机化和栈保护,注入自己写的Shellcode,配合NOP滑板成功弹出了系统Shell。

第十次实践 Web应用程序安全攻防
这次实验做了SQL注入和XSS两大类Web漏洞。SQL注入部分,构造语句绕过了登录验证直接进管理员后台,还利用UPDATE语句篡改了员工信息,最后用预编译语句把漏洞修好了。XSS部分在Elgg社交平台上做,从最简单的弹窗,到偷Cookie,再到用Ajax自动加好友、改别人资料,最后甚至写了个能自我传播的XSS蠕虫,也了解了输入过滤、CSP这些防御方法。

第十一次实践 Web浏览器安全攻防
这次实验围绕浏览器渗透和网页木马展开。先是用Metasploit利用MS06-014漏洞做浏览器挂马,受害者一访问页面就能拿到Shell;然后分析了一个加密的网页木马,解密了XXTEA混淆的JS代码,搞懂了堆喷射技术,追踪了恶意程序bd.exe的行为;最后攻防对抗,攻击方做了带双漏洞的混淆挂马页面,防守方扒源码还原了攻击URL和漏洞原理。

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

我最喜欢、也觉得自己做得最扎实的一次,是第9次缓冲区溢出和Shellcode实验。

之所以最喜欢,是因为这次实验真的让我摸到了二进制漏洞的本质。之前学汇编、学栈结构都是课本上的示意图,这次是亲手改机器码、算返回地址、构造payload,看着程序从正常执行到被我劫持走向,最后弹出Shell的那一刻,冲击力特别强。尤其是最后注入自定义Shellcode的部分,我对着资料调了好久,小端序搞反过、地址算错过、忘关ASLR导致每次地址都变,踩了一堆坑,最后成功的时候成就感直接拉满。

说它是我做得最好的一次,是因为我没有只满足于“照着步骤跑通”。每一步我都逼着自己搞懂为什么要这么做:为什么返回地址要倒着写?为什么前面要填一堆NOP?函数调用的时候栈里到底存了什么?慢慢把这些问题想通之后,我不仅会做这个实验,还真正理解了函数调用的栈帧结构,理解了缓冲区溢出到底是怎么颠覆程序控制权的。这种从“知其然”到“知其所以然”的感觉,是其他照着工具点的实验比不了的。

3. 本门课学到的知识总结

实践1:网络攻防实验环境

  • 攻防环境四大组成:靶机、攻击机、检测防御平台、网络连接
  • 蜜罐与蜜网:蜜罐是故意预留漏洞的主机,用来诱捕攻击者;蜜网网关是透明的捕获分析平台,不会被攻击者察觉
  • VMware三种网络模式:
    • 桥接模式:虚拟机直连物理网络,和宿主机同网段,拥有独立IP
    • NAT模式:通过宿主机转发上网,虚拟机使用私有IP,外网无法直接访问
    • 仅主机模式:完全和外网隔离,只能与宿主机通信,安全性最高

总结:掌握了全套攻防环境的搭建方法,能独立配置虚拟机网络、排查连通性问题,搞懂了不同网络模式的适用场景,给后续所有实验铺好了基础。

实践2:网络信息收集技术

  • 信息收集三层方法:网络踩点(公开信息搜集、域名IP查询)、网络扫描(主机/端口/漏洞扫描)、网络查点(服务旗标抓取、服务细节探测)
  • Nmap:核心安全扫描工具,支持主机存活探测、端口扫描、服务识别、操作系统指纹识别,还能通过NSE脚本扩展功能
  • Nessus:专业漏洞扫描器,可批量检测系统与服务的已知漏洞,输出风险评级和修复建议

总结:学会了WHOIS、nslookup等域名查询工具;能熟练使用Nmap常用参数完成扫描任务;会用Nessus生成漏洞分析报告;也真切意识到了网络隐私泄露的风险,明白了信息收集是攻防流程的第一步。

实践3:网络嗅探与协议分析

  • 网络嗅探:将网卡开启混杂模式,截获链路上的所有数据包;协议分析就是按照TCP/IP协议栈逐层拆包,还原其中的传输内容
  • 两款核心工具:tcpdump是轻量命令行工具,适合快速抓包与过滤;Wireshark是图形化工具,协议解析更全面,适合深度流量分析

总结:掌握了tcpdump的抓包过滤语法,理解了基于libpcap的抓包原理;能用Wireshark跟随TCP流,还原明文传输的账号密码;认识到了Telnet这类明文协议的安全缺陷;学会了从流量日志中还原攻击行为,培养了基础的取证分析思维。

实践4:TCP/IP网络协议攻击

  • 网络层攻击:
    • IP源地址欺骗:伪造源IP地址,实现身份隐藏、冒充其他主机
    • ARP欺骗:篡改IP与MAC的映射关系,实现中间人监听、流量篡改
    • ICMP重定向攻击:伪装成路由器发送虚假路由报文,引导受害者流量走攻击者指定路径
  • 传输层攻击:
    • TCP RST攻击:伪造重置报文,强行断开目标的TCP连接
    • TCP会话劫持:接管已完成身份认证的TCP连接,绕过验证直接操作
    • SYN Flood:发送大量伪造源IP的SYN包,占满目标的半连接队列,造成拒绝服务

总结:搞懂了TCP/IP协议设计中的原生缺陷,能用netwox工具复现这几类经典攻击;直观感受到了明文传输、无身份验证协议的安全隐患,也理解了HTTPS、ARP防护等技术的必要性。

实践5:网络安全防范技术

  • 防火墙:部署在网络边界的访问控制设备,按照预设规则决定流量是否放行,是最基础的网络防御设施
  • 入侵检测系统(IDS):采用旁路部署模式,发现攻击行为后触发告警,不直接阻断流量
  • 入侵防御系统(IPS):串行部署在链路中,检测到攻击后直接丢弃报文阻断攻击,属于主动防御设备

总结:熟练掌握了iptables基础配置,能够增删规则,按IP、协议、端口实现访问控制;会使用Snort编写简单规则检测扫描攻击;理解了蜜网网关的整体架构,搞懂了黑白名单机制与IDS/IPS联动的防御逻辑。

实践6:Windows操作系统安全攻防

  • Windows攻击三大方向:
    • 口令攻击:通过暴力破解、字典攻击猜解系统或服务的登录密码
    • 服务攻击:针对SMB、IIS、MSSQL等服务的漏洞发起远程渗透,获取系统权限
    • 客户端攻击:针对浏览器、办公软件的漏洞,结合社会工程学诱导用户触发
  • MS08-067:经典RPC路径溢出漏洞,通过SMB协议即可远程利用,无需用户交互,曾造成极广的影响
  • 攻击完整流程:获取权限→权限提升→窃取数据→清理日志→植入后门,实现长期控制

总结:掌握了Metasploit的基础使用流程,能够选择模块、配置payload、获取反弹Shell;能从流量中识别漏洞利用、后门反弹的行为特征;通过攻防对抗同时体验了攻守双方视角,对完整攻击链路的理解更立体。

实践7:Linux操作系统安全攻防

  • Usermap_script漏洞(CVE-2007-2447):Samba服务的用户名映射功能未过滤特殊字符,输入包含Shell元字符的用户名即可执行任意命令
  • Linux常见攻击路径:远程口令爆破、网络服务漏洞利用、客户端漏洞攻击、网络设备攻击

总结:会使用Metasploit利用Samba漏洞获取远程Shell;能从流量中追踪攻击过程,识别恶意命令与反向连接行为;对比Windows与Linux攻防差异,理解了不同操作系统的安全特点与防御思路。

实践8:恶意代码安全攻防

  • 常见恶意代码类型:
    • 病毒:需要依附宿主文件,依赖人工操作传播,具备自我复制感染能力
    • 蠕虫:无需宿主,可通过网络主动扩散、自我复制
    • 木马:伪装成正常软件,背地里为攻击者预留访问后门
    • 僵尸网络:控制大量主机组成攻击网络,用于发起DDoS、发送垃圾邮件等
    • 内核套件:隐藏在系统内核中获取最高权限,极难被检测清除
  • 两类分析方法:
    • 静态分析:不运行程序,通过脱壳、反汇编、字符串提取分析代码逻辑
    • 动态分析:在沙箱环境中运行样本,监控系统、网络、文件层面的行为

总结:会使用PEiD识别加壳类型、完成UPX脱壳;能用IDA Pro做基础静态逆向,分析简单crackme程序;能从流量中识别僵尸网络控制信道,统计僵尸主机规模;理解了恶意代码传播、隐藏、持久化的完整技术链路。

实践9:软件安全攻防——缓冲区溢出和Shellcode

  • 缓冲区溢出:输入数据超出缓冲区长度,溢出数据覆盖相邻内存区域(如栈上的返回地址),即可劫持程序执行流
  • 栈溢出是最经典的漏洞类型,利用的就是栈变量缺乏边界检查的缺陷
  • Linux下三种栈溢出利用模式:
    • NSR模式:缓冲区空间充足时,采用「NOP滑板+Shellcode+返回地址」结构,跳转至NOP区滑行执行代码
    • RNS模式:缓冲区空间较小时,采用「返回地址+NOP滑板+Shellcode」结构,溢出后跳转至NOP区
    • RS模式:将Shellcode存入环境变量,地址固定,可直接跳转,无需NOP滑板

总结:彻底搞懂了栈帧结构与函数调用的底层逻辑;会用objdump反汇编、GDB做动态调试;能自主构造payload完成栈溢出攻击;也理解了ASLR、栈不可执行等系统防护机制的作用原理。

实践10:Web应用程序安全攻防

  • SQL注入:用户输入未做严格过滤,直接拼接进SQL语句,攻击者可篡改查询逻辑,实现越权登录、数据窃取与篡改
  • XSS跨站脚本:用户输入的脚本代码被页面直接渲染执行,攻击目标是网站访问用户,可实现Cookie窃取、钓鱼、页面篡改

总结:掌握了SQL注入的基础利用方法,也知道用参数化查询从根源修复漏洞;会编写基础XSS payload,理解反射型、存储型XSS的区别;了解输入过滤、CSP等防御手段,也知道对应的基础绕过思路。

实践11:Web浏览器安全攻防

  • 网页木马:利用浏览器或插件的安全漏洞,受害者访问恶意页面即可执行恶意代码、植入后门程序
  • 四种常见挂马方式:
    • iframe内嵌:在正常页面嵌入恶意页面的iframe,隐蔽性强
    • 脚本引用:通过外部JS脚本动态生成恶意内容,便于更新、难以排查
    • 对象嵌入:利用图片、Flash等文件的漏洞,上传恶意文件实现挂马
    • ARP挂马:不直接攻击网站,通过中间人篡改正常网站响应,注入恶意脚本

总结:理解了浏览器端渗透的完整流程,会用Metasploit实现浏览器攻击;能分析简单的混淆、加密JS恶意代码;搞懂了堆喷射这类经典漏洞利用技术;也认识到了客户端侧的安全风险与防护方法。

4. 课堂的收获与不足

这学期十一次实验做下来,收获真的特别大。最直观的就是,我从一个对网络安全只有模糊概念的新手,慢慢搭建起了一套完整的知识体系——从最底层的二进制漏洞、系统攻防,到网络层的协议攻击、流量分析,再到上层的Web安全、浏览器安全,每一块都亲手实操过,不再是课本上干巴巴的名词。

更重要的是思维上的变化。现在上网的时候,我会下意识想这个网站会不会有注入漏洞,这个链接会不会是挂马的;电脑出问题的时候,也会先想想是不是中了恶意代码,而不是只会重启。这种“攻防双视角”的思维方式,我觉得是比具体技术更宝贵的收获。而且每次实验遇到问题,自己查资料、调参数、排错的过程,也锻炼了我解决问题的能力,不再是只会照着教程一步一步抄。

当然不足也挺明显的。首先是很多底层原理还吃得不透,比如缓冲区溢出实验虽然跑通了,但让我自己写一段复杂的Shellcode、挖一个新漏洞,肯定还是做不到;其次是攻防能力不太平衡,攻击的操作练得多,防御端的配置、规则编写就比较生疏;还有就是现在做实验都是环境配好、漏洞明确告诉我们,要是放到真实环境里自己从0开始踩点、找漏洞,估计还差得远。

网络安全这个领域技术更新特别快,新漏洞、新攻击手段层出不穷。这门课只是给我开了个头,后面还得自己多泡靶场、多学新知识,把基础打牢,才能跟上节奏。

posted @ 2026-06-17 14:38  杨小烊  阅读(11)  评论(0)    收藏  举报