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

1. 内容总结

第1次实践 虚拟化网络攻防实验环境搭建
依托 VMware 划分 VMnet8 (NAT)、VMnet1 (仅主机) 网段,部署多台攻击、靶机,安装配置 HoneyWall 蜜网网关,设定网段、蜜罐 IP 与 Sebek 日志参数,经 ping 和 tcp 抓包测试,完成可监听捕获流量的蜜网实验平台搭建。

第2次实践 网络信息搜集
围绕目标资产开展踩点、扫描与查点实操,使用 whois、nslookup、资源监视器、Nmap 和 Nessus 等工具,对域名、主机、端口和漏洞信息进行收集与分析,并完成个人隐私暴露情况的自查。

第3次实践 网络嗅探与协议分析
使用 tcpdump 和 Wireshark 对网页访问、DNS、ICMP、TCP 等流量进行抓包分析,结合离线 pcap 日志识别协议特征、通信流程和流量规律,掌握过滤语法与报文解析方法。

第4次实践 TCP/IP协议栈攻击
在链路层、网络层和传输层实施多种经典攻击,包括 ARP 欺骗、ICMP 重定向、SYN Flood、TCP RST 以及会话劫持,并结合抓包验证攻击效果,同时整理相应防御思路。

第5次实践 防火墙与入侵检测

  • iptables 实操:配置规则屏蔽 ICMP ping、限定指定 IP 访问服务,实现黑白名单访问控制;
  • Snort 入侵检测:导入 pcap 攻击日志,基于特征库告警端口扫描等恶意行为;
  • 蜜网网关剖析:分析 iptables、Snort/IPS 配置,理解蜜网依靠防火墙管控流量、IDS 捕获攻击数据的实现原理。

第6次实践 Windows系统安全攻防
使用 Metasploit 利用 MS08-067 漏洞渗透 Win2000 靶机,远程拿到系统 CMD 权限;基于历史攻击流量包做 NT 系统取证,还原 Unicode、MSADC 注入完整入侵链路;红蓝对抗:攻方漏洞入侵,守方 Wireshark 抓包溯源攻击者 IP、入侵行为。

第7次实践 Linux系统安全攻防
针对 Samba usermap_script 高危漏洞,MSF 配置反向 Shell 载荷渗透 Metasploitable,直接获取 root 权限;攻防分组演练,攻击方 Nmap 扫描 + 漏洞利用,防守方 tcpdump 抓包、Wireshark 解析反向 Shell 流量,还原命令执行记录。

第8次实践 恶意代码分析与僵尸网络

  • RaDa 木马:UPX 加壳 PE 程序,先用工具脱壳,strings、IDA 反汇编提取作者信息;
  • Crackme 逆向:静态分析程序 strcmp 校验逻辑,破解正确输入密钥;
  • 僵尸网络:分析 IRC 协议流量,梳理木马 C2 通信、自启动、DDoS 恶意行为,通过流量过滤提取控制 IP。

第9次实践 缓冲区溢出攻击
结合 Windows/Linux 环境,理解缓冲区溢出成因:超长输入覆盖栈内存、篡改返回地址;实操利用漏洞构造溢出载荷,实现本地 / 远程代码执行;探究 ASLR、DEP 等防护机制对溢出的防护原理与绕过思路。

第10次实践 Web安全(SQL注入与XSS)

  • SQL 注入:在搭建的测试网站,利用拼接 SQL 语句绕过登录、脱库,区分字符型 / 数字型注入;
  • XSS 跨站:存储型、反射型两类漏洞实操,植入恶意 JS 窃取 Cookie;总结过滤特殊字符、参数预处理等防御手段。

第11次实践 Web浏览器渗透攻击与网页木马分析
分析浏览器组件漏洞与网页挂马原理,抓包研究木马下载与远控通信过程,逆向恶意网页代码,梳理漏洞触发流程,并了解浏览器安全防护配置要点。

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

我最喜欢、完成效果最好的是第十一次网页木马与浏览器渗透实验。
我最喜欢第11次实践,相比前面的端口扫描、系统漏洞类实验,这次实操难度更高,挑战性拉满。它不是单一技能的重复,而是对前面多次实践能力的一次综合运用。做这次实验时,我既要看懂网页挂马的代码逻辑,又要结合抓包分析木马通信,还要理解浏览器漏洞触发与防护配置,整个过程更接近真实的网络安全分析场景。
我完成得最好的原因,一方面是前面几次实验已经让我熟悉了抓包、协议分析、漏洞利用和逆向分析的基本方法;另一方面,第11次实践的内容更完整,能把“攻击现象、通信过程、代码逻辑、风险点和防护措施”串成一条线,最后整理出的实验结论也更清晰。对我来说,这次实践不只是“做出来了”,而是真正把知识整合起来了,所以我觉得它最有成就感,也最能体现我的综合能力。

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

3.1 网络攻防环境搭建

3.1.1 网络攻防环境

网络攻防环境核心构成攻防环境需满足隔离性、可控性、可复现性三大核心要求,主要包含四大组件:

  • 攻击机:执行渗透测试、漏洞利用、暴力破解等攻击操作的主机,Linux 系统(如 Kali、BT5R3)因内置丰富攻击工具成为首选。

  • 靶机:模拟脆弱目标的主机,需预装未修复漏洞(如 Windows XP、Metasploitable Ubuntu),用于验证攻击手段有效性。

  • SEED 虚拟机:攻防专用实验平台,内置缓冲区溢出、XSS、CSRF 等实验环境,支持精细化攻防原理教学。

  • 蜜网 / 蜜罐系统:包含蜜罐、蜜网网关、监控端的安全监测体系,用于捕获攻击行为、分析攻击特征。

3.1.2 虚拟机网络接口三种模式

虚拟化技术的核心应用以 VMware Workstation 为核心平台,通过仅主机模式、桥接模式、NAT 模式实现多虚拟机隔离通信:

  • 仅主机模式:为攻防实验首选,创建独立虚拟内网(如 VMnet8、VMnet1),避免攻击行为向外网扩散。

  • 桥接模式:使虚拟机与物理机处于同一网段,适用于外部访问蜜网场景。

  • NAT 模式:通过物理机网卡转发流量,解决外网访问需求但降低内网隔离性。

3.1.3 蜜罐网络

蜜罐、蜜网和蜜网网关的概念:

概念 核心定义与作用
蜜罐 软件应用级入侵诱饵,通过吸引黑客攻击,收集攻击手段、最新漏洞及黑客工具信息,分析攻击特征。
蜜网 多个蜜罐互联形成的大型模拟网络环境,用于观察完整入侵过程,评估企业安全措施有效性。
蜜网网关 第三代蜜网技术的核心组件,作为透明捕获与分析平台,桥接网络实现流量监控,结合 Sebek 软件记录蜜罐攻击行为,是攻击检测与分析的核心节点。

蜜网网关在网络攻防环境中扮演着关键角色,其工作机制主要包括以下几个方面:

  • 网桥功能:蜜网网关作为一个网桥,通过桥接模式将原有的局域网扩展,使得蜜罐系统内的蜜罐可以被同一局域网内的主机访问。

  • 连接配置:蜜网网关需要安装三块网卡,第一块使用桥接模式用于外部访问蜜网;第二块使用仅主机模式建立蜜网;第三块也使用仅主机模式,用于访问蜜网网关的控制端。

  • 蜜罐IP配置:在蜜网网关的设置中,需要添加蜜罐主机的IP地址,多个蜜罐主机的IP地址需要用空格隔开。

  • 蜜网网络设置:蜜网网关还需要对蜜网所在网络进行设置,包括广播地址和CIDR。

  • 远程管理配置:蜜网网关支持远程通过SSH控制网关,需要对远程管理进行配置。

  • Sebek软件:在蜜罐主机上通过Sebek软件记录系统攻击行为,蜜网网关则用于捕获和分析这些攻击行为。

  • 透明网关:蜜网网关作为一个透明的攻击行为捕获与分析平台,能够在蜜罐主机上记录攻击行为,同时对攻击者的行为进行监测和分析。

3.1.4 常用攻防软件

一些常用攻防软件简介:

软件名称 核心功能 应用场景
Wireshark 网络封包分析工具,捕获 / 解析网络数据包,查看详细协议内容与报文细节 流量分析、认证过程抓包、攻击特征提取
tcpdump 命令行数据包截获工具,基于自定义规则过滤流量,保存 pcap 文件 蜜网网关流量监控、服务器流量分析
Sebek 蜜罐客户端软件,记录蜜罐主机的完整攻击行为(键盘操作、文件访问、进程启动) 蜜网攻击行为溯源、攻击过程还原
TFN2K 分布式 DDoS 攻击工具,通过主控端协同多代理端发起拒绝服务攻击 拒绝服务攻击实验、攻击流量分析
Nmap 端口扫描工具,探测靶机开放端口、服务版本、系统类型 攻击前信息收集、漏洞扫描
Metasploit 漏洞利用框架,集成海量漏洞 Exploit、Payload,实现一键攻击与提权 漏洞利用实验、后渗透测试

3.2 网络信息收集

网络攻击的前期侦察是决定攻击成败的关键环节,主要分为网络踩点、网络扫描、网络查点三个循序渐进的阶段。攻击者通过这三个阶段,从“无差别收集信息”到“精准定位目标”,再到“获取攻击关键信息”,逐步搭建起目标网络的完整画像,为后续实施具体攻击奠定基础。以下是各阶段的详细解析,包含核心目标、操作逻辑、常用方法及工具补充。

3.2.1 网络踩点:被动信息收集,构建目标初步画像

网络踩点是攻击侦察的第一步,属于被动信息收集,核心特点是不直接与目标网络系统产生交互,仅通过公开或半公开渠道收集目标的基础信息,最大限度降低被目标安全设备检测到的风险。这一阶段的核心目标的是全面掌握目标网络的整体轮廓,明确攻击的大致范围和潜在突破口,为后续扫描和查点工作划定方向。
具体来说,踩点阶段需完成三大核心任务:一是确定目标网络的IP地址范围,明确攻击的地理和网络边界;二是梳理目标网络的域名、子域名及关联域名,挖掘隐藏的内部系统入口;三是初步勾勒目标组织的网络拓扑结构,了解网络设备的分布、层级关系及核心节点位置。
常用方法及细节补充如下:
(1)搜索引擎侦察:利用Google、Bing、百度等主流搜索引擎,结合特定搜索指令(如site、inurl、filetype等),精准查找与目标组织相关的公开信息。例如,通过“site:目标域名 filetype:pdf”搜索目标的技术文档、配置手册;通过“inurl:admin 目标域名”挖掘后台管理入口;同时还能收集到员工邮箱、岗位信息、合作厂商等间接信息,为后续社会工程学攻击提供支撑。
(2)DNS和IP查询:借助公开的互联网基础信息服务,解析目标组织的域名与IP地址、地理位置之间的映射关系,以及域名注册的详细信息(如注册人、注册机构、到期时间等)。常用工具包括Whois查询(如Whois.com、爱站网)、nslookup、dig等,通过这些工具不仅能获取域名对应的IP段,还能利用DNS反向解析、DNS区域传输漏洞等,获取目标组织内部的主机名、服务器类型等敏感信息,进一步完善网络轮廓。
(3)网络拓扑侦察:通过工具探测目标网络的路由路径、节点跳数及中间设备类型,初步勾勒网络拓扑。常用工具如traceroute(Windows系统为tracert),通过发送数据包并跟踪其传输路径,可获取目标网络与攻击者之间的路由器、防火墙等中间设备信息,判断目标网络的边界防护层级;此外,还可结合ARIN、APNIC等IP地址分配机构的公开数据,确认目标IP段的归属地和网络运营商,辅助判断目标网络的规模和部署位置。
(4)补充方法:除上述核心方法外,攻击者还会通过社交媒体(如LinkedIn、微博)收集目标组织员工的个人信息,通过企业官网、招聘平台了解其使用的技术栈(如操作系统、数据库、应用程序),通过第三方平台(如Shodan、Censys)查询目标IP段的在线设备及开放服务,全方位丰富目标信息。

3.2.2 网络扫描:主动探测,定位可攻击目标与漏洞

完成被动踩点后,攻击者将进入主动探测阶段——网络扫描。与踩点的“不接触”不同,网络扫描会主动向目标网络发送探测数据包,与目标系统产生直接交互,其核心目的是在踩点确定的IP和域名范围内,找出所有存活的主机、开放的端口、运行的服务及存在的安全弱点,为后续攻击选择合适的目标和攻击通道,相当于对目标网络进行“全面体检”,排查可利用的漏洞。
1、网络扫描主要分为四大类,各类型分工明确、相辅相成:

  • 主机扫描:核心是确认目标IP段内哪些主机处于在线状态(存活),排除不可用的IP,缩小攻击范围;
  • 端口扫描:探测存活主机上开放的端口,明确哪些端口处于监听状态,不同端口对应不同的网络服务(如80端口对应HTTP服务、22端口对应SSH服务),开放端口是攻击者进入目标系统的主要入口;
  • 网络/系统类型探查:通过分析探测数据包的响应信息,判断目标主机的操作系统(如Windows、Linux)、网络设备类型(如路由器、防火墙)及服务版本,为后续选择适配的攻击工具和漏洞利用方法提供依据;
  • 漏洞扫描:在上述探测基础上,针对开放端口和运行服务,检测是否存在已知漏洞(如缓冲区溢出、SQL注入、弱口令等),明确漏洞的严重程度和利用难度,筛选出最优攻击突破口。

2、常用扫描软件及详细说明如下:
(1)NMAP(Network Mapper):一款功能强大、开源免费的网络扫描工具,被誉为“网络扫描神器”,支持Windows、Linux、Mac等多平台,可实现主机发现、端口扫描、操作系统检测、服务版本识别等全流程扫描。NMAP的三大核心功能具体为:一是通过ping扫描、ARP扫描等方式,探测一组主机是否在线(存活);二是对存活主机进行端口扫描,支持TCP、UDP等多种扫描模式,嗅探主机提供的网络服务及服务版本;三是通过分析数据包的TTL值、TCP窗口大小等特征,推断主机所用的操作系统及版本,甚至能识别出具体的补丁级别。常用命令如“nmap -sP 目标IP段”(主机存活扫描)、“nmap -sV 目标IP”(服务版本扫描)。
(2)Nessus:一款广泛应用于企业级网络安全领域的专业漏洞扫描工具,由Tenable Network Security开发,具备先进的扫描引擎和庞大的漏洞数据库(实时更新已知漏洞),可全面、深入地检测网络设备(路由器、交换机)、操作系统(Windows、Linux)、应用程序(Web应用、数据库)及云服务中的已知漏洞。Nessus支持灵活的扫描配置,可根据需求自定义扫描范围、漏洞类型、扫描深度,扫描完成后会生成详细的报告,明确漏洞的位置、严重程度、影响范围及修复建议,帮助网络安全人员及时发现并应对潜在风险,同时也为攻击者提供了精准的漏洞利用指引。
(3)补充工具:除上述两款核心工具外,常用的扫描工具还有OpenVAS(开源漏洞扫描工具,可与Nessus互补)、Masscan(高速端口扫描工具,适合大规模IP段扫描)、Zmap(快速网络扫描工具,主打高效探测),攻击者会根据扫描需求选择合适的工具,提升扫描效率和准确性。

3.2.3 网络查点:精准聚焦,收集攻击实施关键信息

网络查点是攻击侦察的最后一个阶段,也是连接“侦察”与“攻击”的关键环节。其与网络扫描的核心区别在于针对性和目标性:网络扫描是在较大范围的网络中“撒网式”寻找可攻击的目标主机或服务,属于“广撒网、找目标”;而网络查点则是在扫描完成后,已明确具体的攻击目标(如某台存活主机、某个开放服务),进而“精准聚焦”,针对性收集发起实际攻击所需的具体信息,为后续漏洞利用、权限获取做好准备。
网络查点的核心目标是获取攻击所需的细节信息,比如服务的具体版本、配置参数、用户账号信息、权限等级等,确保后续攻击能够精准命中,提高攻击成功率。其主要分为四大类,覆盖不同平台和服务类型:
(1)网络服务旗标抓取:网络服务旗标(Banner)是目标服务在响应探测时返回的身份信息,包含服务名称、版本号、厂商信息等(如HTTP服务的Banner会显示“Apache/2.4.49”)。通过抓取Banner信息,攻击者可精准判断服务版本,进而查找该版本对应的已知漏洞(如特定版本Apache的路径穿越漏洞)。常用工具包括Telnet、Netcat(nc)、NMAP等,例如通过“telnet 目标IP 端口”即可获取对应端口服务的Banner信息。
(2)通用网络服务查点:针对各类网络中普遍存在的通用服务(如HTTP、FTP、SMTP、DNS等),进行针对性信息收集。例如,对HTTP服务,查点其网站架构(如是否使用PHP、Java)、后台路径、登录入口、Cookie配置等;对FTP服务,查点其是否允许匿名登录、支持的传输模式、用户账号列表等;对SMTP服务,查点其邮件服务器配置、是否开放中继功能等,这些信息均可作为后续攻击的突破口。
(3)类UNIX平台网络服务查点:针对Linux、Unix等类UNIX操作系统的主机,重点查点其运行的服务(如SSH、Telnet、NFS等)、用户信息(如/etc/passwd文件内容、用户权限等级)、系统配置(如防火墙规则、端口开放策略)、进程信息等。例如,通过SSH服务查点其是否允许密码登录、是否存在弱口令,通过NFS服务查点其共享目录及访问权限,为后续获取系统权限奠定基础。
(4)Windows平台网络服务查点:针对Windows操作系统的主机,重点查点其运行的服务(如RDP远程桌面、SMB文件共享、IIS服务等)、用户账号(如管理员账号、普通用户列表)、系统补丁情况、注册表配置、共享文件夹等。例如,查点RDP服务是否开启、是否允许远程登录,查点SMB服务是否存在永恒之蓝等漏洞,查点系统是否缺少关键安全补丁,这些都是攻击者常用的攻击切入点。
补充说明:网络查点阶段的工具与扫描阶段有一定重叠,但使用场景更具针对性。除上述提到的Telnet、Netcat、NMAP外,还可使用Metasploit框架中的辅助模块、Enum4linux(类UNIX平台查点工具)、PsExec(Windows平台查点工具)等,精准收集攻击所需的各类细节信息,确保攻击实施的精准性和高效性。

3.3 网络嗅探与协议分析

3.3.1 tcpdump嗅探Web访问的核心应用

tcpdump作为开源网络嗅探工具,可捕获本机网络流量,用于分析Web访问过程中涉及的服务器节点。访问www.tianya.cn时,浏览器通常会访问多个Web服务器(含主服务器及CDN节点),通过执行tcpdump抓包命令(如tcpdump -i any host www.tianya.cn),过滤HTTP/HTTPS协议数据包,可提取出所有与目标域名通信的IP地址,即为所访问的Web服务器IP,通常包括天涯主服务器IP及各地CDN节点IP(如阿里云、腾讯云等CDN节点)。

3.3.2 Wireshark嗅探与分析TELNET协议

Wireshark可精准捕获TELNET协议流量,用于分析远程登录过程。

  • 一是通过Wireshark筛选telnet协议,可直接从数据包中获取所登录BBS服务器的IP地址(源/目的IP中非本机的地址)和端口(TELNET默认端口为23);
  • 二是TELNET协议采用明文传输方式,用户输入的用户名、登录口令会以明文形式封装在TELNET数据包的Data字段中,未做任何加密处理;
  • 三是分析方法为:启动Wireshark抓包后,执行TELNET登录操作,抓包结束后筛选telnet协议,找到包含“Username”“Password”字段的数据包,其Data字段即为明文的用户名和口令。

3.3.3 网络扫描取证分析核心要点

针对listen.cap数据包的取证分析,核心要点包括:

  • 攻击主机IP:筛选数据包中发起主动扫描请求(如SYN请求)的源IP;
  • 目标IP:筛选扫描请求的目的IP(即蜜罐主机IP);
  • 扫描工具:通过数据包的特征识别(如nmap扫描会有特定的TTL值、数据包结构,或包含nmap特征字符串),可确定扫描工具(常见为nmap);
  • 扫描方法与目标端口:通过数据包类型判断(如SYN扫描仅发送SYN包、无ACK响应,全连接扫描会完成三次握手),明确扫描方法,同时提取所有扫描请求的目的端口即为目标端口;
  • 开放端口:筛选有SYN+ACK响应的数据包,其对应的目的端口即为蜜罐主机的开放端口;
  • 攻击主机操作系统:通过数据包的TTL值、窗口大小等特征(如Windows系统TTL通常为128,Linux系统通常为64),推断攻击主机的操作系统类型。

3.4 TCP IP网络协议攻击

3.4.1 ARP 缓存欺骗攻击(链路层)

  • 核心原理:ARP 协议用于 IP 与 MAC 地址的映射,无身份认证机制,攻击者可发送伪造 ARP 响应包,篡改目标主机的 ARP 缓存表,将目标 IP 地址映射为攻击者的 MAC 地址,从而劫持目标主机的网络流量,实现中间人攻击或流量嗅探。
  • 实验操作:使用netwox/ettercap工具,向目标主机(如 SEEDUbuntu)发送伪造 ARP 响应,冒充靶机 IP(如192.168.200.4)的 MAC 地址为攻击者 Kali 的 MAC 地址,通过arp -a命令验证目标主机 ARP 缓存已被篡改。
  • 危害与防御
    • 危害:流量劫持、中间人攻击(嗅探 / 篡改数据)、网络中断、钓鱼攻击。
    • 防御:静态 ARP 绑定、部署 ARP 防火墙、启用 802.1X 端口认证、使用加密通信协议。

3.4.2 ICMP 重定向攻击(网络层)

  • 核心原理:ICMP 重定向报文用于优化路由路径,无认证机制,攻击者可伪造网关身份发送重定向报文,诱导目标主机修改路由表,将对外流量转发至攻击者主机,实现流量劫持与中间人攻击。
  • 实验操作:使用netwox 86工具,针对目标主机(如 SEEDUbuntu)发送伪造 ICMP 重定向报文,指定重定向网关为攻击者 Kali 的 IP 地址,通过route -n命令验证目标主机路由表已被篡改。
  • 危害与防御
    • 危害:流量劫持、监听目标主机对外通信、中间人攻击。
    • 防御:禁用主机接收 ICMP 重定向报文、防火墙过滤非法 ICMP 报文、部署动态路由认证机制。

3.4.3 SYN Flood 攻击(传输层,拒绝服务)

  • 核心原理:利用 TCP 三次握手的缺陷:攻击者发送大量伪造源 IP 的 SYN 报文,目标主机为维护半连接状态消耗资源,最终导致半连接队列耗尽,无法处理正常的连接请求,实现拒绝服务(DoS)。
  • 实验操作:使用hping3/Metasploit 工具,向目标服务(如 HTTP、SSH)发送海量伪造 SYN 报文,观察目标主机服务响应延迟、连接超时或服务瘫痪。
  • 危害与防御
    • 危害:目标服务不可用、系统资源耗尽、业务中断。
    • 防御:启用 SYN Cookie 机制、优化 TCP 半连接队列参数、防火墙限流清洗、部署云抗 DDoS 服务。

3.4.4 TCP RST 攻击(传输层,会话中断)

  • 核心原理:TCP 协议中 RST 报文用于强制关闭连接,无认证机制,攻击者可嗅探目标 TCP 会话的源 / 目的 IP、端口及序列号,伪造 RST 报文发送给目标主机,强制中断合法 TCP 会话。
  • 实验操作:使用netwox/scapy工具,嗅探目标 TCP 会话(如 Telnet、SSH),构造并发送匹配会话参数的伪造 RST 报文,使目标会话突然中断。
  • 危害与防御
    • 危害:强制断开合法连接、破坏服务可用性、干扰正常通信。
    • 防御:TCP 序列号随机化、使用加密协议(SSH/TLS)、防火墙过滤异常 RST 报文、启用会话完整性校验。

3.4.5 TCP 会话劫持攻击(会话层 / 应用层)

  • 核心原理:攻击者嗅探目标 TCP 会话的序列号、确认号及通信参数,伪造 ACK / 数据报文注入会话,冒充合法用户执行操作,实现会话接管或数据篡改。
  • 实验操作:使用ettercap/sshmitm工具,嗅探目标明文会话(如 Telnet),预测 TCP 序列号,注入恶意命令或数据,接管目标会话并执行未授权操作。
  • 危害与防御
    • 危害:账户劫持、数据篡改、未授权操作、敏感信息泄露。
    • 防御:使用加密协议(SSH/TLS)、会话令牌绑定 IP / 端口、TCP 序列号随机化、启用应用层会话认证。

3.5 网络安全防范技术

3.5.1 iptables科普

iptables是Linux操作系统内核自带的防火墙工具,基于包过滤机制,通过定义规则链(INPUT、OUTPUT、FORWARD)来控制数据包的进出,是Linux系统网络安全防护的核心工具之一。它并非独立的防火墙软件,而是内核级的包过滤框架,能够根据数据包的源IP、目标IP、协议类型、端口号等属性,执行允许(ACCEPT)、拒绝(REJECT)、丢弃(DROP)等操作,从而实现访问控制、数据包过滤等安全功能。需要注意的是,iptables默认配置的规则在系统重启后会失效,需通过iptables-persistent工具或iptables-save命令将规则持久化保存,避免配置丢失。

3.5.2 Snort科普

Snort是一款开源的网络入侵检测系统(NIDS),能够实时监控网络流量、分析数据包,识别已知的网络攻击行为(如端口扫描、恶意代码攻击、DoS攻击等),并生成报警日志,为网络安全分析提供依据。它支持三种工作模式:嗅探模式(仅查看网络流量)、日志模式(记录网络流量)、报警模式(检测到攻击时生成报警),本次实践主要使用报警模式,结合离线pcap文件进行入侵检测。Snort的核心是规则库,通过匹配数据包与规则库中的攻击特征,判断是否存在入侵行为,同时可通过配置文件自定义日志输出格式和存储路径。

3.5.3 IDS/IPS科普

IDS(入侵检测系统)和IPS(入侵防御系统)是网络安全防护体系的重要组成部分,二者相辅相成。IDS是一种被动式安全工具,主要功能是监视网络流量和系统活动,按照一定的安全策略识别潜在的攻击企图、攻击行为或攻击结果,发现威胁后仅生成报警日志,不主动阻断攻击,需人工或联动其他设备处理,通常采用旁路监听部署,不影响正常网络流量,相当于网络安全的“观察员”。
IPS是在IDS基础上发展而来的主动式安全工具,串联在网络流量路径中,不仅能检测入侵行为,还能在检测到威胁后实时采取措施(如阻断连接、封锁IP),主动阻止攻击扩散,响应时间可达毫秒级,相当于网络安全的“守卫员”。IPS弥补了IDS无法主动防御的不足,也弥补了防火墙无法识别复杂攻击行为的缺陷,与防火墙、IDS协同工作,构建完整的网络安全防护体系。
蜜网网关是一种研究型的高交互诱捕网络体系,核心需求包括数据控制、数据捕获和数据分析,通过整合防火墙、IDS/IPS等技术,实现对攻击行为的捕获、控制和分析,其本质是一个包含一个或多个蜜罐的可控网络,用于收集黑客攻击信息,研究攻击方法和工具。

3.6 Windows系统攻防

3.6.1 Metasploit Windows 远程渗透攻击

1.Metasploit Windows 远程渗透攻击是指利用 Metasploit Framework (MSF) 这一开源漏洞利用框架,针对 Windows 操作系统及相关服务发起的远程代码执行、权限获取与持久化控制的攻击过程,核心目标是在未授权情况下获取目标系统的控制权。
2.核心原理与架构

  • 模块化设计:MSF 采用插件化架构,核心组件包括:
    • Exploit 模块:针对特定漏洞的攻击代码(如 MS17-010 永恒之蓝漏洞利用模块)
    • Payload 模块:漏洞触发后在目标系统执行的恶意代码(如 Meterpreter 反向 Shell)
    • Auxiliary 模块:辅助功能(扫描、嗅探、口令猜测等)
    • Post 模块:提权、凭证窃取、数据收集等后渗透工具
  • 攻击流程:
    • 目标探测(端口扫描、服务识别)
    • 漏洞发现(匹配已知漏洞模块)
    • 利用漏洞获取初始访问权限
    • 后渗透(提权、权限维持、数据窃取)
  1. 典型攻击场景与技术
攻击类型 技术特点 代表漏洞
SMB 服务攻击 利用 Windows 文件共享协议漏洞 MS08-067、MS17-010 (永恒之蓝)
远程代码执行 通过服务漏洞直接执行系统命令 CVE-2021-40444(MSHTML)
口令暴力破解 针对 RDP、SMB 等服务进行字典攻击 -
钓鱼攻击 诱骗用户执行恶意载荷 (msfvenom 生成) 恶意 Office 文档、可执行文件
  1. 核心工具组件
  • msfconsole:MSF 命令行控制台,核心操作界面
  • msfvenom:Payload 生成工具,可定制恶意代码并规避杀软检测
  • Meterpreter:高级后渗透工具,提供文件操作、进程控制、内存凭证窃取等功能
  • Post 模块:如windows/gather/credentials系列,用于提取系统敏感信息
  1. 应用场景
  • 渗透测试:评估 Windows 系统安全防护能力
  • 红队演练:模拟真实攻击,检验企业纵深防御体系
  • 安全研究:验证漏洞危害,开发防御方案

3.6.2 NT 系统破解攻击取证分析

  1. 核心定义
    NT 系统破解攻击取证分析是对 Windows NT 内核系统(NT/2000/XP/Server 2003 及后续版本)遭受密码破解、哈希窃取、权限提升等攻击行为的事后调查取证过程,核心目标是还原攻击路径、确认攻击手法、固定证据并追溯攻击者身份。
  2. 攻击与取证核心逻辑
    攻击侧:NT 系统安全的核心是SAM 数据库(存储用户哈希凭证)和LSASS 进程(内存中缓存登录凭证)
    常见攻击手段:
  • 哈希窃取(通过 mimikatz 等工具读取 LSASS 内存)
  • 哈希破解(使用 hashcat/John the Ripper 破解 NTLM 哈希)
  • Pass-the-Hash(哈希传递,无需明文密码直接登录)
  • SAM 数据库导出(离线破解)
    取证侧:遵循 “不破坏原始证据” 原则,通过系统日志、内存镜像、网络流量等多维度数据重建攻击过程。
  1. 取证分析关键步骤与技术
    (1)证据获取
  • 内存镜像:使用 FTK Imager、Volatility 等工具获取物理内存数据
  • 磁盘镜像:对系统盘进行只读镜像,避免数据篡改
  • 网络流量:分析 Wireshark 捕获的攻击数据包
  • 日志收集:Windows 事件日志(安全日志、系统日志)、应用程序日志
    (2)证据分析
  • 哈希凭证分析:从内存 / 磁盘镜像中提取 SAM 数据库或 LSASS 进程中的 NTLM 哈希
  • 攻击痕迹识别:查找异常进程(如 mimikatz)、可疑网络连接、注册表篡改记录
  • 时间线重建:通过日志时间戳和文件修改时间还原攻击顺序
  • 权限变更分析:检查用户权限提升记录、组策略修改等
    (3)工具集
  • 内存分析:Volatility 3、Winpmem
  • 哈希破解:Hashcat(支持 GPU 加速)、John the Ripper
  • 日志分析:Event Log Explorer、LogParser
  • 流量分析:Wireshark、Tcpdump
  1. 典型取证场景
  • 系统入侵事件调查:定位攻击者如何获取系统权限、窃取了哪些数据
  • 内部威胁分析:识别是否存在恶意内部人员利用破解手段获取未授权访问

3.6.3 Windows 渗透攻防团队对抗

  1. 核心定义
    Windows 渗透攻防团队对抗(又称红蓝对抗 / Red Team vs. Blue Team)是一种模拟真实网络攻击与防御的实战演练,通过红队(攻击方)与蓝队(防御方)的对抗性博弈,全面检验 Windows 系统及网络的安全防护能力、应急响应效率和人员协作水平。
  2. 对抗模式与核心角色
角色 定位 核心目标 关键能力要求
红队 模拟高级攻击者 (APT) 突破防御、获取核心数据、留下 "旗帜" 漏洞利用、社会工程、权限维持、隐蔽通信
蓝队 企业安全防御方 检测攻击、拦截入侵、溯源取证、恢复系统 威胁检测、日志分析、应急响应、漏洞修补
紫队 攻防协同方 整合攻防数据、优化防御策略 跨团队协作、数据分析、安全体系设计
  1. 对抗实施流程
    (1)准备阶段
  • 明确演练范围、目标和规则(如禁止破坏生产数据)
  • 搭建模拟环境(真实 Windows 域环境、业务系统)
  • 红队制定攻击计划,蓝队部署防御体系
    (2)对抗阶段
  • 红队行动:信息收集→漏洞探测→初始访问→权限提升→横向移动→数据窃取→痕迹清除
  • 蓝队行动:实时监控→攻击检测→应急响应→攻击阻断→溯源分析
  • 关键点:双方实时博弈,红队不断调整攻击手段,蓝队持续优化防御策略
    (3)总结阶段
  • 攻击路径复盘
  • 防御效果评估
  • 制定安全加固方案
  • 提升团队协作效率
  1. 常见对抗形式
  • AWD 模式(Attack With Defense):多用于 CTF 比赛,各队维护自己的 Windows 服务器,同时攻击其他队伍系统
  • 护网行动:国家主导的网络安全实战演练,针对关键信息基础设施进行攻防对抗
  • 内部红蓝演练:企业定期开展的安全能力评估,提升整体防御水平
  1. 核心技术与工具
  • 红队工具:Metasploit、Cobalt Strike、Empire、Mimikatz、BloodHound(域环境分析)
  • 蓝队工具:SIEM 系统(如 Splunk)、EDR(终端检测响应)、Wireshark、Velociraptor(端点监控)
  • 协同工具:ATT&CK 框架(攻击战术知识库)、MITRE D3FEND(防御框架)
  1. 价值与意义
    突破 “纸面合规” 局限,发现静态测试无法暴露的深层安全问题
    提升团队实战能力,培养 “懂攻击、会防御” 的复合型安全人才

3.7 Linux系统攻防

3.7.1 Linux Samba 服务 Usermap_script 漏洞渗透与攻防对抗实践

Samba 是 Linux/UNIX 系统中实现Windows 与 Linux 文件 / 打印机共享的核心服务,默认开放139、445 端口;Usermap_script是 Samba 3.0.20~3.0.25rc3 版本的高危远程代码执行漏洞,攻击者无需身份验证,即可通过构造恶意请求直接获取目标服务器root 最高权限,是网络安全入门最经典的 Linux 渗透实验之一。
该漏洞源于 Samba 的username map script配置项未对用户输入做安全过滤,攻击者可在用户名参数中嵌入系统命令,Samba 服务解析时会直接执行该命令,实现无授权远程代码执行,瞬间接管服务器。

3.7.2 攻防对抗:流量监听与分析知识点

tcpdump(命令行抓包工具)

  • 作用:在靶机实时抓取网络数据包,保存为.pcap格式。
  • 关键参数:-i指定网卡、host过滤 IP、-w保存文件。

Wireshark(图形化流量分析工具)

  • 打开 pcap 文件,用tcp.port ==4444过滤反向 Shell 流量。
  • 追踪 TCP 流:查看攻击全过程,提取攻击 IP、靶机 IP、端口、攻击时间、执行的命令。

Snort(入侵检测工具)

  • 匹配恶意流量特征,自动告警 Samba 漏洞攻击、反向 Shell 行为。
  • 可溯源信息:攻击者 IP、目标 IP / 端口、攻击发起时间、利用漏洞、Payload 类型、Shell 执行指令。

3.7.3 Shell 载荷(Payload)核心知识

1.远程 Shell
攻击成功后获得的靶机命令行控制权,可直接执行 Linux 系统命令。
2.正向 Shell vs 反向 Shell

  • 正向 Shell:靶机开放端口,攻击机主动连接(易被防火墙拦截)。
  • 反向 Shell:靶机主动连接攻击机的监听端口(实验用cmd/unix/reverse,穿透性更强,是渗透最常用类型)。
    3.实验载荷作用
    触发靶机主动回连攻击机 4444 端口,建立双向命令通道。

3.8 恶意代码分析实践

3.8.1 PE 文件格式与加壳

  • PE32:Windows 32 位可执行文件格式。
  • UPX 壳:常见的压缩壳,用于混淆原始代码,防止静态分析。通过 upx -l 可检测。
  • 脱壳:使用脱壳机(如超级巡警)或手动 OEP 查找,还原原始代码段。

3.8.2 静态分析工具

  • file:识别文件类型、架构、平台。
  • strings:提取可打印字符串(ASCII/Unicode),用于快速发现关键信息。
  • IDA Pro Free:交互式反汇编器,可生成函数调用图、流程图,支持修改字符串编码格式。

3.8.3 动态行为监控

  • Process Explorer:监控进程的 DLL、句柄、网络连接、注册表操作等。
  • 观察到恶意行为:连接 http://10.10.10.10/RaDa 、下载 RaDa_commands.html、修改 HKLM\SOFTWARE...\Run 实现自启动、DDoS 泛洪攻击。

3.8.4 IRC 协议与僵尸网络

  • IRC(Internet Relay Chat):实时聊天协议,僵尸网络常用作命令与控制(C2)信道。
  • NICK 消息:客户端加入网络时发送,用于设置昵称。
  • 默认端口:TCP 6667,也常用 6660-6669。
  • 僵尸网络(Botnet):受控主机集合,常被用于 DDoS、垃圾邮件、信息窃取等。

3.8.5 网络流量分析

  • Wireshark:过滤语法(ip.src、tcp.dstport、tcp.flags.syn),统计端点。
  • tcpflow:按流重组数据,便于提取 IRC 明文消息。
  • tcpdump:命令行抓包与过滤,适用于批量统计。
  • 管道命令组合:grep、sed、tr、sort、uniq、wc -l 用于从日志中提取唯一昵称或 IP。

3.8.6 漏洞与攻击手段

  • TCP 445(SMB):常被用于 PSEXESVC.EXE 远程执行,结合 MSRPC-SVCCTL 服务枚举漏洞实现提权。
  • 口令猜测:通过查看身份验证过程(admin → administrator)判断攻击成功。
  • 其他被扫描端口:135(RPC)、139(NetBIOS)、25(SMTP)、4899(Radmin)、80(HTTP)、UDP 137(NetBIOS Name Service)。

3.8.7 逆向分析与破解

  • strcmp 函数:C 语言字符串比较函数,在汇编中通过 push 参数和 call 调用。
  • 参数传递:通过栈或寄存器传递,分析 offset 可确定预期输入字符串。
  • 分支逻辑:通过函数调用图或流程图定位关键判断,修改程序名或输入可触发正确分支。

3.9 软件安全攻防——缓冲区溢出和shellcode

3.9.1 手工修改可执行文件跳转至 getShell

  • 使用 objdump 反汇编定位目标函数地址与 call 指令位置。
  • 通过 xxd 将二进制转换为十六进制,修改机器码中的相对偏移(如将 d7 ff 改为 c3 ff),再转换回原格式。
  • 理解 call 指令的机器码格式及偏移量计算方法(目标地址 – 当前指令下一条地址)。

3.9.2 利用栈溢出覆盖返回地址触发 getShell

  • 分析函数栈帧:缓冲区(ebp-0x1c)与返回地址(ebp+4)之间的偏移(本例为 32 字节)。
  • gdb 输入特征字符串验证偏移量(观察 EIP 被覆盖的值)。
  • 构造 payload:填充 32 字节 + getShell 地址(小端序),通过 (cat payload; cat) | ./pwn 注入并获得 shell。

3.9.3 注入自定义 shellcode 并执行

  • 关闭 ASLR(echo 0 > /proc/sys/kernel/randomize_va_space)并用 execstack -s 设置栈可执行。
  • 编写或生成 execve("/bin/sh") 的 shellcode,并在其前添加 NOP sled 提高命中率。
  • 使用 gdb attach 调试,在 ret 断点处查看栈顶指针 esp,定位 shellcode 在栈中的实际起始地址。
  • 最终 payload 结构:32 字节填充 + 返回地址(指向 NOP sled 或 shellcode 起始)+ NOP sled + shellcode。

3.10 Web应用程序安全攻防

3.10.1 SQL 注入相关知识点

1.SQL 注入原理:Web 应用将用户输入直接拼接到 SQL 语句中执行,攻击者通过构造恶意输入改变 SQL 语义,实现非法操作。
2.注入类型
(1)SELECT 注入:绕过登录、查询敏感数据;
(2)UPDATE 注入:篡改数据库数据、越权修改信息。
3.核心攻击手法:单引号闭合、#/--注释后续语句、拼接恶意 SQL 逻辑。
4.防御技术
(1)预处理语句(Prepared Statement):参数化查询,分离 SQL 指令与用户数据;
(2)输入校验、权限最小化、敏感数据加密。
5.相关技术:MySQL 数据库操作、PHP 与 MySQL 交互、Apache Web 服务部署。

3.10.2 XSS 跨站脚本相关知识点

1.XSS 原理:Web 应用未对用户输入的脚本代码做过滤转义,导致脚本在浏览器端执行,劫持用户会话。
2.实验涉及类型:存储型 XSS(恶意代码存入数据库,所有访问者均会触发,危害最大)。
3.攻击能力:弹窗验证、窃取 Cookie、会话劫持、自动操作(加好友 / 改资料)、XSS 蠕虫自我传播。
4.防御技术
(1)输入过滤:HTMLawed 插件过滤恶意标签与脚本;
(2)输出编码:对用户提交内容转义后再展示;
(3)启用 CSP、HttpOnly Cookie 禁止 JS 读取 Cookie。
5.相关技术:JavaScript 基础、Ajax 异步请求、Cookie 机制、Elgg CMS 框架安全机制。

3.10.3 基础环境与工具知识点

  • 虚拟机配置:VMware 磁盘挂载、硬件虚拟化、网络 NAT 模式配置;
  • Linux 基础命令:服务管理、文件编辑、端口监听(nc)、网络查看(ifconfig);
  • Web 安全核心:用户输入校验、最小权限原则、数据与指令分离。

3.11 浏览器安全攻防实践

3.11.1 基于 Metasploit 的浏览器渗透攻击(MS06-014 漏洞)

  • 模块调用:在 Metasploit 中搜索并加载MS06-014 IE CreateObject 漏洞模块(exploit/windows/browser/ie_createobject);
  • 载荷配置:选择windows/shell/reverse_tcp 反向 Shell 载荷,设置 LHOST 为攻击机 IP、LPORT 为监听端口;
  • 木马构造:执行 exploit 命令生成恶意 URL,搭建临时 Web 服务提供恶意网页访问;
  • 渗透实施:靶机 IE 访问恶意 URL,触发漏洞后攻击机获取远程命令行会话,执行 net user、ipconfig 等系统命令。

3.11.2 网页木马取证分析实践

  • 分层加载分析:拆解 start.html→new09.htm→kl.htm 的恶意网页分层加载链,识别隐藏 iframe 与外部脚本加载特征;
  • 代码解密:对 Base64+XXTEA 组合混淆的恶意脚本进行解密,还原漏洞探测与载荷加载逻辑;
  • 漏洞利用链提取:识别 ADODB.Stream、暴风影音、PPS、百度工具栏四类 ActiveX 漏洞利用路径;
  • 样本分析:对下载的恶意 EXE 进行 MD5 哈希校验,确认多路径投递的为同一木马样本;通过脱壳、IDA 静态分析,识别样本下载器、持久化、进程注入、篡改系统时间等恶意行为。

3.11.3 浏览器渗透攻防对抗实践

  • 攻击端:独立验证MS06-055 VML 漏洞与MS06-014 ActiveX 漏洞,将两个漏洞 URL 转为十六进制并封装进混淆 HTML 页面,通过 Apache 部署统一挂马入口;
  • 防守端:提取恶意链接源码,逆向解混淆还原真实漏洞 URL;分析漏洞页面特征,识别两个漏洞的 CVE 编号、影响组件、触发原理与利用方式;
  • 攻防验证:靶机访问混淆挂马页面,触发双漏洞并建立远程会话,完成攻击与防御的全流程对抗。

4. 课堂的收获与不足

4.1 收获:

本学期的《网络攻防与实践》课程让我收获非常大。在大学期间我虽然自学过一部分 Linux 相关知识,但当时只是碎片化学习,知识点零散、不成体系,只会一些简单的基础命令和操作,无法真正串联运用到网络安全场景中。而通过这一学期系统、完整的攻防课程学习,我不仅把之前零散掌握的 Linux 知识重新梳理、巩固加深,补齐了以往的知识漏洞,让旧知识变得更加扎实、系统化,同时还接触、掌握了大量全新的网络攻防知识与实操技能。尤其是课程中的浏览器安全与网页木马渗透实验,让我收获尤为明显。以前我对 Web 前端、浏览器攻防、网页木马攻击的认知非常模糊,完全不清楚网页攻击的原理和流程。通过本次课程的实践训练,我完整了解了浏览器漏洞利用、恶意网页代码解析、木马下载触发、远程控制通信等整套攻防流程,彻底理清了网络攻击、渗透测试的整体操作框架和思路。整体来说,这门课把我之前零散的技术点全部串联打通,让我从只会简单操作,转变为懂原理、懂流程、会实操、会分析,真正建立起完整的网络攻防知识体系,个人实操能力和安全思维都得到了很大提升。

4.2 不足:

在本学期《网络攻防与实践》课程学习中,我虽然掌握了大部分攻防基础理论和实操技能,但也存在不少不足之处。首先,我的知识掌握大多停留在基础实操层面,只会跟着实验步骤完成操作,对于漏洞底层原理、协议深层机制理解不够透彻,遇到稍微改动的环境就容易无从下手,举一反三的能力比较薄弱。
其次,我的工具使用比较单一,只会课堂教过的 Nmap、Wireshark、Burp Suite 等基础操作,不会灵活变通,不能根据场景自主组合工具、编写简单脚本实现自动化测试,自主探究能力不足。
另外,面对复杂的逆向分析、恶意代码研判、多层嵌套的 Web 漏洞场景时,我的分析速度较慢,排查问题的思路不够清晰,遇到报错容易依赖教程,独立排错、独立分析问题的能力还有很大欠缺。
最后,我的知识体系虽然搭建完成,但深度不足,对于高级渗透、漏洞复现、代码审计等进阶内容掌握比较薄弱,攻防思维不够灵活,防御思路和溯源分析经验也比较欠缺。后续我会多自主复现实验、深入钻研原理、多练习独立实操,积累实战经验,补齐自身短板。

posted @ 2026-06-08 14:19  -;  阅读(23)  评论(0)    收藏  举报