ctf方向misc笔记

一 杂项

1文件隐写

  • 文件类型识别
  1. file命令

在Linux系统中使用该命令

命令格式:file 文件名

  1. winhex工具

使用winhex程序可以查看文件的头类型,根据头类型可以判断出文件类型

使用场景:windows系统

ctf方向misc笔记

ctf方向misc笔记

flag可能就藏在文件被解析为16进制后的字段中

  1. 文件头残缺/错误(可能要用到的工具:010editor 16进制编辑器

文件头部残缺或者头部字段错误无法打开正常文件,针对这种请款阿甘,使用winhex程序添加相应的文件头,针对头部字段错误,可以找一个相同类型的文件进行替换

 

使用场景:文件头部残缺或者头部字段错误无法打开正常文件

格式:file 文件名

如果文件无法打开,使用该命令解析,显示data信息,则表示该文件头部残缺或者错误,此时就可以用16进制编辑器在第一行补充正确的文件头

ctf方向misc笔记

ctf方向misc笔记

             

②  文件分离操作

       a. binwalk工具

       该工具是Linux下用来分析和分离文件的工具,可以快速分辨文件是否有多个文件合并而成,并将文件分离。如果分离成功会在目标文件的目录中生成一个形如_文件名_extracted的文件目录,目录中会有分离后的文件。

       格式:

       分析文件 binwalk filename.后缀

ctf方向misc笔记  

分离文件 binwalk -e filename.后缀

ctf方向misc笔记

  

     ctf方向misc笔记

 

                     b. foremost

                     如果用binwalk无法分离出文件,可以使用该工具,将目标文件复制到kali中,成功执行后会将分离后的文件保存在源文件的新文件夹中。

                     命令格式:foremost 文件名.后缀 -o 自定义保存分离文件的文件夹名

             

                     c. dd(半自动化分离文件工具)

                     当上面两个工具分离出错或者无法自动分离时,就需要dd来手动实现分离力

                     命令格式:

                     dd if=源文件 of=目标文件名 bs= count= skip=

                     参数说明;

                            if = file  输入文件名 缺省为标准输入

                            of = 分离后的文件名       分离后的文件名

                            bs=i                            将文件分为多个块,一个块的大小为字节为i

                            count=j                       从头开始取j块

                            skip-k    

                            命令表示:截取源文件,开始字段为ictf方向misc笔记 k,截取字段的长度为ictf方向misc笔记 j  当skip省略时,截取从0开始,截取字段的长度为ictf方向misc笔记 j           

                     d. winhex      

                     除了用dd外,还可以使用过winhex实现手动分离,将目标文件拖入winhex中,找到要分离的部分,点击复制即可

                     使用场景:windows下利用winhex程序对文件进行手动分离

                     例如:新建一个文件,文件大小1byte,在文件开头位置点击粘贴,弹出提示框选否,确定,将文件保存为想要的后缀即可。

ctf方向misc笔记

 

                     e. 010deitor

                            用法1:选择需要分离的文件在源文件中的内容,按图中所示选择选项即可分离出源文件包含的文件。

       ctf方向misc笔记

 

 

                     用法二:将16进制的文件导入,然后另存为对应的文件类型

ctf方向misc笔记

 

              ③文件合并操作(题目给出多个文件,我们需要将这些文件按顺序合并,校验md5等确定是否合并正确,一般在打开合并的文件后就可以得到flag)

                     a. Linux下的文件合并

                     使用场景:Linux下通常对文件名类似的文件进行批量合并

                     命令格式:cat 合并的文件1 合并的文件2  … >合并后输出的文件名

ctf方向misc笔记

                     完整性检测(计算文件的md5等等):md5sum 文件名

ctf方向misc笔记

                     b. windows下的文件合并

                     格式:copy /B 合并的文件1+合并的文件2+… 输出的文件名

ctf方向misc笔记

                     完整性检测(计算文件的md5等等) :certutil -hashfile 文件名 md5

ctf方向misc笔记

 

              ④文件内容隐写()

              题目给一个或多个文件,我们需要用工具打开,例如notpad++,然后使用查找功能搜索fiag或者key等关键字,以得到题目线索。

              文件可能还需要使用16进制编辑器打开,然后再进行查找等操作

 

       2 图片隐写术

              常见的图片隐写方法

                     i. 细微的颜色差别

                     ii. gif图多帧隐藏

                            a. 颜色通道隐藏

       b 不同帧图信息隐藏

       c. 不同帧对比隐写

iii exif信息隐藏

iv 图片修复

       a. 图片头修复

                            b. 图片尾修复

                            c. crc校验修复

                            d. 长宽高修复

                     v 最低有效位lsb隐写

                     vi 图片加密

                            a. stegdetect

                b. outguess

                c Jphide

                         d.F5

              ①firework工具

                   使用winhex打开文件时会看到头部中包含fireworks的标识 ,通过firework可以找到隐藏图片

              使用场景:查看隐写的图片文件

             

              ②Exif

              Exif按照JPEG的规格在JPEG中插入一些图像/数字相机的信息数据以及缩略图

        图片右键属性 查看exif或者查看详细信息,在相关选项卡中查找flag等。

              ③Stegsolve

              当两张jpg图片外观、大小、像素都基本相同时,可以考虑进行结合分析,即将两个文件按的像素rgb值进行xor add sub等操作,看能否得到有用的信息,stegslove可以方便的进行这些操作。

              使用场景:两张图片的信息基本相同

              操作:选择file-open打开图片A,接着做下图中的操作。【操作图片是有顺序之差的】

 

ctf方向misc笔记

 

 

ctf方向misc笔记

      

④LSB(最低有效位least  significant bit)

ctf方向misc笔记

 

              lsb替换隐写基本思想是用嵌入的秘密信息取代载体图像的最低比特位,原来的7个高位平面与替代秘密信息的最低位平面合成隐藏信息的新图像

              工具:

a. stegsolve.jar

                     b. zsteg(linux环境下)

在线安装命令:gem install zsteg

                            命令:zsteg xxx.jpg

                     c. wbstego4(适用文件:.bmp .rle .txt .asc .html .xml .pdf)

                            jpg可以转成bmp

d. python脚本

       将以下脚本放在kali中运行,将目标文件放在脚本同目录下,将脚本中的文件名修改为目标文件名,运行python即可

ctf方向misc笔记

              ⑤TweakPNG

              tweakpng是一款简单易用的png图像浏览器,它允许查看和修改一些png图像文件的元信息存储,

              使用场景:文件头正常却无法打开文件,利用tweakpng修改crc

              操作:用该工具打开有问题的png图片,会提示错误的crc字符串以及正确的crc字符串,然后用16进制编辑器winhex打开搜索错误的crc字符串,然后用正确的替换。

              特殊情况:有时候crc没有错误,但是图片的宽度或者高度发生错误,需要通过用python脚本利用crc计算出正确的高度宽度

python脚本代码:

ctf方向misc笔记

              ⑥bftools

                     用于解密图片信息

              使用场景:在windows的cmd下,对加密过的图片进行解密

              格式:bftools.exe decode braincopter 要解密的图片名称 –output 输出文件名

                       bftools.exe run 上一步输出的文件

              ⑦silentEye

              ctf方向misc笔记

ctf方向misc笔记

⑧jpg图像加密解密

i.  stegdetect工具探测加密方式

ctf方向misc笔记

ctf方向misc笔记

 

ctf方向misc笔记

 

⑨二维码处理(二维码可能被改成彩色、黑白色调换等等)

工具:CQR.exe(或者电脑桌面二维码扫描器)结合Stegsolve工具使用

准备工作:可能需要使用画图对二维码进行反射处理

二维码处理有以下三种情况

ctf方向misc笔记

ctf方向misc笔记

ctf方向misc笔记

      

 

 

3 压缩文件处理

              ①伪加密

                     下图为zip压缩文件的处理方法

ctf方向misc笔记

ctf方向misc笔记

 

                     下图为rar文件的处理方法

ctf方向misc笔记

             

 

 

②暴力**

       工具ARCHPR.exe

ctf方向misc笔记

                     明文攻击:知道加密压缩包中的一部分文件,就可以选择明文攻击类型

ctf方向misc笔记

ctf方向misc笔记

ctf方向misc笔记

                     明文攻击注意事项:

ctf方向misc笔记  

                     压缩算法选择示例

ctf方向misc笔记

掩码攻击:如果知道密码的一部分,比如知道6位密码的前三位为abc,,后三位为数字,则可以在掩码框中填写 abc???  暴力范围为所有数字

ctf方向misc笔记

ctf方向misc笔记

             

 

 

 

有时候不一定非要解密压缩包

ctf方向misc笔记

 

                     注意:RAR文件格式

ctf方向misc笔记

 

 

       4 流量取证技术

ctf方向misc笔记

 

 

 

              ①wirkshark工具

ctf方向misc笔记

                     利用wirkshark工具的过滤器功能

                     常用的过滤命令

                            1 过滤IP 如过滤源IP或者目的IP

                            ip.src eq x.x.x.x   过滤源ip

                            ip,dst eq x.x.x.x  过滤目的ip

                            ip.addr eq x.x.x.  过滤某个ip地址

                            2 过滤端口

ctf方向misc笔记

                            tcp.port eq 80  udp.port eq 80  过滤tcp或者udp的80端口流量包

                            tcp.dstport == 80    只显示tcp协议的目标端口为80的流量包

                            tcp.srcport == 80    只显示tcp协议的源端口为80的流量包

                            tcp.port >=1 and tcp.port <=80

                           

                            3 过滤协议

直接输入ctf方向misc笔记

                            4 过滤mac地址

ctf方向misc笔记

 

                            5 包长度过滤

ctf方向misc笔记

 

 

 

      

                            6 http模式过滤

ctf方向misc笔记

                            7 wireshark协议分析(分级)

ctf方向misc笔记

ctf方向misc笔记

ctf方向misc笔记

ctf方向misc笔记

ctf方向misc笔记

ctf方向misc笔记

 

 

 

 

 

              ②无线流量包**密码

ctf方向misc笔记

ctf方向misc笔记

③usb流量包文件分析

ctf方向misc笔记  

 

 

 

 

                     1 键盘流量包抓取分析

下图中的python脚本可以将usb的leftover capture data数据映射为键盘数据(abc……)

ctf方向misc笔记

ctf方向misc笔记

leftover capture data数据提取方式1 :导出到excel表中

ctf方向misc笔记

leftover capture data数据提取方式2:利用wireshark提供的命令行巩固tshark,可以将leftover capture data数据单独复制出来

ctf方向misc笔记

                     2 usb鼠标流量抓取分析

ctf方向misc笔记

 

 

ctf方向misc笔记

脚本中倒数第三行中的flag==1表示顺序为左,flag==2表示右,分析时有时候需要改变左右。

ctf方向misc笔记

 

ctf方向misc笔记

 

ctf方向misc笔记

 

ctf方向misc笔记

 

ctf方向misc笔记

              ④https流量包文件分析

                     https=http(协议)+tls(套阶层)

                     下图中的key需要通过题目线索得到

ctf方向misc笔记

ctf方向misc笔记

追踪流以后的界面,得到了key

ctf方向misc笔记