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

一、内容总结

第1次实践 环境搭建

配置靶机、攻击机、蜜网网关

第2次实践 网络信息收集

  • 体验查询网址dns及其相关信息,通过截获ip获取其属地
  • 学习nmap、Nessus工具的使用

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

学习并实践tcpdump、Wireshark工具

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

  • ARP 缓存欺骗攻击
    攻击者发送伪造 ARP 响应报文,篡改目标主机或网关的 ARP 缓存表,将自身 MAC 地址与合法 IP 绑定,从而实现中间人窃听、流量劫持或断网攻击。
  • ICMP 重定向攻击
    攻击者伪造 ICMP 重定向报文发送给目标主机,诱使其修改路由表,将网络流量转发至攻击者控制的主机,实现流量劫持与信息窃取。
  • SYN Flood 攻击
    攻击者利用 TCP 三次握手缺陷,大量发送伪造源 IP 的 SYN 包,不回应服务器的 SYN+ACK,导致服务器维持大量半开连接耗尽资源,形成拒绝服务。
  • TCP RST 攻击
    攻击者嗅探并伪造携带合法序列号的 TCP RST 报文,发送给通信双方,强制中断已建立的 TCP 连接,造成业务异常断开。
  • TCP 会话劫持攻击
    攻击者通过嗅探获取 TCP 序列号与确认号,伪造合法报文冒充通信一方,直接接管已建立的 TCP 会话,实现未授权操作与数据篡改。

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

  • 学习防火墙设置规则
  • 学习snort工具使用

第6次实践 Windows系统安全攻防

  • 实践Metasploit windows attacker
    Metasploit(简称 MSF)是全球最主流、最强大的开源渗透测试框架,由安全公司 Rapid7 维护,用于合法地发现、验证和利用系统漏洞,是网络安全从业者的必备工具。
  • 解码NT系统破解攻击
    NT系统指基于 Windows NT 内核的系统,主要包括 Windows NT 4.0、2000、XP、Server 2003,普遍存在大量未修复高危漏洞,是渗透学习经典靶机。
    MS08-067(NetAPI 漏洞),通过 445 端口 SMB 服务远程代码执行,可直接获取 SYSTEM 权限。
    基本步骤
  1. 启动 msfconsole
  2. 加载模块 use exploit/windows/smb/ms08_067_netapi
  3. 设置目标 IP set RHOSTS 靶机IP
  4. 设置监听 IP set LHOST 攻击机IP
  5. 运行攻击 run/exploit
  • 在前两个任务基础上,进行演练

第7次实践 Linux系统安全攻防

  • 使用Metasploit进行Linux远程渗透攻击
    CVE-2007-2447 是 Samba 历史上最知名的高危漏洞之一,因默认关闭配置项且需特定版本,现网暴露面已极低,但在老旧内网 / 工控 / 遗留系统中仍可能遇到。核心风险是认证前的无过滤用户输入直接带入 Shell 执行,防护核心为禁用非必要脚本映射 + 版本升级 + 网络隔离。
  • 攻防实践

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

  • 恶意代码 rada 样本实操任务
    先识别样本文件格式、运行平台与加壳类型,完成脱壳操作,再提取程序字符串,最终从源码信息里查出该恶意代码的编写作者。
  • Crackme 程序逆向分析任务
    在 WinXP 攻击虚拟机中用 IDA Pro 静态 / 动态调试 crackme1、crackme2 程序,破解程序逻辑,找到正确输入内容,触发程序成功输出提示。
  • rada 恶意代码深度分析报告任务
    全面剖析 rada 恶意样本,梳理文件特征、恶意用途、程序特性、反逆向防护手段,判定恶意代码类别,列举同类恶意工具,同时明确能否溯源作者及溯源所需环境条件。
  • Windows2000 僵尸网络流量分析任务
    基于 Snort 抓取的蜜罐网络日志流量,弄懂 IRC 协议与僵尸网络基础概念,梳理蜜罐通信的 IRC 服务器、访问僵尸网络主机数、攻击源 IP、攻击者利用的系统漏洞,区分成功与失败攻击并理清攻击原理。

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

对可执行文件 pwn1,目标是通过三种方式运行未正常执行的 getShell 函数及自定义 Shellcode:

  • 手工改可执行文件跳转 getShell;
  • 利用 Bof 漏洞覆盖返回地址触发 getShell;
  • 注入并运行自制 Shellcode。

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

本次实验包含SQL 注入攻防、XSS 跨站脚本攻防两大核心模块,以实操形式完成漏洞利用与安全防护练习,具体内容如下:
(1)SEED SQL 注入实验

  • 基础实操:熟悉库、表结构,练习基础 SQL 查询语句。
  • SELECT 注入:利用登录页面漏洞,绕过密码验证实现非法登录。
  • UPDATE 注入:通过个人信息更新页面漏洞,篡改数据库现有数据。
  • 安全加固:优化代码实现漏洞修复,抵御 SQL 注入攻击。
    (2)SEED Elgg 平台 XSS 攻防实验
  • 基础弹窗:在个人主页嵌入 JS 代码,实现页面自动弹窗。
  • Cookie 展示:编写脚本读取并弹窗显示访客 Cookie。
  • Cookie 窃取:构造恶意脚本,将受害者 Cookie 转发至攻击方。
  • 自动化操作:借助 JS 脚本,自动完成添加好友、篡改用户资料等操作。
  • 高级攻击:制作可自动传播的 XSS 蠕虫,达成批量感染用户的效果。
  • 漏洞防护:部署防御策略,修复页面 XSS 安全漏洞

第11次实践 浏览器安全攻防实践

  • Web 浏览器渗透攻击:借助 Metasploit 的 MS06-014 模块配置载荷与参数生成恶意网页木马,靶机浏览器访问该 URL 触发攻击,攻击机通过建立的远程会话远程操控靶机执行命令。
  • 网页木马取证分析:从 start.html 逐级获取后续文件地址,对地址做小写 32 位 MD5 哈希,按哈希值下载对应文件;网页 / 脚本持续解密,二进制文件开展反汇编或动态调试,直至全部文件分析完毕。
  • 浏览器渗透攻防对抗:攻击方构造两款不同浏览器漏洞的混淆渗透代码,打包为钓鱼链接通过邮件发送;防守方提取链接、解混淆还原原始攻击代码,定位目标浏览器及对应漏洞。

二、最喜欢的实践

我最喜欢第10次作业。第10次作业中通过在个人信息界面输入恶意代码,就能让其他访问者中招。这让我觉得很新奇,原来注入恶意代码这么容易,也觉得很恐怖,不经意间访问别人的博客,就能被下毒。这才是真正的网络安全知识!也因此,这门课充分调动起我的探索欲,激发了我后续深入学习 Web 安全防护、漏洞修复技术的浓厚兴趣。

三、知识总结

一、攻防环境搭建【第1次作业】

课程学习从实验环境搭建起步。一套完整的攻防实验环境包含四大核心组件:

  • 攻击机采用 Kali Linux,可直接执行各类攻击操作
  • 靶机为预置未修复漏洞的主机系统,如 Windows XP、Metasploitable Ubuntu,用于验证攻击手段的有效性
  • SEED 虚拟机内置缓冲区溢出、XSS 等原理性实验环境
  • 蜜网与蜜罐系统则作为诱捕监测体系,用于捕获、分析攻击行为

二、网络信息收集【第2次作业】

  1. 通过搜索引擎高级语法、Whois 域名查询、路由追踪等公开渠道,在不与目标系统直接交互的前提下,梳理目标的 IP 地址范围、域名体系与大致拓扑结构,最大限度降低被检测风险。
  2. 通过向目标发送探测数据包,依次完成主机存活检测、端口开放情况探测、系统与服务版本识别、已知漏洞排查四项核心工作。主要学习了Nmap和Nessus两个工具的使用,其中 Nmap 用于全流程探测,Nessus 实现漏洞深度检测。

三、网络嗅探与协议分析【第3次作业】

通过 Telnet 协议分析实验,我直观认识到明文传输协议的安全风险:用户名与口令直接封装在报文数据字段中,抓包即可完整获取,这也是该协议被 SSH 等加密协议逐步替代的核心原因。此外,通过对 pcap 格式的流量文件进行取证分析,可反向推导攻击主机 IP、扫描工具类型、扫描方式、目标开放端口与攻击端操作系统,仅依靠流量数据即可还原攻击全貌。

四、TCP/IP 协议栈攻击【第4次作业】

  • 链路层的 ARP 缓存欺骗攻击,通过伪造 ARP 响应篡改 IP 与 MAC 地址的映射关系,可实现流量劫持
  • 网络层的 ICMP 重定向攻击,通过伪造网关身份诱导目标修改路由表,同样可达成流量劫持效果
  • 传输层的 SYN Flood 攻击利用 TCP 三次握手的设计缺陷,耗尽目标半连接队列以实现拒绝服务
  • 可强制中断会话的 TCP RST 攻击、可冒充合法用户的 TCP 会话劫持攻击。

五、网络安全防范技术【第5次作业】

iptables 是 Linux 系统内核级的包过滤防火墙,通过规则链控制数据包的进出,是主机层面的基础防护手段;Snort 作为开源入侵检测系统(IDS),基于特征规则匹配攻击行为,采用旁路部署模式,仅承担威胁检测与告警职能,不主动阻断流量。而入侵防御系统(IPS)在 IDS 的基础上发展而来,采用串接部署方式,检测到攻击后可实时阻断连接。

六、系统攻防【第6、7次作业】

Windows 系统攻防

Metasploit 框架将漏洞利用模块、载荷模块、辅助模块与后渗透模块分类封装,降低了渗透测试的操作门槛。以 MS17-010 为例,完成目标探测后仅需简单配置即可获取系统控制权。

Linux 系统攻防

Samba 服务 Usermap_script 漏洞是用户名映射脚本未对输入内容做安全校验,攻击者可无授权远程执行命令并直接获取 root 权限。该实验也让我厘清了正向 Shell 与反向 Shell 的差异:正向 Shell 由攻击机主动连接靶机,易被防火墙拦截;反向 Shell 由靶机主动回连攻击机,穿透性更强。同时,通过 Wireshark 可完整还原攻击链路,通过 Snort 可精准识别漏洞利用行为与反向连接。

七、恶意代码分析【第8次作业】

以 RaDa 恶意程序为样本,其会访问指定内网地址下载指令文件,修改注册表实现开机自启动,并可执行 DDoS 攻击等恶意操作。恶意代码分析分为两类核心方法:静态分析不运行程序,通过文件识别、字符串提取、反汇编等手段研判代码逻辑;动态分析则在隔离环境中运行样本,监控其进程行为、网络连接与系统修改,完整还原恶意行为链路。同时我也了解了加壳与脱壳的基础概念,以及 IRC 协议在僵尸网络中作为控制信道的应用原理。

八、软件与 Web 安全【第9,10,11次作业】

(一)缓冲区溢出与 Shellcode 利用

一是手工修改可执行文件:借助 objdump 反汇编定位目标函数与 call 指令,通过 xxd 修改指令相对偏移,强制程序跳转至目标函数执行,掌握机器码跳转的计算规则。
二是栈溢出覆盖返回地址:分析函数栈帧结构计算缓冲区与返回地址的偏移量,经 gdb 调试验证后,覆盖返回地址以劫持程序执行流。
三是自定义 Shellcode 注入:关闭系统 ASLR 地址随机化、开启栈可执行权限,构造Payload,实现任意代码注入执行。

(二)Web 应用程序安全攻防

SQL 注入漏洞
漏洞原理为用户输入直接拼接至 SQL 语句导致语义被篡改,包含两类核心场景:SELECT 型注入用于绕过登录、窃取敏感数据;UPDATE 型注入用于越权篡改系统信息。
XSS 跨站脚本漏洞
漏洞原理为未过滤的用户脚本在浏览器端执行。恶意代码存入数据库后可触发全站危害,具备 Cookie 窃取、会话劫持、XSS 蠕虫传播等攻击能力。

(三)浏览器安全攻防实践

攻击端:基于 Metasploit 的 MS06-014 IE 漏洞模块,配置反向 Shell 载荷生成恶意 URL,靶机访问后即可获取远程命令行控制权。
取证端:掌握网页木马分层分析方法,拆解 iframe 嵌套加载链路,解密混淆脚本还原漏洞利用链,对投递的恶意可执行文件开展哈希校验与恶意行为分析。

四、课堂的收获与不足

这段时间学下来,最大的感受就是:网络安全永远是攻防一体的,不懂攻击就做不好防御,很多防御手段都是跟着攻击手段迭代出来的。当然我现在也只是刚入门,很多内容还只是跟着实验步骤走,比如 shellcode 编写、逆向分析、高级漏洞利用这些,都还需要大量练习才能吃透。这门课也算给我打开了网络安全的大门,后面还有好多东西值得慢慢挖。

posted @ 2026-06-17 15:18  晓月12  阅读(8)  评论(0)    收藏  举报