[网络安全]网鼎杯第四次培训——Misc安全杂项

网鼎杯第四次培训——Misc安全杂项

  • 什么是Misc:
  • 信息搜集
    • 网络信息搜集技巧:
    • 例题:FUZTII
      • 总结
  • 编码转换
    • 进制:
      • 例题
      • 二进制(binary)
      • 进制转换
    • 转换图片
    • 转换成字符串
    • base
      • Base64
        • base64如何编码
        • base64码表
      • 其他base编码
      • 例题
    • 图片码
      • 例题
    • ASCII
    • Unicode
    • Quoted-printable
    • 摩尔斯编码
    • 敲击码
    • UUENCODE
    • url
    • XXencode
    • shellcode
    • 曼彻斯特编码
    • Npiet
    • Ook
    • brainfuck
    • jother
    • jjencode/aaencode
    • VBScript.Encode混淆加密
    • css/js混淆加密
    • php混淆加密
  • Forensic-数字取证&&Stego-隐写分析
    • 常见取证对象
    • 综述
    • 工具
      • File
      • Strings
      • Foremost
      • Winhex
      • 010editor
      • pngcheck
      • stegsolve
    • 常见文件特征
      • JPEG、PNG、GIF、BMP等图片文件
      • ZIP、RAR、TAR、7z等压缩文件
      • mp3、wma、avi等音视频文件
    • 各文件格式
      • PNG
      • 数据块CHUNk
      • IHDR
        • 特征
        • 例题
      • PLTE
      • IDAT
      • 例题
      • IEND
      • 其余辅助数据块
      • LSB
        • 例子
      • JPG
        • 例子
      • 工具
        • Stegdetect
        • 例题
        • Steghide
      • GIF
        • 文件结构
        • 文件头
        • 逻辑屏幕标识符(Logical Screen Descriptor)
        • 全局颜色列表(Global Color Table)
        • 图像标识符(Image Descriptor)
        • 图像数据
        • 空间轴
        • 时间轴
      • 音频文件
        • 波形隐写
        • 频谱隐写
        • LSB隐写
      • 压缩文件
        • zip基础
        • 攻击方式
          • 爆破
            • ARCHPR
            • fcrackzip
          • 伪加密
          • 例题
          • CRC32爆破
          • 明文攻击
        • RAR
          • 主要攻击
            • 伪加密
        • 流量包
          • 例子
        • 视频文件
        • 内存取证
          • 常用工具
          • 磁盘
          • VMDK
          • 内存
          • 例子
        • 其他
          • HTML隐写
          • NES文件类

什么是Misc:

Misc是英文Miscellaneous的前四个字母,杂项、混合体、大杂烩的意思。
通常分为四个小块

  • Recon(信息搜集)
    主要介绍一些获取信息的渠道和一些利用百度、谷歌等搜索引擎的技巧
  • Encode(编码转换)
    主要介绍在CTF比赛中一些常见的编码形式以及转换的技巧和常见方式
  • Forensic&&Stego(数字取证&&隐写分析)
    隐写取证是Misc中最为重要的一块,包括文件分析、隐写、内存镜像分析和流量抓包分析等等,涉及巧妙的编码、隐藏数据、层层嵌套的文件中的文件,灵活利用搜索引擎获取所需要的信息等等。

信息搜集

网络信息搜集技巧:

  • 科学上网(使用搜索引擎,语法)
  • 目标Web网页、地理位置、相关组织
  • 组织结构和人员、个人资料、电话、电子邮件
  • 网络配置、安全防护机制的策略和技术细节
  • 通过搜索引擎查找特定安全漏洞或私密信息的方法
  • Google Hacking Database(现成语法数据库库)

例题:FUZTII

题意:解密图片

挖掘作者FUZTII
个人博客
图片

总结

  • 挖掘线索
  • 引擎搜索(同一关键字不同语法搜索可能不同)

编码转换

进制:

  • 进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。对于任何一种进制一X进制,就表示每一位置上的数运算时都是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
  • 在CTF比赛中,常见进制为二进制、八进制、十进制、十六进制。

例题

[网络安全]网鼎杯第四次培训——Misc安全杂项_第1张图片
编写python脚本

  • 区分开头字母分别判断即可

二进制(binary)

在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示

进制转换

[网络安全]网鼎杯第四次培训——Misc安全杂项_第2张图片

转换图片

在这里插入图片描述

转换成字符串

数字组成字母
[网络安全]网鼎杯第四次培训——Misc安全杂项_第3张图片
藏flag、藏线索的标准套路

base

Base64

Base64是一种编码方式,是一种可逆的的编码方式,编码后的数据是一个字符串,包含的字符为
A-Z,a-z,0-9,+/
共64个字符:26+26+10+1+1=64
不过其实是65个字符,”=”是填充字符

base64如何编码

字符对应ASCII转换成八位二进制
base64的基础单位是38bit的二进制,若是不够38bit则在后面添加0字节(padding)直至满足38bit的二进制转换成46bit的二进制
46bit的二进制转换成十进制
对照base64表把十进制转换成字符
检查base64编码后面有几个等于号
把字符串按照base64表转换成4
6的倍数位数二进制
删除等于号的个数*8的bit
按照6个bit一组转成字符

base64码表

[网络安全]网鼎杯第四次培训——Misc安全杂项_第4张图片

其他base编码

  • BASE58
    相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写”l”,以及 ”+” 和 ”/” 符号。
  • BASE32
    32个可打印字符,A~Z、2 ~7、32个可打印字符,“=”符号用作后缀填充
  • BASE16
    16个可打印字符,A~F、0-9,16个可打印字符

用python的base64包 API

import base64
base64.b64encode();
base64.b32encode();
base64.b16encode();
base64.b58encode();

例题

  • BASE64异或
    得到一串编码“AAoHARIUIFBSJFFQU1AjUVE jVidMUVJVJVZUIyUnI18jVFNXVRs”根据上述特征,可发现是base64编码,编写脚本对此字符串进行xor。
  • BASE64编码转图片
  • 南邮的CTF题
  • BASE64套娃

图片码

  • 条形码(barcode)
    是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。
  • 二维码
    维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。

例题

  • 逢8进1
    [网络安全]网鼎杯第四次培训——Misc安全杂项_第5张图片
  • 二维码反色
    [网络安全]网鼎杯第四次培训——Misc安全杂项_第6张图片
  • 二维码修补
    [网络安全]网鼎杯第四次培训——Misc安全杂项_第7张图片
  • PDF417
    [网络安全]网鼎杯第四次培训——Misc安全杂项_第8张图片

ASCII

  • ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,到目前为止共定义了128个字符。
  • 0-31、127为ascii控制字符,32-126为ascii显示字符。
  • 链接: 测试链接
  • \u8fd9\u662f\u4e00\u4e2a\u4f8b\u5***\u007e\u000a\u0066\u006c\u0061\u0067\u007b\u0074\u0069\u0064\u0065\u0073\u0065\u0063\u007d

Unicode

  • Unicode是计算机科学领域里的一项业界标准,包括字符集、编码方案等。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
  • 链接: 测试链接
  • 这;是:一;个;例;子; ;f;l;a;g;{:t;i;d;e;s;e:c;};

Quoted-printable

  • 可打印字符引用编码”、“使用可打印字符的编码”,我们收邮件,查看信件原始信息,经常会看到这种类型的编码。一个等号”=”后跟随两个十六进制数字(0-9或A-F)表示该字节的数值。
  • 链接: 测试链接
  • =3Cmeta=20name=3D-22description=22=20flag-3D-22tidesec=22=20-2F=3E=0A

摩尔斯编码

  • 摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种:点、划、点和划之间的停顿、每个字符之间短的停顿、每个词之间中等的停顿以及句子之间长的停顿。
  • 链接: 摩尔斯电码表

敲击码

  • 敲击码(Tap code)是一种以非常简单的方式对文本信息进行编码的方法。因该编码对信息通过使用一系列的点击声音来编码而命名,敲击码是基于5×5方格波利比奥斯方阵来实现的,不同点是是用K字母被整合到C中。
  • 敲击码表:
    [网络安全]网鼎杯第四次培训——Misc安全杂项_第9张图片

UUENCODE

  • uuencode是将二进制文件转换为文本文件的过程,转换后的文件可以通过纯文本e-mail进行传输,在接收方对该文件进行uudecode,即将其转换为初始的二进制文件。
  • 链接: 测试链接
  • 60MFX]L#]U],*9FQA9WMT:61E

url

  • 是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。
  • URL编码的特征为%,所有的URL编码都是由%XX组成的。

XXencode

  • XXencode,也是一个二进制字符转换为普通打印字符方法。跟UWencode编码原理方法很相似,唯独不同的是可打印字符不同。
  • 链接: 测试链接
  • KjhasxglxpxASNalVNrhoOKFZQqJXTE++

shellcode

  • shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制的机器码,因为经常让攻击者获得shel1而得名。shellcode常常使用机器语言编写。可在暂存器eip溢出后,塞入一段可让CPU执行的shellcode机器码,让电脑可以执行攻击者的任意指令。
  • 当获取一段数据
    [网络安全]网鼎杯第四次培训——Misc安全杂项_第10张图片

曼彻斯特编码

关注跳变
[网络安全]网鼎杯第四次培训——Misc安全杂项_第11张图片

Npiet

  • 特点文档是像素点的图片
  • 链接: 测试链接

[网络安全]网鼎杯第四次培训——Misc安全杂项_第12张图片

Ook

[网络安全]网鼎杯第四次培训——Misc安全杂项_第13张图片

brainfuck

[网络安全]网鼎杯第四次培训——Misc安全杂项_第14张图片

jother

[网络安全]网鼎杯第四次培训——Misc安全杂项_第15张图片

jjencode/aaencode

[网络安全]网鼎杯第四次培训——Misc安全杂项_第16张图片

VBScript.Encode混淆加密

  • VBScript.Encode解码器
  • 链接: 测试链接

在这里插入图片描述

css/js混淆加密

  • 链接: 测试链接

[网络安全]网鼎杯第四次培训——Misc安全杂项_第17张图片

php混淆加密

  • 链接: 测试链接
  • 有时候可以直接进行代码审计,有时候就要运行调试

[网络安全]网鼎杯第四次培训——Misc安全杂项_第18张图片

Forensic-数字取证&&Stego-隐写分析

常见取证对象

  • PCAP流量包分析
    • 1.普通的网络流量
    • 2.蓝牙数据包USB数据包(鼠标,键盘数据包)…
    • 3.XUCA的投影仪数据包…
  • 各种图片文件
    • 1.JPG PNG
  • 音频,视频
    • 1.MP3,WAV,AVI
  • 压缩包
    • 1.RAR,ZIP,7z
  • 磁盘文件(最为常见)
    • 1.img
  • 内存镜像
  • POF,WORD

综述

  • 目的一般为发现文件中包含的隐藏字符串(代表需要取证的机密信息)
  • 通常夹杂着文件修复
  • 而这些搜寻的字符串常常又与隐写加密结合在一起
  • 对文件中的特殊编码要有一定的敏感度
  • 对文件16进制的熟悉

工具

File

命令根据文件头(魔法字节)去识别一个文件的文件类型,linux自带工具(由于有些文件可能没有文件后缀)
[网络安全]网鼎杯第四次培训——Misc安全杂项_第19张图片

Strings

打印文件中可打印的字符,经常用来发现文件中的一些提示信息或是一些特殊的编码信息,常常用来发现题目的突破口。
[网络安全]网鼎杯第四次培训——Misc安全杂项_第20张图片

Foremost

文件分离
[网络安全]网鼎杯第四次培训——Misc安全杂项_第21张图片

Winhex

  • Winhex是一个专门用来对付各种日常紧急情况的工具。它可以用来检查和修复各种文件恢复删除文件硬盘损坏造成的数据丢失等。同时它还可以让你看到其他程序隐藏起来的文件和数据。
  • 总体来说是一款非常不错的16进制编辑器

[网络安全]网鼎杯第四次培训——Misc安全杂项_第22张图片

010editor

010是一个非常好用的工具,除了是一个查看和修改文件的编译器外,还有很多自带的脚本可以帮助我们辅助分析文件格式
在这里插入图片描述

pngcheck

可以检查png中的数据块

stegsolve

提取图片信道信息

常见文件特征

JPEG、PNG、GIF、BMP等图片文件

注意关注文件头
[网络安全]网鼎杯第四次培训——Misc安全杂项_第23张图片

ZIP、RAR、TAR、7z等压缩文件

[网络安全]网鼎杯第四次培训——Misc安全杂项_第24张图片

mp3、wma、avi等音视频文件

  • 链接:链接
    [网络安全]网鼎杯第四次培训——Misc安全杂项_第25张图片

各文件格式

PNG

  • 对于一个PNG文件来说,其文件头总是由位固定的字节来描述的,剩余的部分由3个以上的PNG的数据块(Chunk)按照特定的顺序组成
  • 文件头89 50 4E 47 0D 0A 1A 0A + 标准数据块(+辅助数据块+数据块…

数据块CHUNk

PNG定义了两种类型的数据块,一种是称为关键数据块(critical chunk),这是标准的数据块,另一种叫做辅助数据块(ancillary chunks),这是可选的数据块。关键数据块定义了4个标准数据块,每个PNG文件都必须包含它们,PNG读写软件也都必须要支持这些数据块。
[网络安全]网鼎杯第四次培训——Misc安全杂项_第26张图片
[网络安全]网鼎杯第四次培训——Misc安全杂项_第27张图片
CRC(cyclic redundancy check)域中的值是对Chunk Type Code域和Chunk Data域中的数据进行计算得到的。

IHDR

文件头数据块IHDR(header chunk):它包含有PNG文件中存储的图像数据的基本信息,由13字节组成,并要作为第一个数据块出现在PNG数据流中,而且一个PNG数据流中只能有一个文件头数据块

特征

  • (固定)八个字节89504E47000A1A0A为png的文件头
  • (固定)四个字节00000000(即为十进制的13)代表数据块的长度为13
  • (固定)四个字节49484452(即为ASCII码的IHDR)是文件头数据块的标示(IDCH)
  • (可变)13位数据块(IHDR)
  • 能四个字节代表该图片的宽
  • 后四个字节代表该图片的高
  • 后五个字节依次为;Bit depth、ColorType、Compression method、Filter method、Interlace method
  • (可变)剩余四字节为该png的CRC检验码。由从IDCH到工HDR的十七位字节进行crc计算得到。

例题

[网络安全]网鼎杯第四次培训——Misc安全杂项_第28张图片
[网络安全]网鼎杯第四次培训——Misc安全杂项_第29张图片

//png的CRC检余码,由从IDCH到IHOR的十七位字节进行crc计算得到
import os 
import binascii 
import struct 
misc=open("misc4.png""rb").read()
for i in range(1024):
	data=misc[12:16]+struct.pack(">1",1)+misc[20:29]
	crc32=binascii.crc32(data)& Oxffffffff 
	if crc32 == 0x932f8a6b:
		print i

PLTE

  • 调色板数据块PLTE(palette chunk):它包含有与索引彩色图像((indexed-color image))相关的彩色变换数据,它仅与索引彩色图像有关,而且要放在图像数据块(image data chunk)之前。
  • 真彩色的PNG数据流也可以有调色板数据块,目的是便于非真彩色显示程序用它来量化图像数据,从而显示该图像。

IDAT

图像数据块IDAT(image data chunk):它存储实际的数据,在数据流中可包含多个连续顺序的图像数据块。

  • 储存图像像数数据
  • 在数据流中可包含多个连续顺序的图像数据块
  • 采用LZ77算法的派生算法进行压缩
  • 可以用zlib解压缩

例题


最后的数据块138本可以并入前一个,是异常数据块,010editor打开后导出处理

import zlib 
import binascii 
IDAT=("789C5D91011288480882BF84FFFF5"+
"C7529485537738A21A27D1E49CFD17DB39"+
"37A92E7E603888A6D485180901FB841015"+
"3358DE83112EA2DS1C54CE2E585B15A2FC"+
"78E8872F51C6FC1881882F93D372DEF78E"+
"665B8C36C529622A8A45588138833A170A"+
"2071D0CD18219D88C8D465088698971964"+
"5ED9C11C36AE3ABDAEFCFCBACF023E77C1"+
"7C7897667").decode("hex")
# print IDAT
result=binascii.hexlify(zlib. decompress(IDAT))
print result

是zlib压缩方式,用zlib解压
转换成3031字符串
哈希解密

IEND

图像结束数据IEND(image trailer chunk):它用来标记PNG文件或者数据流已经结束,并且必须要放在文件的尾部。
00 00 00 00 49 45 4E 44 AE 42 60 82

  • IEND数据块的长度总是00 00 00 00
  • 数据标识总是IEND 49 45 4E 44
  • RC码也总是AE 42 60 82

其余辅助数据块

  • 背景颜色数据块bkGOD
  • 基色和台色度数据块。所谓白色度期翻当R=G=B=最大偷时在显示器上产生的白色度。
  • 图像y数据块gAMA
  • 图像直方图数据快
  • 加理像素尺寸数据快
  • 样本有效位数据快
  • 文本信息数据快
  • 图像最后修改时间投据块IME
  • 图像透明规据块(RNS(ransparencgy).
  • 压缩文本数据块zTXt

LSB

  • LSB全称leastsignificant bit,最低有效位PNG文件中的图像像数一般是由RGB三原色(红绿蓝)组成,每一种颜色占用8位,取值范围为0x00~0xFF,即有256种颜色,一共包含了256的3次方的颜色,即16777216种颜色
  • 人类的眼睛可以区分约1000万种不同的颜色,这意味着人类的眼睛无法区分余下的颜色大约有6777216种
  • LSB隐写就是修改RGB颜色分量的最低二进制位(LSB),每个颜色会有8bit,LSB隐写就是修改了像数中的最低的lbit,而人类的眼睛不会注意到这前后的变化,每个像数可以携带3比特的信息

例子


使用工具StegSlove

JPG

  • 标记码:由两个字节构成,第一个字节是固定值0xFF,后一个字节则根据不同意义有不同数值
  • 压缩数据:前两个字节保存整个段的长度,包括这两个字节JPG基本数据结构为两大类型:“段”和经过压缩编码的图像数据。

[网络安全]网鼎杯第四次培训——Misc安全杂项_第30张图片

  • 一些常见的段类型
    0xffd8 && 0xffd9为JPG文件的开始结束的标志

例子


FFD9开头
把FFD9改为FFD8恢复图片

工具

Stegdetect

  • -q 仅显示可能包含隐藏内容的图像。
  • -n 启用检查JPEG文件头功能,以降低误报率,如果启用,所有带有批注区域的文件将被视为没有被嵌入信息,如果JPEG文件的JFIF标识符中的版本号不是1.1.则禁用OutGuess检测。
  • -s修改检测算法的敏感度,该值的默认值为1。检测结果的匹配度与检测算法的敏感度成正比,算法敏感度的值越大,检测出的可疑文件包含敏感信息的可能性越大。
  • -d 打印带行号的调试信息。
  • -t 设置要检测哪些隐写工具(默认检测jop1),可设置的选项如下:
    • j 检测图像中的信息是否是用steg嵌入的。
    • o检测图像中的信息是否是用outouess嵌入的。
    • p检测图像中的信息是否是用jphide嵌入的。
    • i检测图像中的信息是否是用invisible secrets嵌入的。

[网络安全]网鼎杯第四次培训——Misc安全杂项_第31张图片
[网络安全]网鼎杯第四次培训——Misc安全杂项_第32张图片

例题

  • JPHS
    使用010editor打开图片,看一眼开头结尾,然后放到stegslove看一眼
    最后是使用jphs05的seek功能找到了flag
    [网络安全]网鼎杯第四次培训——Misc安全杂项_第33张图片

Steghide

  • 安装
    kali没有自带,自行安装
apt -get instal1 steghide
  • 使用
    查看图片中嵌入的文件信息
steghide info 1.jpg

提取图片中隐戴内容(有密码)

steghide extract -sf 1.jpg -p 123456

提取投密码的还是会提示输入密码直援回车即可)

steghide extract -sf 1.jpg

将safe6.tXt文件隐藏到text.jpg中:
steghide erbed -cf tast.jpg -ef safe6.txt -p 123456

GIF

文件结构

  • 一个GIF文件的结构可分为:
  • 文件头(File Header)
    • GIF文件署名(Signature)
    • 版本号(Version)
  • GIF数据流(GIF Data Stream)
    • 控制标识符
    • 图象块(Image Block)
    • 其他的一些扩展块
  • 文件终结器(Trailer)
    [网络安全]网鼎杯第四次培训——Misc安全杂项_第34张图片

文件头

GIF署名(Signature)和版本号(Version)
GIF署名用来确认一个文件是否是GIF格式的文件,这一部分由三个字符组成:”GIF”:文件版本号也是由三个字节组成,可以为”87a”或”89a”

逻辑屏幕标识符(Logical Screen Descriptor)

Logical Screen Descriptor(逻辑屏幕描述符)紧跟在header后面。这个块告诉decoder(解码器)图片需要占用的空间。它的大小固定为7个字节,以canvas width(画布宽度)和canvas height(画布高度)开始

全局颜色列表(Global Color Table)

GIF格式可以拥有global color table,或用于针对每个子图片集,提供local color table。
每个color table由一个RGB(就像通常我们见到的(255,0,0)红色那种)列表组成。

图像标识符(Image Descriptor)

一个GIF文件一般包含多个图片。之前的图片渲染模式一般是将多个图片绘制到一个大的(virtual canvas)虚拟画布上,而现在一般将这些图片集用于实现动画。
每个image都以一个image descriptor block(图像描述块)作为开头,这个块固定为10字节。
[网络安全]网鼎杯第四次培训——Misc安全杂项_第35张图片

图像数据

  • 图像数据(Image Data)
    终于到了图片数据实际存储的地方。Image Data是由一系列的输出编码(output codes)构成,它们告诉decoder(解码器)需要绘制在画布上的每个颜色信息。这些编码以字节码的形式组织在这个块中。
  • 文件终结器(Trailer)
    该块为一个单字段块,用来指示该数据流的结束。取固定值0x3b.

空间轴

由于GIF的动态特性,由一帧帧的图片构成,所以每一帧的图片,多帧图片间的结合,都成了隐藏信息的一种载体。
对于需要分离的GIF文件,可以使用convert命令将其每一帧分割开来

root in -/Desktop/tmp 入 convert cake.gif cake.png
root in ~/Desktop/tmp 入 ls
cake-0.png cake-1.png cak0e-2.png cake-3.png cake.gif

[网络安全]网鼎杯第四次培训——Misc安全杂项_第36张图片

时间轴

GIF文件每一帧间的时间间隔也可以作为信息隐藏的载体。
[网络安全]网鼎杯第四次培训——Misc安全杂项_第37张图片

使用identify命令去拆解Gif,发现每一帧存在规律。
[网络安全]网鼎杯第四次培训——Misc安全杂项_第38张图片
提取每一帧的间隔并进行转化:
[网络安全]网鼎杯第四次培训——Misc安全杂项_第39张图片

音频文件

  • 与音频相关的CTF题目主要使用了隐写的策略,主要分为MP3隐写,LSB隐写,波形隐写,频谱隐写等等。
  • MP3隐写主要是使用Mp3Stego工具进行隐写
  • 基本用法
encode-E hidden_text.txt-P pass svega.wav svega_stego.mp3
decode -X -P pass svega_stego.mp3
  • 听音频无异常猜测使用隐写软件隐藏数据,搜索mp3里面的关键字符串:
    在这里插入图片描述
    得到密码后使用’Mp3Stego’解密:
decode.exe -X ISCC2016.mp3 -P bfsiscc2016

波形隐写

通常来说,波形方向的题,在观察到异常后,使用相关软件(Audacity,Adobe Audition)观察波形规律,将波形进一步转化为01字符串等,从而提取转化出最终的flag。
在这里插入图片描述
[网络安全]网鼎杯第四次培训——Misc安全杂项_第40张图片

频谱隐写

音频中的频谱隐写是将字符串隐藏在频谱中,此类音频通常会有一个较明显的特征,听起来是一段杂音或者比较刺耳。
[网络安全]网鼎杯第四次培训——Misc安全杂项_第41张图片

LSB隐写

[网络安全]网鼎杯第四次培训——Misc安全杂项_第42张图片

压缩文件

zip基础

文件格式
在这里插入图片描述
压缩源文件数据区中每一个压缩的源文件/目录都是一条记录,其中

  • local file header:文件头用于标识该文件的开始,记录了该压缩文件的信息,这里的文件头标识由固定值‘504B0304开头,也是Zip的文件头的重要标志
  • file data:文件数据记录了相应压缩文件的数据
  • data descriptor:数据描述符用于标识该文件压缩结束,该结构只有在相应的local file header 中通用标记字段的第3bit设为1时才会出现,紧接在压缩文件源数据后

Central directory核心目录

  • 记录了压缩文件的目录信息,在这个数据区中每一条纪录对应在压缩源文件数据区中的一条数据。
    [网络安全]网鼎杯第四次培训——Misc安全杂项_第43张图片
  • End of central directory record(EOCD)目录结束标识
  • 目录结束标识存在于整个归档包的结尾,用于标记压缩的目录数据的结束。每个压缩文件必须有且只有一个EOCD记录。

攻击方式

爆破
ARCHPR

[网络安全]网鼎杯第四次培训——Misc安全杂项_第44张图片

fcrackzip
  • ·-b指定模式为爆破
  • -c1翻定密码类似为纯数字,其它类型可以rtfa
  • -u这个参改非常重要不然不显示破解出来的密码
  • -l 5-6可以指定长度
    root@kali:fcrackzip -b -c1 -u test.zip
伪加密

[网络安全]网鼎杯第四次培训——Misc安全杂项_第45张图片

例题

[网络安全]网鼎杯第四次培训——Misc安全杂项_第46张图片

CRC32爆破
  • CRC本身是[冗余校验码]的意思,CRC32则表示会产生一个32bit(8位十六进制数)的校验值。由于CRC32产生校验值时源数据块的每一个bit(位)都参与了计算,所以数据块中即使只有一位发生了变化,也会得到不同的CRC32值。
  • 比如我们新建一个flag.txt,其中内容为’123’,使用密码!QAZXSWG#EDCVFRS去加密。
    [网络安全]网鼎杯第四次培训——Misc安全杂项_第47张图片
明文攻击
  • 一个加密的压缩文件
  • 压缩文件的压缩工具,比如2345好压,WinRAR,7z。zip版本号等,可以通过文件属性了解。
  • 如果是Linux平台,用‘zipinfo -v可以查看一个zip包的详细信息,包括加密算法等
  • 知道压缩包里某个文件的部分连续内容(至少12字节)

RAR

名称 大小 描述
HEAD_CRC 2 全部块或块部分的CRC
HEAD_TYPE 1 块类型
HEAD_FLAGS 2 阻止标志
HEAD_SIZE 2 块大小
ADD_SIZE 4 可选字段-添加块大小

Rar压缩包的文件头为 0x 52 61 72 21 1A 07 00
紧跟着文件头(0x526172211A0700)的是标记块(MARK_HEAD),其后还有文件头(File Header)

FieidName size(aytes) Possibities
HEAD_CRC 2 Always 0x30c4
HEAD_TYPE 1 Header type;0x7b
HEAD_FLAGS 2 Aways 0x4000
HEAD_SIZE 2 Block size=0x0007
主要攻击
伪加密

[网络安全]网鼎杯第四次培训——Misc安全杂项_第48张图片

流量包

  • 统计流量,以便于知道该流量包主要利用了哪些协议
  • ip contains"xxx",过滤内容
  • 流重组:Follow TCP Stream
  • 提取流中的文件数据

常用的协议

  • IP/TCP
  • UDP/TCP
  • DNS
  • HTTP/HTTPS
例子

[网络安全]网鼎杯第四次培训——Misc安全杂项_第49张图片
[网络安全]网鼎杯第四次培训——Misc安全杂项_第50张图片

[网络安全]网鼎杯第四次培训——Misc安全杂项_第51张图片

视频文件

AVI、MP4较为常见,使用Ourstrect

内存取证

常用工具
  • EasyRecovery
  • MedAnalyze
  • FTK
  • Elcomsoft Forensic Disk Decryptor
  • Volatility
磁盘

常见的磁盘分区格式有以下几种

  • Windows:FAT12->FAT16->FAT32->NTFS
  • Linux:EXT2->EXT3->EXT4
  • FAT主磁盘结构
    在这里插入图片描述
VMDK

VMDK文件本质上是物理硬盘的虚拟版,也会存在跟物理硬盘的分区和扇区中类似的填充区域,我们可以利用这些填充区域来把我们需要隐藏的数据隐藏到里面去,这样可以避免隐藏的文件增加了VMDK文件的大小(如直接附加到文件后端),也可以避免由于VMDK文件大小的改变所带来的可能导致的虚拟机错误。而且VMDK文件一般比较大,适合用于隐藏大文件。

内存
  • 解析Windows/Linux/Mac OSX内存结构
  • 分析进程,内存数据
  • 根据题目提示寻找线索和思路,提取分析指定进程的特定内存数据
例子


[网络安全]网鼎杯第四次培训——Misc安全杂项_第52张图片
[网络安全]网鼎杯第四次培训——Misc安全杂项_第53张图片

  • Dumpit进行分析
  • Volatillity取证
  • imageinfo获取基本信息
  • 使用hash-idnetifier简单识别

其他

HTML隐写

snow.exe是一款在html嵌入隐写信息的软件,它的原理是通过在文本文件的末尾嵌入空格和制表位的方式嵌入隐藏信息,不同空格与制表位的组合代表不同的嵌入信息。

NES文件类

NES模拟器直接打开开金手指游戏通关获得flag

你可能感兴趣的:(网络安全)