ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

CFT笔记3-文件基础

CFT笔记3-文件基础 一、常见文件格式1 图像图片类格式头部魔法数字核心特性 CTF 考点配套工具JPG/JPEGFF D8 FF头FF D9尾支持 EXIF GPS 定位微信传输清空元数据可 steghide 隐写尾部可拼接压缩包exiftool、steghide、binwalkPNG89 50 4E 47 0D 0A 1A 0A无原生 EXIFLSB 隐写、调色板、图片宽高篡改zsteg、StegSolve、pngcheckGIF47 46 38多帧动图分帧藏线索、调色板隐写ffmpeg、StegSolveBMP42 4D无压缩位图LSB 隐写效果极佳zstegHEIC/RAW厂商专属魔数完整保留 GPS 拍摄信息定位题原图exiftoolICO分段图像签名内置多尺寸子图标binwalk 分离内嵌图片binwalk2 压缩归档类格式头部魔法数字核心特性 CTF 考点ZIP50 4B 03 04本地文件50 4B 01 02中央目录50 4B 05 06EOCD 结束存在伪加密、注释藏 flag、图包拼接、明文攻击、CRC 碰撞分三层独立结构RAR452 61 72 21 1A 07分块式结构支持头部全局加密、分卷压缩无伪加密机制7Z37 7A BC AF 27 1CAES 高强度加密常规爆破几乎无解GZ/TGZ1F 8BLinux 日志、固件配套压缩包TAR无统一头部魔数纯归档不压缩常搭配 gz 使用ZST28 B5 2F FD新型压缩多用于内存镜像、固件3 办公文档类PDF魔数25 50 44 46考点隐藏图层、页面注释、内嵌图片、JS 恶意脚本、加密 PDF 爆破工具pdfid、pdftotextDOCX/XLSX/PPTX本质为 ZIP 压缩包直接改.zip解压 关键目录word/media/内嵌图片、文档注释、隐藏幻灯片存放 flagDOC旧二进制 Word魔数D0 CF 11 E0 A1 B1 1A E1二进制复合文档提取难度更高4 音视频类音频WAV魔数52 49 46 46RIFF无损音频频谱摩斯、LSB 隐写工具 AudacityMP3有损压缩常嵌入 DTMF、摩斯音频波形视频 MP4/MOV魔数起始段00 00 00 18 66 74 79 70 考点ffmpeg 批量抽帧、分离音频轨道、逐帧隐藏二维码5 程序 / 固件 / 镜像ELF Linux 程序7F 45 4C 46strings 提取内置字符串EXE Windows 程序4D 5A资源段隐藏图片 / 文本BIN 固件无固定魔数binwalk -Me自动分离文件系统DMP 内存镜像内存转储Volatility3 取证工具分析进程、明文密码DD 磁盘镜像完整分区镜像test 恢复删除文件6 流量 文本脚本pcap/pcapng 抓包Wireshark 解析HTTP 文件传输、USB 键盘流量、隧道隐写txt/log 纯文本各类编码密文、密钥、日志线索py/js/php 源码注释隐藏 flag、JSFuck 混淆csv/json结构化批量存储坐标、手机号、域名信息补充文件魔数完整维基参考https://en.wikipedia.org/wiki/List_of_file_signatures二、魔法数字Magic Number详解1 基础定义魔法数字简称魔数是文件头部固定十六进制字节签名程序依靠魔数判断真实文件格式和文件后缀无关。 核心要点存储位置文件最开头若干字节核心作用识破后缀欺骗、识别拼接嵌套文件本质厂商规定的二进制标识CTF 高频陷阱题目修改后缀混淆选手必须通过魔数判断真实类型。2 两种魔数展示形式十六进制原始字节010/HxD 编辑器 例 PNG89 50 4E 47 0D 0A 1A 0AASCII 可读字符 ZIP50 4BPKELF7F 45 4C 46\x7FELF3 CTF 魔数常见考点后缀篡改例文件名为flag.jpg头部魔数50 4B真实是 ZIP 压缩包文件拼接嵌套图包JPG 头部FF D8 FF文件尾部追加 ZIP 二进制使用binwalk -e自动分离人为篡改魔数题目手动删除 / 修改头部字节file命令识别失败使用十六进制编辑器检索魔数字符串修复无后缀.bin 文件无文件名提示仅能依靠头部魔数判断固件、图片、压缩包。三、ZIP 文件完整结构ZIP 全部字节采用小端序存储整体分为三大独立区块顺序固定本地文件记录 → 全部中央目录条目 → EOCD结束标记区块 1本地文件头 Local File Header 魔数50 4B 03 04每个压缩文件单独配套头部关键字段偏移字节字段CTF 重点说明0x004签名50 4B 03 040x062通用标记位bit01 代表加密偶数无加密、奇数加密0x0E4CRC32CRC 碰撞题核心取值0x1A2文件名字节长度后续读取文件名称补充标记位 bit3 开启时文件末尾存在 Data Descriptor 附加校验块。区块 2中央目录记录 Central Directory 魔数50 4B 01 02解压软件优先读取此区域伪加密唯一修改位置偏移字节关键字段0x004签名50 4B 01 020x082通用标记位伪加密原理区分真加密本地头 目录头标记位均为奇数01 00文件数据流加密必须爆破密码伪加密本地头00 00目录头01 00文件数据明文仅标识造假 修复方案工具一键java -jar ZipCenOp.jar r target.zip手动修复010 编辑器找到所有50 4B 01 02将 0x08 位置 2 字节改为00 00区块 3EOCD 目录结束标记 魔数50 4B 05 06位于文件最末尾支持全局注释隐藏 flag偏移字段作用0x0C中央目录总字节大小0x10中央起始偏移地址0x14全局注释长度ZIP 三类魔数速查表十六进制魔数对应区块核心用途50 4B 03 04本地文件头每个压缩文件头部50 4B 01 02中央目录条目伪加密修改标记位50 4B 05 06EOCD 结束块文件末尾全局注释存放ZIP 样例解析灰色本地块偏移 0000h魔数50 4B 03 04标记位00 00文件名HelloCTF.txt明文内容Hello CTF粉色中央目录块偏移 0030h魔数50 4B 01 02标记位00 00无伪加密黄色 EOCD 块偏移 006Ch文件仅 1 个文件注释长度 0无隐藏字符串。四、RAR4 文件结构RAR 采用连续独立分块架构无 ZIP“数据在前、索引在后” 设计RAR5 魔数52 61 72 21 1A 08本文仅讲解出题最多 RAR4魔数52 61 72 21 1A 07。所有块通用头部模板固定前 7 字节偏移长度字段考点0x002HEAD_CRC当前块 CRC 校验0x021HeadType区分块类型0x031HEAD_FLAGS加密、分卷、注释开关0x042HeaderSize当前块总头部长度0x064ADD_SIZE可选压缩数据长度RAR4 四大标准块Marker 标记块 HeadType0x73文件最开头固定魔数52 61 72 21 1A 07校验文件合法性Archive 归档主块 HeadType0x74全局配置加密核心控制位BLOCK_HEADERS_ENCRYPTED0文件名、文件大小明文可见1所有元数据加密必须输入密码才能查看文件列表File 文件块 HeadType0x7A每一个文件对应一个块存储文件名、大小、压缩二进制End 结束块 HeadType0x7B文件末尾终止标识无附加数据。RAR 完整文件顺序Marker 标记块 → Archive 归档主块 → File 文件块 → End 结束块RAR样例五、相关工具fcrackzipLinux KaliZIP 专用适用老式 ZipCrypto 加密 ZIP不支持 AES 加密 zip优势轻量、速度快支持字典 / 纯数字 / 掩码穷举ARCHPRWindows 图形化ZIP/RAR/7Z 全能支持字典、掩码、纯暴力三种模式RAR4/RAR5、加密 7Z 均可破解CTF Windows 环境首选可视化选择密码长度、字符范围rarcrackLinuxRAR/7Z/ZIP 通用自动识别压缩包类型多线程穷举John the Ripper 配套提取器万能离线文件爆破配套工具zip2john、rar2john、pdf2john、office2john流程先提取加密文件哈希 → john 字典爆破bkcrackZIP CRC 碰撞 / 明文攻击特殊爆破不需要完整密码只要知道压缩包内任意一个明文文件直接算出 ZIP 密钥CTF 经典 Zip 明文攻击专用工具Ziperello特别感谢探姬_Officia
返回列表