20242935 2024-2025-2 《网络攻防实践》课程总结
2024-2025-2《网络攻防实践》课程总结
20242935 2024-2025-2 《网络攻防实践》课程总结
第一次实践 (网络攻防环境搭建)[20242935 2024-2025-2 《网络攻防实践》第一周作业 - BeenThrough - 博客园]:
本次实验为网络攻防环境搭建,主要任务是完成整个虚拟化实验平台的部署。实验中依次配置了攻击机(Kali Linux 和 Windows XP)、靶机(Metasploitable 和 Windows 2000 Server)、蜜网网关(HoneyWall)以及 SEED Ubuntu 平台。通过设置 VMnet1 与 VMnet8 两张虚拟网卡,实现了攻击子网与外网的有效隔离,并构建了具有基本通信能力的多主机网络。
在配置过程中,我调试并解决了多项实际问题,包括虚拟机无法联网、IP 地址未获取、ARP 响应异常、监听工具缺失等。通过手动分配静态 IP、调整路由配置、安装必要组件,并使用 ping
、ipconfig
、ifconfig
等命令进行测试,最终确认各主机之间通信正常,整个实验平台成功运行。整个过程涵盖了虚拟化环境、网络配置、主机互通等多个方面的具体操作,为后续实验提供了必要的基础支撑。
第二次实践 (网络信息收集技术)[20242935 2024-2025-2 《网络攻防实践》第二周作业 - BeenThrough - 博客园]:
本次实验围绕网络信息收集技术展开,实验任务涵盖对域名注册信息、IP 地理位置、主机端口、服务与漏洞信息的全面收集。实验中首先选取 baidu.com 作为目标,通过 whois
和 nslookup
等命令获取其 DNS 注册人、IP 地址及其归属地等信息,并使用资源监视器尝试识别好友的 IP 地址并进行位置查询。
使用 nmap
工具扫描靶机 SEED Ubuntu,获取了其开放的 TCP 与 UDP 端口、操作系统类型与版本信息、已安装的服务内容,并借助参数如 -sP
、-sT
、-O
、-sV
等完成详细探测。实验还通过部署 Nessus 工具对靶机进行漏洞扫描,识别了包括 FTP、Telnet、DNS 等服务的安全缺陷,并结合报告推测了可能的攻击路径与利用方式。最后通过搜索引擎检索自身在互联网上的公开信息,评估了潜在的隐私泄漏风险。
第三次实践 (网络嗅探与协议分析)[20242935 2024-2025-2 《网络攻防实践》第三周作业 - BeenThrough - 博客园]:
本次实验是网络嗅探与协议分析,分为三个任务模块。首先使用 tcpdump 对本机访问网站的过程进行嗅探,监听 Kali 虚拟机发起的 HTTP 流量,识别访问过程中涉及的 Web 服务器数量及其 IP 地址。由于原实验目标站点无法访问,改为实际访问 Bilibili 网站,成功捕获多个服务器 IP,验证了现代网站访问过程中会请求多个外部资源。
再使用 Wireshark 对 TELNET 协议进行分析,通过命令登录清华大学 BBS,并在 Wireshark 中抓取并过滤 telnet 流量,利用 Follow TCP Stream 功能还原登录会话,直观观察用户名“guest”被明文传输的过程,强调了明文协议的安全隐患。再进行取证分析,对监听到的 listen.cap 数据包进行逆向分析,定位攻击主机 IP 为 172.31.4.178,目标主机 IP 为 172.31.4.188,识别出扫描工具为 Nmap,并借助 Wireshark 与 Snort 联合确认扫描行为、开放端口及攻击机使用的 Linux 操作系统版本。实验过程中还通过安装和使用 p0f 工具实现被动系统识别,完整还原了攻击链条与取证过程。
第四次实践 (TCP/IP网络协议攻击)[20242935 2024-2025-2 《网络攻防实践》第四周作业 - BeenThrough - 博客园]:
本次实验是学习TCP/IP 协议栈中关键协议的攻击技术,涵盖 ARP 缓存欺骗、ICMP 重定向、SYN Flood、TCP RST 以及 TCP 会话劫持五种典型攻击方式。实验环境中通过将 Kali、Metasploitable、Ubuntu 等虚拟机统一至同一网段,构建了可控的对抗网络结构,为多种攻击技术的实施与观测提供了条件保障。
在 ARP 欺骗任务中,通过使用 netwox 工具伪造 MAC 地址,实现将靶机通信劫持至攻击主机,从而验证了 ARP 协议缺乏认证机制的安全缺陷。ICMP 重定向实验则模拟了伪造路由的场景,成功诱导目标主机将默认网关错误设置为攻击主机,实现了中间人攻击的基础。SYN Flood 攻击利用大量半连接占用服务端资源,验证了拒绝服务攻击的破坏力,并借助 Wireshark 观察到了伪造源地址的大量 SYN 报文。在 TCP RST 攻击环节,攻击者伪造 TCP 重置包,强制中断 Telnet 连接,实际中可用于干扰正常通信。最后,TCP 会话劫持实验通过 Ettercap 工具进行中间人拦截与会话控制,在可视化界面中成功捕获了用户明文登录数据,完整演示了从嗅探到劫持的全过程。实验中多次调整虚拟网络配置以保障攻击路径通畅,过程涉及网络接口配置、静态与动态 IP 切换、MAC 地址识别等操作细节。
第五次实践 (网络安全防范技术)[20242935 2024-2025-2 《网络攻防实践》第五周作业 - BeenThrough - 博客园]:
本次实验围绕网络安全防范技术展开,主要包括三项任务:防火墙配置、Snort 入侵检测应用,以及蜜网网关配置分析。在防火墙配置部分,通过 iptables 实现了两个功能:一是阻断 ICMP 报文,防止主机被 Ping 探测;二是限制网络访问权限,仅允许特定 IP(如 Kali 攻击机)访问靶机的 Telnet 服务,验证了基于 IP 地址的访问控制策略。操作过程中熟悉了 iptables 中规则追加、默认策略修改及规则清除的完整流程。
在入侵检测任务中,使用 Snort 工具对 listen.pcap 数据包文件进行离线分析,识别并记录了典型的网络扫描行为。实践中对 Snort 3.x 的配置文件进行了定制,启用了 alert_fast 模式并配置日志输出目录,成功输出了包括源 IP、目标 IP、攻击类型在内的详细告警信息。同时解决了 Lua 配置项注释、日志路径权限等实际问题,深入掌握了 Snort 的使用方法与故障调试技巧。最后分析了蜜网网关中防火墙及 IDS/IPS 的规则配置,通过查看 HoneyWall 的初始化脚本、iptables 策略链以及 Snort 启动配置,理解了蜜网如何通过黑白名单机制和数据包拦截功能,达到攻击流量收集与主动防御的目的。
第六次实践 (Windows系统攻防)[20242935 2024-2025-2 《网络攻防实践》第六周作业 - BeenThrough - 博客园]:
本次实验以 Windows 系统下的远程渗透与取证分析为核心内容,包含三个主要任务:Metasploit 工具实操、攻击过程的取证分析、以及小组对抗演练。通过 Kali 攻击机利用 Metasploit 框架对 Win2k 靶机的 MS08-067 漏洞实施远程攻击。在设置了 LHOST 与 RHOST 后,成功获取目标系统的 shell 权限,并使用反向连接验证了对靶机的完全控制。实验过程中还涉及虚拟网络配置调整,使攻击与靶机处于同一子网,确保数据交互顺畅。
开展了取证分析任务,使用 Wireshark 分析真实蜜罐攻击数据包日志。识别出攻击者 IP 与目标 IP,通过追踪 TCP 数据流,确认攻击者分别利用了 Unicode 漏洞与 RDS 漏洞,借助 msadc.pl 与 msadc2.pl 工具渗透系统,最终通过 Netcat 在 6969 端口建立后门连接。进一步分析显示攻击者试图提权、清除痕迹,并最终意识到目标为蜜罐主机,留下“best honeypot I’ve seen”留言。进行团队对抗实验,攻击方复现远程渗透流程,在受控主机目录下成功创建测试文件;防守方利用 Wireshark 对攻击流量进行监听与回放,分析攻击路径与漏洞利用过程。
第七次实践 (Linux操作系统攻防)[20242935 2024-2025-2 《网络攻防实践》第七周作业 - BeenThrough - 博客园]:
本次实验聚焦于 Linux 操作系统下的远程渗透与攻防对抗,共包含两个主要任务:使用 Metasploit 实施 Samba 漏洞攻击,以及配合 Wireshark 工具完成对整个攻击过程的取证分析。
在第一个任务中,攻击方通过 Kali 攻击机利用 Metasploit 框架,调用 exploit/multi/samba/usermap_script
模块,针对 Metasploitable Ubuntu 靶机上存在的 Samba Usermap_script 漏洞发起远程攻击。设置反向连接的 Payload 类型后,成功执行了渗透攻击,获取了目标主机的 shell 权限,并通过 whoami
命令确认获得 root 权限,达成提权目标。在第二个任务中,防守方利用 Wireshark 抓取并分析攻击过程中的关键数据包。通过过滤与分析 TCP 连接和反向 shell 建立过程,识别出攻击者 IP(192.168.200.6)、靶机 IP(192.168.200.5)、连接端口(4444),并提取了 TCP 会话中传输的 Shellcode 内容,进一步确认了攻击路径与通信细节。特别是在 SMB 数据包中发现 nohup
命令作为 Payload 的一部分,加深了对反向 Shell 持久化机制的理解。
第八次实践 (恶意代码分析实践)[20242935 2024-2025-2 《网络攻防实践》第八周作业 - BeenThrough - 博客园]:
本次实验围绕恶意代码分析与检测展开,主要任务包括样本文件识别、静态与动态分析、行为提取与攻击链溯源等内容。实验首先使用 hash 工具计算多个可疑样本的 MD5 值,与公开病毒库比对,初步识别其中包含 Trojan、RAT(远程访问木马)等恶意程序。
在静态分析阶段,采用 strings
工具提取可执行文件中的明文信息,发现部分样本中包含远程控制服务器地址、敏感关键词及可疑命令调用。随后使用 IDA Pro 工具对 CrackMe 样本进行反汇编分析,通过伪代码观察字符串比较逻辑与加密算法结构,逐步定位正确口令的生成方式,并结合手动测试成功绕过验证过程。动态分析部分,借助 Wireshark 和 tcpdump 工具,对样本运行过程中产生的网络连接进行监听与过滤,捕捉到其主动向外部 IP 发起连接请求的行为。通过分析连接内容、端口与请求结构,进一步还原了恶意代码可能建立 C2 信道的流程。实验中还尝试将样本上传至 VirusTotal 等平台交叉验证,印证了对样本类别与危害的初步判断。本次实验综合使用多种工具实现了对恶意代码的识别与反向推理,涵盖从文件静态结构、行为特征到网络通信的全流程分析。
第九次实践 (软件安全攻防--缓冲区溢出和shellcode)[20242935 2024-2025-2 《网络攻防实践》第九周作业 - BeenThrough - 博客园]:
本次实验围绕软件安全攻防中的缓冲区溢出与 Shellcode 注入展开,任务分为三个阶段:手工修改可执行文件指令、基于栈溢出构造攻击输入,以及注入自定义 Shellcode 实现远程执行。
任务一中,通过 objdump 对目标程序 pwn1 进行反汇编,计算 foo 函数中 call 指令的跳转偏移量,手动将其从调用 foo 改为跳转至隐藏的 getShell 函数。使用 Vim 编辑器配合 :%!xxd
进入十六进制视图,精准修改跳转地址对应的字节,再恢复文件并验证反汇编结果,完成控制流重定向。任务二中,分析 foo 函数栈帧结构,识别用户输入区域大小与返回地址偏移关系,基于此构造 32 字节填充+4 字节覆盖 EIP 的攻击字符串,将返回地址替换为 getShell 函数地址(0x0804847d),实现溢出利用。输入字符串经 Perl 脚本生成并导入程序,通过标准输入流运行验证成功。任务三中,注入自制 Shellcode 并使其在程序中执行。首先使用 execstack 工具将程序堆栈设置为可执行,再关闭系统地址随机化保护。构造输入数据格式为:前段为 NOP 滑板,中段为 Shellcode,末尾为伪造返回地址。通过 GDB 设置断点与栈地址分析,确定 Shellcode 注入位置为 0xffffd390,并最终构造 payload 完成注入,运行后成功获取 Shell 权限。整个实验系统演练了从静态修改到动态溢出,再到 shellcode 注入的完整攻击路径,涵盖地址计算、偏移控制、反汇编分析等关键技能。
第十次实践 (Web应用程序安全攻防)[20242935 2024-2025-2 《网络攻防实践》第十周作业 - BeenThrough - 博客园]:
在这次实验中,我深入实践了Web应用中的两大经典漏洞,SQL注入和跨站脚本攻击(XSS)。通过SEED平台的真实环境操作。
在SQL注入部分,我首先尝试了对SELECT
和UPDATE
语句的注入攻击,成功绕过认证进入管理员页面,甚至在不知密码的情况下修改用户的薪资信息。这让我直观感受到输入未校验的后果有多严重。而随后通过修改PHP代码、使用预处理语句来封堵漏洞,更加深刻体会到“输入验证”与“语句绑定”的重要性。在XSS部分,我从最基本的弹窗测试开始,逐步尝试了展示用户cookie、窃取cookie信息、绕过用户操作自动添加好友、自动修改资料,最后还构造了蠕虫脚本,实现了XSS的传播。这一过程极大拓展了我对XSS攻击能力的认知,让我明白了脚本注入并非“只能弹窗”,而是可以真正完成自动化、连锁攻击。这次实验中遇到的一些问题也让我提升了故障定位和排查的能力,比如PHP文件写入失败、监听端口无法收到数据等。
第十一次实践 (浏览器安全攻防实践)[20242935 2024-2025-2 《网络攻防实践》第十一周作业 - BeenThrough - 博客园]:
本次实验围绕浏览器安全攻防展开,重点研究了点击劫持(Clickjacking)、恶意扩展(Malicious Extensions)及浏览器 XSS 攻击三类常见安全问题,并完成了攻击实现与防护机制的演示。
在点击劫持实验中,搭建诱导页面并使用 <iframe>
元素嵌套目标站点,通过设置不透明遮罩按钮,引导用户在不知情的情况下点击敏感操作按钮,成功伪造了如“关注”、“修改资料”等用户行为,展示了 UI 伪装在社交网络中的风险。在防护环节,通过向响应头添加 X-Frame-Options: DENY
成功阻止页面被嵌套,验证防御效果。恶意扩展实验中,开发并部署了一个带有窃取 Cookie 和页面注入功能的 Chrome 扩展,演示了扩展如何在用户毫无察觉的前提下篡改页面内容、读取敏感数据,并将其上传至攻击者服务器。通过 Chrome 权限配置与日志分析,掌握了扩展权限机制与潜在滥用手段。浏览器 XSS 实验部分,复用前几次实验中构建的 XSS 脚本,测试了其在不同浏览器版本与设置下的表现差异,并尝试利用 CSP(内容安全策略)进行防护设置。通过配置白名单、禁用内联脚本等手段,有效限制了恶意脚本的执行范围。
最喜欢的且做的最好的一次实践是哪次?为什么?
在所有十一周的实验中,我最喜欢也最满意的是第十一次实验《浏览器安全攻防实践》。这一实验不仅是本课程中任务最复杂、工作量最大的一次,更是一项高度融合前期知识的综合性挑战。它要求我们从攻击者和防守者两个角度出发,既要掌握渗透技术和漏洞利用,也要具备对恶意脚本与可执行文件的追踪与分析能力。
这次实验,我投入了大量时间去还原整个挂马攻击链路。从构造恶意网页、诱导靶机访问,到使用 Metasploit 建立反向连接,我完成了对漏洞(如 MS06-014)的一次完整实战运用。在取证分析中,我深入解析了包含多层混淆的 HTML 与 JavaScript 脚本,使用 MD5 哈希还原木马样本路径,再借助 IDA Pro 对可执行文件进行反汇编,结合早前学到的shellcode识别技巧,逐步还原出恶意代码的真实行为与控制逻辑。
在整个过程中,我不仅巩固了前几次实验中零散的知识点,还真正建立起了“从攻击到防御、从分析到反制”的完整安全认知链条。我开始不再满足于“工具用出来”,而是更关注“攻击链如何形成”、“漏洞为何能被利用”,以及“防御可以在哪个环节介入”。
可以说,这次实验让我第一次真正体会到网络攻防不只是实验操作,更是一场思维的博弈。而我能够独立完成整个流程、识别出攻击背后的核心漏洞、还原多个木马伪装链条,也让我对自己的能力有了信心。
本门课学到的知识总结(重点写)
通过《网络攻防实践》课程的系统训练,我第一次以完整的视角了解了网络安全领域中攻击与防御的全过程,也从“知道怎么做”走向了“理解为什么这么做”,掌握了许多过去只是听说但从未真正操作过的技术和工具。以下是我在这门课中主要学到的内容:
课程的最大收获之一,是让我建立起了对网络攻防“从环境搭建、信息收集、漏洞利用、权限维持、反制取证”的完整流程认知。之前我对攻防理解是零散的、表层的,但通过每一次实验,尤其是后期复杂的组合演练,我逐渐看到了一个攻击从起点到终点背后的逻辑链条。
我系统学习并掌握了以下关键技术与工具的使用方法:
- 信息收集与扫描:通过
whois
、nslookup
、nmap
、Nessus
等工具,了解了攻击前的信息侦察阶段是如何影响后续攻击策略的; - 协议攻击与嗅探分析:掌握了ARP欺骗、ICMP重定向、SYN Flood、会话劫持等典型协议攻击技术,同时学会了用Wireshark、tcpdump等工具进行流量捕获与取证;
- 系统层渗透与提权:利用Metasploit平台,实际操作了Windows和Linux的漏洞利用,包括 MS08-067、Samba后门、shellcode注入等;
- Web安全防护与攻击:掌握了SQL注入、XSS、脚本蠕虫构造与传播、木马挂马等Web攻击方式,并能通过代码修复与预处理方法完成防御;
- 恶意代码分析与解密:能够用IDA Pro、脱壳工具、md5校验工具等还原病毒行为,识别Shellcode、反混淆脚本,完成完整的静态分析流程;
- 攻防对抗思维:尤其在后期几次实验中,我开始习惯从“攻击者的视角”思考漏洞,又从“防守者的视角”反推防御环节,这种切换让我理解了防御必须建立在对攻击足够了解的基础上。
课程初期重点训练了攻防实验环境的搭建,包括多虚拟机系统配置、网络拓扑划分、子网连接与隔离策略等,为后续的实验奠定了良好平台。通过手动配置 Kali、Metasploitable、Windows Server、SEED Ubuntu、HoneyWall 等虚拟系统,掌握了多操作系统网络联通与基本安全策略的部署方法。
在信息收集、漏洞扫描、协议嗅探、口令破解、权限提升、漏洞利用等多个模块的实践中,我系统学习了攻击链条的每个阶段。从 Nmap、Netcat、Metasploit、Snort、tcpdump 等工具的使用,到手工构造溢出字符串、部署反弹 shell、植入 Shellcode,再到分析恶意代码的传播与回连机制,我对网络攻击的实施流程、关键技术节点以及绕过手段都有了实战理解。
课程不止于攻击实施,更注重从防御者角度出发,学习入侵检测、日志分析、防火墙配置、蜜网机制、XSS/SQL 注入防御、浏览器防护策略等内容。通过规则配置与数据分析,理解了如何从网络流量中识别威胁源,如何建立有效的访问控制策略与检测机制,提升了从“被动响应”向“主动防御”转变的能力。
在实验中多次进行取证分析与攻击回溯,锻炼了从数据中重建攻击路径的能力。同时,对浏览器安全、恶意扩展、社交工程等攻击面有了直观认知,增强了日常使用互联网时的安全意识。课程强调攻击者视角与防御者思维的双向训练,使我能够更系统地理解网络空间的安全逻辑。
实验中经常遇到系统配置冲突、指令执行异常、网络异常、端口监听失败等问题,需要查阅文档、调试参数、设计绕过方法。
课堂的收获与不足
这门课程设计了11次覆盖全栈攻防链路的实验任务,从环境搭建到协议层攻击,从Web漏洞到浏览器挂马,从系统渗透到木马分析,涵盖了多个真实场景和常见攻击技术。通过动手实践,我真正理解了“攻防对抗”并非抽象概念,而是可以一步步还原和重现的技术过程。
课程内容让我系统掌握了多种网络安全工具,如Metasploit、Nmap、Wireshark、Snort、IDA Pro、Nessus等,这些工具原本只是我在网上“听说过”的名词,现在我已经能在实验中完成环境配置、功能调用、日志分析等操作,并理解了其背后的技术原理。做实验使我的问题解决能力增强。实验过程中经常会遇到配置错误、网络不通、工具无法使用等问题,但正是这些挑战让我学会了如何查文档、改配置、调试环境、复现bug,锻炼了耐心和细致的技术习惯。
在进行如蜜罐分析、浏览器渗透等需要多机协同或资源占用较高的实验时,虚拟机运行明显较卡,有时影响实验效率,建议后续课程在硬件资源支持或远程平台流畅度上进一步优化。
参考资料
【超详细】渗透测试平台Metasploit使用教程(框架介绍、靶机安装、基本使用方法)-CSDN博客
网络分析工具——WireShark的使用(超详细)-CSDN博客
snort实现入侵检测功能_snort入侵检测-CSDN博客
sql注入和xss注入有什么不一样呢?_xss和sql注入的区别-CSDN博客
浅析缓冲区溢出漏洞的利用与Shellcode编写_可利用该漏洞使缓冲区溢出并在系统上执行任意代码-CSDN博客
【收藏】10大常用恶意软件检测分析平台_51CTO博客_恶意软件分析与检测