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

一、内容总结

第1次实践 环境搭建

主要配置了以下几种虚拟机环境
image

第2次实践 网络信息收集

  • 体验了查询DNS和截获IP数据包
  • 学习了nmap和nessus两个工具的使用

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

学习tcpdump、Wireshark、解码网络扫描器工具的使用

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

学习并尝试ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击

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

  • 学习配置防火墙、分析蜜网网关的防火墙和IDS/IPS配置规则
  • 学习并使用snort工具

第6次实践 Windows系统攻防

  • 学习并使用 Metasploit windows attacker
  • 学习并解码NT系统破解攻击
  • 学习并尝试windows系统远程渗透攻击和分析

第7次实践 Linux系统攻防

  • 攻方使用Metasploit进行Linux远程渗透攻击
  • 防守方抓包并分析

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

  • 分析RaDa 恶意样本
  • 分析 Crackme 程序
  • 学习并分析僵尸网络

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

  • 以 Linux 下 pwn1 可执行文件为对象,修改程序调用默认未运行的 getShell 函数
  • 实现自定义 Shellcode 注入运行

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

学习并实践 SQL 注入攻防、XSS 跨站脚本攻防

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

学习并实践Web浏览器渗透攻击、网页木马取证分析

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

最喜欢第四次实践。作为刚接触网络攻防的小白,依次实操完 ARP 缓存欺骗、ICMP 重定向、SYN Flood、TCP RST、TCP 会话劫持,眼睁睁看着靶机彻底瘫痪,满是新奇,没想到简单指令就能劫持流量、篡改路由,这充分激发了我对这门课,乃至整个领域的学习兴趣。

三、本门课学到的知识总结

(一)网络攻防环境

完整攻防环境由四类节点构成。攻击机为预装工具集的 Linux 系统,承担攻击发起职能;靶机为存在已知漏洞的主机系统,用于验证攻击有效性;SEED 虚拟机为专项教学实验平台,内置标准化原理实验环境;蜜网 / 蜜罐体系为诱捕监测节点,用于攻击行为的捕获与分析。

(二)网络信息收集

  • 被动收集:通过公开渠道获取目标基础信息,包括:搜索引擎侦察、Whois 域名注册信息查询、DNS 解析与反向解析。
  • 主动探测: Nmap 具备主机发现、端口扫描、操作系统指纹识别、服务版本探测能力;Nessus 为专业级漏洞扫描工具,依托持续更新的漏洞库实现深度风险检测。

(三)网络嗅探与流量取证知识

  • tcpdump 为轻量命令行抓包工具,基于 BPF 过滤规则实现流量筛选,适用于服务器端与网关侧的流量捕获;Wireshark 为图形化协议分析工具,支持深度协议解码与流追踪,适用于精细化协议分析。

  • Telnet 协议采用明文封装传输数据,用户名、口令等敏感信息可直接从报文数据段提取,存在严重的信息泄露风险

  • 通过 pcap 流量文件可完成多维度攻击溯源:通过 SYN 报文定位攻击源 IP 与目标 IP;通过报文特征识别扫描工具与扫描方式;通过 SYN+ACK 响应判定开放端口;通过 TTL 初始值、TCP 窗口大小等指纹推断攻击端操作系统类型。

(四)TCP/IP 协议栈攻防

  • 链路层:ARP 缓存欺骗:ARP 协议负责 IP 与 MAC 地址的映射,因无身份认证,攻击者可发送伪造 ARP 响应篡改目标主机缓存,实现流量劫持与中间人攻击。
  • 网络层:ICMP 重定向攻击:ICMP 重定向报文原本用于优化路由路径,攻击者可伪造网关身份发送重定向报文,诱导目标修改路由表,劫持对外流量。
  • 传输层:SYN Flood 攻击:利用 TCP 三次握手设计缺陷,发送大量伪造源 IP 的 SYN 报文,耗尽目标主机半连接队列资源,导致正常连接无法建立,属于典型的拒绝服务攻击。
  • 传输层:TCP RST 攻击:TCP 协议中 RST 报文用于强制关闭连接,攻击者嗅探会话参数后伪造 RST 报文,可强制中断合法 TCP 会话。
  • 会话层:TCP 会话劫持:攻击者嗅探获取 TCP 会话的序列号与通信参数,伪造数据报文注入合法会话,冒充用户执行未授权操作。

(五)网络安全防御技术

  • iptables 防火墙:Linux 内核级包过滤防火墙,基于规则链实现数据包的访问控制,核心规则链包括 INPUT、OUTPUT、FORWARD,支持按源目 IP、端口、协议执行放行、拒绝、丢弃操作,是主机层面的基础防护手段。
  • Snort 入侵检测系统:开源网络入侵检测工具,支持嗅探、日志、报警三种工作模式,基于特征规则库匹配攻击行为,采用旁路部署模式,仅检测告警不主动阻断。

(六)Windows 系统攻防

Metasploit 采用模块化设计,分为四大核心组件:Exploit 漏洞利用模块、Payload 攻击载荷模块、Auxiliary 辅助功能模块、Post 后渗透模块。

(七)Linux 系统攻防

  • Samba 服务 Usermap_script 漏洞是用户名映射脚本未对用户输入做安全校验,攻击者可在用户名参数中嵌入系统命令,实现无授权远程代码执行,直接获取 root 权限。
  • Shell 载荷分为正向 Shell 与反向 Shell 两类。正向 Shell 由攻击机主动连接靶机,易被防火墙拦截;反向 Shell 由靶机主动回连攻击机,穿透性更强。
  • 漏洞利用、反向 Shell 建立、命令执行等攻击行为均具备可识别的流量特征,可通过流量分析完整还原攻击时间、攻击源、漏洞类型、执行指令等全链路信息。

(八)恶意代码分析

  • PE32 为 Windows 平台标准可执行文件格式;加壳是恶意代码对抗静态分析的常用手段,UPX 为典型压缩壳,可混淆原始代码;脱壳是静态分析的前置步骤。
  • 分析方法分为静态分析与动态分析两类。静态分析不运行样本,通过文件识别、字符串提取、反汇编等手段研判代码逻辑;动态分析在隔离环境中运行样本,监控进程、网络、系统操作,还原完整恶意行为。
  • 僵尸网络原理:IRC 协议常被用作僵尸网络的命令控制信道,默认端口为 TCP 6667;攻击者通过 IRC 信道批量控制大量受控主机,可发起 DDoS 攻击、信息窃取、垃圾邮件投放等恶意操作。
  • 通过反汇编可定位程序的分支判断逻辑,通过分析 strcmp 等字符串比较函数的参数,可逆向推导程序的预期输入,是破解类程序分析的核心方法。

(九)缓冲区溢出原理

  • 程序未对输入数据做边界检查,超出缓冲区长度的数据会覆盖栈上的相邻内存,核心危害是覆盖函数返回地址,劫持程序执行流。
  • 函数栈帧包含缓冲区、基址指针 ebp、返回地址等核心区域,返回地址位于 ebp+4 位置,控制返回地址即可控制程序执行流向;数据采用小端序方式存储。
  • 在关闭 ASLR 地址空间随机化、栈不可执行等系统保护的环境下,可向栈中注入自定义 Shellcode,配合 NOP 雪橇提升命中率,实现任意代码执行。

(十)Web 应用安全攻防

  • SQL 注入漏洞
    原理:用户输入直接拼接至 SQL 语句中,篡改原始 SQL 语义。
    分类:SELECT 型注入用于绕过登录、窃取数据;UPDATE 型注入用于越权篡改数据。

  • XSS 跨站脚本漏洞
    原理:未过滤的用户脚本在用户浏览器端执行,属于客户端攻击。
    分类:存储型 XSS 将恶意代码存入数据库,所有访问用户均会触发,危害范围最广。
    攻击能力:可实现 Cookie 窃取、会话劫持、自动操作、蠕虫传播等。

(十一)浏览器安全攻防

  • 利用浏览器或其插件的远程代码执行漏洞,构造恶意网页,用户访问后触发漏洞,执行恶意载荷获取主机控制权。
  • 攻击端常采用多层 iframe 嵌套、代码混淆、编码加密等方式隐藏攻击特征,规避检测;防御端通过逆向解密、脚本分析、漏洞特征匹配还原攻击链路,识别漏洞编号与危害。
  • 采用分层分析思路,先拆解脚本加载链路,再解密混淆代码还原漏洞利用逻辑,最后对投递的可执行文件做样本分析,完整还原从访问到沦陷的攻击链。

四、课堂的收获与不足

对于一个从未接触过网络攻防的我来说,这门课难度适中,非常适合。一方面,较为全面地囊括了攻防的几个主要方向的知识,另一方面,相比于单纯听讲,亲手实践更能激发学习兴趣,令人印象深刻。然而,由于时间的关系,一些具体的细节还未完全搞懂来龙去脉,仍有很大的学习空间,有待于我继续探索。总的来说,经过几周的学习,收获满满,会继续推荐给师弟师妹们!

posted @ 2026-06-17 14:22  你泽哥  阅读(19)  评论(0)    收藏  举报