有趣的MISC

  1. Encode编码转换
  2. Steg隐写分析
  3. Forensic数字取证
  4. Others

Steg

  • Bin(二进制)
  • Dec(十进制)
  • Hex(十六进制)
    • 条形码
    • 二维码
      • base全家桶: Base64(图片) Base32 Base16
    • URL编码
    • ASCII编码
    • 摩尔斯编码
    • 曼彻斯特编码/差分曼彻斯特

0x01 二进制:

转为二进制——bin(数字)

转为十六进制——hex(数字)

任意进制转为十进制——int('数字','进制')

套路:

编码工具:jpocketknife

  1. TAB表示1,空格表示0。七个一组的二进制转换为字符
  2. 长度为类似于25*25的。一般都是二维码。
  3. 字符组成的flag

0x02 Base64:

包含的字符有A-Za-z0-9+/

共64个字符:26 + 26 + 10 + 1 + 1 = 64

其实是65个字符, =是填充字符.

最后经常有=

编码原理:

  • 字符对应ASCII转换成八位二进制
  • base64的基础单位是 38bit的二进制,若是不够38bit则在后面添加0字节(padding)直至满足
  • 38bit的二进制转换成46bit的二进制
  • 4*6bit的二进制转换成十进制
  • 对照base64表把十进制转换成字符

解码原理:

  • 检查base64编码后面有几个等于号
  • 把字符串按照base64表转换成4*6的倍数位数二进制
  • 删除等于号的个数*8的bit
  • 按照6个bit一组转成字符

图片转Base64编码

Base64隐写

Base64,openssl解码得到wav。通过Audacity查看音频,输出莫尔斯密码

base64.b85encode/decode 通过这个py库可以完成base64隐写

0x03 图形码:

二维码识别

有时候会黑白反转。

  1. 条形码:
    • 宽度不等的多个黑条和空白,按照一定的编码,用来表达一组信息的标识符。
    • 国际标准 – EAN-13: 商品条码标准,13位数字 – Code- 39: 39字符 – Code-128: 128字符
  2. 二维码:
    • 用某种特定几何图形按一定规律在 平面(二维 方向上)分布的黑白相间的图形 记录数据符号信息。
    • 堆叠式/行排式二维条码:Code 16K、Code 49、 PDF417
  3. 敲击码:..... ...棋盘加密,ADFGX和ADFGVX密码

  4. 两个Fuck编码

    JSFuck: [ ]( ) ! + BrainFuck:> < + - . , [ ] Jother:! + ( ) [ ] { }

  5. 颜文字:AAencode\JJCODE
゚ω゚ノ= /`m ́)ノ ~┻━┻ //* ́∇`*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д ゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚)

转换工具

CTF中那些脑洞大开的编码和加密

Forensic&Steg

0x01 常见取证对象:

  1. PCAP流量包分析
    • 普通网络流量
    • 蓝牙数据包
    • USB数据包(鼠标、键盘)
    • XNUCA投影仪数据包
    • ……
  2. 各种图片文件
    • JPG、PNG
  3. 音频、视频
    • MP3、WAV、AVI
  4. 压缩包 RAR、ZIP、7Z
  5. 磁盘文件 IMG
  6. 内存镜像
  7. PDF,WORD……

发现隐藏字符串,夹杂着文件修复,字符与隐写加密结合在一起。需要对特殊编码有敏感度,对16进制熟悉。

0x02 常用工具

  • file:鉴定文件类型
  • strings:查看可见字符串
  • binwalk\foremost:分析文件\切割文件
    • 根据文件头识别包含文件
    • 并进行自动化提取
    • binwalk详解
  • 010 editer:16进制文件编辑器

0x03 常见文件

  1. JPEG、PNG、GIF、BMP等图片文件
  2. ZIP、 RAR、TAR、7z等压缩文件
  3. mp3、wma、avi等音、视频文件

文件特征

JPG利用文件格式隐藏信息:

文件格式:由两个字节构成,第一个字节是固定值0xFF,后一个字节则根据不同意义有不同数值 压缩数据:前两个字节保存整个段的长度,包括这两个字节

  1. 文件尾部插入
    • 储存在APP1数据区中
    • MagicEXIF
  2. 每段开始前
    • COM注释:
    • FF 开始标记
    • FE COM注释标记符
    • 00 02 总长度
    • 11 内容
  • stegdetect 检测隐写工具

    • -t 设置要检测哪些隐写工具(默认检测jopi),可设 置的选项如下:
    • j 检测图像中的信息是否是用jsteg嵌入的。
    • o 检测图像中的信息是否是用outguess嵌入的。
    • p 检测图像中的信息是否是用jphide嵌入的。
    • i 检测图像中的信息是否是用invisible secrets嵌入的。

PNG文件格式:

89 50 4e 47 0d 0a 1a 0a

  1. PNG文件格式规范制定的10个辅助数据块是:
    1. 背景颜色数据块bKGD(background color)。
    2. 基色和白色度数据块cHRM(primary chromaticities and white point)。所谓白色度是指当R=G=B= 最大值时在显示器上产生的白色度。
    3. 图像γ数据块gAMA(image gamma)。
    4. 图像直方图数据块hIST(image histogram)。
    5. 物理像素尺寸数据块pHYs(physical pixel dimensions)。
    6. 样本有效位数据块sBIT(significant bits)。
    7. 文本信息数据块tEXt(textual data)。
    8. 图像最后修改时间数据块tIME (image last-modification time)。
    9. 图像透明数据块tRNS (transparency)。
    10. 压缩文本数据块zTXt (compressed textual data)
  2. IDAT隐藏数据:
  • PNG图片中可以存在多个IDAT块 因此这也成了一个隐写的途径
  • 通过计算总IDAT块大小与有效IDAT块大小的差距。然后将多余的打印出来
  • 利用pngcheck检查。正常的块的length是在65524的时候就满了,有时候会出现没有满就分数据块的情况。说明有隐写。 PNG的IDAT是使用从LZ77派生的无损 数据压缩算法,可以用zlib解压。
  1. 修改PNG图片的高度 隐藏数据
    • 最高位对图像影响最大,最低位最小。所以可以修改最低位进行隐写。Bmp灰度值、通道隐写
    • RGB最低位隐藏压缩包
    • 频域手段添加数字盲水印 工具:mathlab
  2. 通过图片通道隐写数据(使用Stegsolve查看)

word

  • 字符编码格式(不可见变可见)
  • 字体颜色
  • wbSteg

pdf

  • pdf-parser

0x04 音、视频类

  1. 频谱
  2. 波形
  3. 隐写软件

MP3Stego:将敏感数据压缩隐藏在MP3音乐文件中

  • AVI、MP4较为常见
    • Ffmpeg:切为图片
    • Ourstrect:

NTFS数据流

Alternatesteamview:扫描NTFS驱动器,可以查找存储在文件系统中所有隐藏的交换数据流

HTML隐写

Snow.exe 在线工具

流量包

  • ACK隐写

ZIP文件

  • ZIP文件密码破解工具:
  • 伪加密
  • 爆破
  • 明文攻击
  • CRC32爆破

Forensic

内存镜像分析

WireShark基础知识及流量分析

数据帧 起点和目的都是数据链路层 数据包 数据

TCP协议

三次握手

HTPP协议

FTP协议

提取

分组详情,Line-based text 文件-导出

Else

NES文件 NES模拟器打开,开金手指,游戏通关。

《数据隐藏技术揭秘》 《黑客大追踪》

转载请注明:碎雪的小屋 » 0x06-Misc

Show Disqus Comments

Search

    Table of Contents