1.File命令
当文件没有后缀名或者有后缀名而无法正常打开时,根据识别出的文件类型来修改后缀名即可正常打开文件。
使用场景:不知道后缀名,无法打开文件。格式: file myheart

2.winhex

3.文件头残缺/错误
通常文件无法正常打开有两种情况,一种是文件头部残缺, 另一种是文件头部字段错误。针对文件头部残缺的情况,使用winhex或者010 Editor程序添加相应的文件头,针对头部字段错误,可以找一个相同类型的文件进行替换。
使用场景:文件头部残缺或文件头部字段错误无法打开正常文件。
格式: file 文件名

1.Binwalk工具
Binwalk是Linux下用来分析和分离文件的工具,可以快速分辨文件是否由多个文件合并而成,并将文件进行分离。如果分离成功会在目标文件的目录。
同目录下生成一个形如_ 文件名_ extracted的文件目录,目录中有分离后的文件。
用法:
分析文件: binwalk filename
分离文件: binwalk -e filename
2.foremost
如果binwalk无法正确分离出文件,可以使用foremost,将目标文件复制到kali中,成功执行后,会在目标文件的文件目录下生成我们设置的目录,目录中会按文件类型分离出文件。
用法:
foremost 文件名 -o 输出目录名

3.dd
当文件自动分离出错或者因为其他原因无法自动分离时,可以使用dd实现文件手动分离。
格式:
dd if=源文件 of=目标文件名名bs=1 skip=开始分离的字节数
参数说明:
if=file #输入文件名,缺省为标准输入。
of=file #输出文件名,缺省为标准输出。
bs=bytes #同时设置读写块的大小为bytes,可代替ibs和obs。
skip=blocks #从输入文件开头跳过blocks个块后再开始复制。


4.Winhex
除了使用dd外,还可以使用winhex实现文件手动分离,将目标文件拖入winhex中,找到要分离的部分,点击复制即可。
使用场景: windows 下利用winhex程序对文件进行手动分离
例:新建一个文件,文件大小1byte, 在文件开头位置点击粘贴,弹出提示框选否、确定,将文件保存为想要的后缀即可。

5.010Editor
将某块区域文件保存的方式如下:

记事本里存放的二进制文件转成二进制文件



1.Linux下的文件合并
2.Windows下的文件合并
1.Winhex/010Editor
通常将要识别的文件拖入winhex中,查找具有关键字或明显与文件内容不和谐的部分,通常优先观察文件首部和尾部,搜索flag或key等关键字,最后拖动滚轮寻找。
2.Notepad++
图片隐写的常见隐写方法
1.细微的颜色差别
2.GIF图多帧隐藏
1.颜色通道隐藏
2.不同帧图信息隐藏
3.不同帧对比隐写
3.Exif信息隐藏
4.图片修复
1.图片头修
2.图片尾修复
3.CRC校验修复
4.长、宽、高度修复
5.最低有效位LSB隐写
6.图片加密
1.Stegdetect
2.outguess
3.Jphide
4.F5
1.Firework

2.Exif
Exijf按照PEG的规格在PEG中插入一些图像/数字相机的信息数据以及缩略图像可以通过与PEG兼容的互联网浏览器/图片浏览器/图像处理等一些软件来查看Exift格式的图像文件就跟浏览通常的PEG图像文件一样,图片右键属性,查看exif或 查看详细信息,在相关选项卡中查找flag信息。

3.Stegsolve

4.LSB(最低有效位Least Significant Bit)
LSB替换隐写基本思想是用嵌入的秘密信息取代载体图像的最低比特位,原来的的7个高位平面与替代秘密信息的最低位平面组合成含隐藏信息的新图形。
1.像素三原色(RGB)
2.通过修改像素中最低位的1bit来达到隐藏的效果
3.工具: stegsolve、 zsteg、 wbstego4、 python脚本


zsteg工具
detect stegano-hidden data in PNG & BMР
Installation
root@kali:/# gem install zsteg
检测LSB隐写
zsteg xxx.png


5.TweakPNG
TweakPNG是一款简单易用的PNG图像浏览工具,它允许查看和修改一些PNG图像文件的元信息存储。使用场景:文件头正常却无法打开文件,利用TweakPNG修改CRC
例:
1.当PNG文件头正常但无法打开文件,可能是CRC校验出错,可以尝试通过TweakPNG打开PNG,会弹出校验错误的提示,这里显示CRC是fe1a5ab6,正确的是b0a7a9f1。打开winhex搜索fe1a5ab6将其改为b0a7a9f1。
- 文件头正常却无法打开文件,利用TweakPNG 修改CRC…
- 有时CRC没有错误,但是图片的高度或者宽度发生了错误,需要通过CRC计算出正确的高度或者宽度。可以用下面的py脚本,需要改文件位置和TweakPNG得到的CRC实际值,用计算出高度,利用01Editor修改宽高

6. Bftools
bftools用于解密图片信息。
使用场景:在windows的cmd下,对加密过的图片文件进行解密格式:
Bftools .exe decode braincopter要解密的图片名称-output输出文件名
Bftools.exe run.上一步输出的文件

7.SilentEye
silenteye是一款可以将 文字或者文件隐藏到图片的解密工具。
使用场景: windows’ 下打开silentEye工具,对加密的图片进行解密
例:
1.使用silentEye程序打开目标图片,点击image一>decode,点击decode,可以查看隐藏文件,点击保存即可
2.如果需要密码,勾选encrypteddata,输入密码和确认密码,点击decode再解密

8.JPG图像加密
1)Stegdetect工具探测加密方式
Stegdetect.程序主要用于分析PEG文件。因此用stegdetect 可以检测到通过Steg、JPHide. OutGuess、 Invisible Secrets、F5、appendX和Camouflage等这些隐写工具隐藏的信息。
stegdetect xxx.jpg
stegdetect -s 敏感度xx.jpgexi

2)Jphide
Jphide是基于最低有效位LSB的JPEG格式图像隐写算法.例:
Stegdetect提示jphide加密时,可以用Jphs.工具进行解密,打开jphswin.exe, 使用open jpeg打开图片,点击seek,输入密码和确认密码,在弹出文件框中选择要保存的解密文件位置即可,结果保存成txt文件。

- Outguess
outguess 一般用于解密文件信息。
使用场景:Stegdetect识别出来或者题目提示是outguess加密的图片该工具需编译使用: https://blog.csdn.net/xcsxchen/article/details/configure && make && make install
格式: outguess -r 要解密的文件名输出结果文件名

- F5
F5一般用于解密文件信息。
使用场景: Stegdetect识 别出来是F5加密的图片或题目提示是F5加密的图片
进入F5-steganography_F5目录,将图片文件拷贝至该目录下,从CMD进入该目录
格式: Java Exrtact 要解密的文件名 -p 密码

9.二维码处理
1.使用二维码扫描工具CQR.exe打开图片, 找到内容字段

2.如果二维码某个定位角被覆盖了,该工具有时候也可以自动识别,如果识别失败,需要使用PS或画图工具将另外几个角的定位符移动到相应的位置,补全二维码 。

3.如果某个二维码的定位点中间是白色,可能被反色了,使用画图工具把颜色反色回来再扫描即可。

1.伪加密
如果压缩文件是加密的,或文件头正常但解压缩错误,首先尝试文件是否为伪加密。zip文件是否加密是通过标识符来显示的,在每个文件的文件目录字段有一位专门标识了文件是否加密,将其设置为00表示该文件未加密,如果成功解压则表示文件为伪加密,如果解压出错说明文件为真加密。
使用场景:伪加密文件
操作方法:使用winhex打开压缩文件, 找到文件头第九第十个字符,将其修改为0000。
1.使用winhex打开文件搜索16进制504B0102,可以看到每个加密文件的文件头字段。

2.从50开始计算,第九第十个字符为加密字段,将其设置为0000即可变成无加密状态。

3.RAR文件由于有头部校验,使用伪加密时打开文件会出现报错,使用winhex修改标志位后如报错消失且正常解压缩,说明是伪加密。使用winhex打开RAR文件,找到第24个字节,该字节尾数为4表示加密,0表示无加密,将尾数改为0即可激活成功教程伪加密。

2.暴力激活成功教程
通常我们可以使用ARCHPR.exe工具来激活成功教程zip文件
使用场景: windows下加密过的zip文件
1、攻击类型选择暴力激活成功教程,在范围位置根据提示选择暴力激活成功教程范围选项设置暴力激活成功教程包含的类型、开始于和结束于选项具体范围,如果没有定义则全范围暴力激活成功教程。点击打开选择要激活成功教程的文件,点击开始进行激活成功教程。建议使用1~9位的数字密码,以及系统自带的英文字典作为密码字典。

2、攻击类型选择掩码可以进行复杂的暴力激活成功教程,比如知道密码前3位是abc,后3位为数字,则在攻击类型选择掩码,在掩码处输入acb???,暴力范围选项选择所有数字,打开要激活成功教程的点击,点击激活成功教程。此时???的部分会被我们选择的暴力激活成功教程范围中的字符代替。

3.明文攻击
明文攻击指知道加密的ZIP中部分文件的明文内容,利用这些内容推测出密钥并解密ZIP文件的攻击方法,相比于暴力激活成功教程,这种方法在激活成功教程密码较为复杂的压缩包时效率更高。
使用场景:已知加密的zip部分文件明文内容
例:假设一个加密的压缩包中有两个文件readme.txt和flag.txt,其中flag txt的内容是我们希望知道的内容,而我们拥有readme.txt的明文文件,使用上述两个文件即可进行明文攻击。
操作:
1、将readme.txt的明文文件进行压缩,变成readme1.zip。
2、打开archpr, 攻击类型选择明文,明文文件路径选择readme1.zip ( 即将明文文件不加密压缩后的文件),加密的文件
选择要激活成功教程的文件,点击开始,激活成功教程成功后会获得密码。

有时不一定能激活成功教程出文件口令,但是能够找到加密密钥等信息,可以直接将文件解密,点击确定保存解密后的文件即可。

使用该方法需要注意两个关键点:
1、有一个明文文件,压缩后CRC值与加密压缩包中的文件一致。
2、明文文件的压缩算法需要与加密压缩文件的压缩算法一致。



CTF比赛中,流量包的取证分析是另一项重要的考察方向。
通常比赛中会提供一个包含流量数据的PCAP文件,有时候也会需要选手们先进行修复或重构传输文件后,再进行分析。
总体把握
·协议分级
·端点统计
过滤筛选
·过滤语法
·Host,Protocol,contains,特征值
发现异常
·特殊字符串
·协议某字段
·flag位于服务器中
数据提取
·字符串取
·文件提取
总的来说比赛中的流量分析可以概括为以下三个方向:
·流量包修复
·协议分析
·数据提取
WireShark工具的基本使用
wireshark的过滤器和过滤规则能够帮助我们迅速定位到要分析的报文。

常用的过滤命令:
1.过滤IP,如源IP或者目标x.x.x.x
ip.src eq x.x.x.x or ip.dst eq x.x.x.x 或者ip.addr eq x.x.x.x
2.过滤端口
tcp.port eq 80 or udp.port eq 80
tcp. dstport == 80 只显tcp协议的目标端口为80
tcp. srcport == 80 只显tcp协议的源端口为80
tcp.port >= 1 and tcp.port <= 80
5.包长度过滤
udp. length = == 26这个长度是指udp本身固定长度8加上udp下面那块数据包之和。tcp.len>= 7指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
frame.len == 119整个数据包长度,从eth开始到最后
6.http模式过滤
http.request.method == “GET”
http.request.method == “POST”
http.request.uri == “/img/logo-edu.gif”
http contains “GET”
http contains “HTTP/1.”
http.request.method == “GET” && http contains “User-Agent:”
http contains “flag”
http contains “key”
tcp contains “flag”
WireShark 协议分析
了解数据包传输的内容

根据数据包特征进行筛选
比如查看数据包的时候,有的数据包有某种特征,比如有http(80)。就可以筛选出这种特征出来。
右键→作为过滤器应用→选中

WireShark流汇聚
在关注的ttp数据包或tcp数据包中选择流汇聚,可以将HTTP流或TCP流汇 聚或还原成数据,在弹出的框中可以看到数据内容。

常见的HTTP流关键内容:
1、HTML中直接包含重要信息。
2、上传或下载文件内容,通常包含文件名、hash值等关键信息,常用POST请求上传。
3、一句话木马,POST请求,内容包含eval,内容使用base64加密


- wireshark可以手动提取文件内容。
点击想要的数据包,如下图选定media type的位置
右键→导出分组字节流或者点击菜单栏文件→导出分组字节流,快捷方式Ctrl+H在弹出的框中将文件保存成二二进制文件。

无线流量包跑密码
无线wif流量包

aircrack-ng工具进行wifi密码激活成功教程
1.用aircrack-ng检查cap包:aircrack-ng xxx.cap

2.用aircrack-ng跑字典进行握手包激活成功教程: aircrack-ng xx.cap -w pass.txt

USB流量包文件分析
USB流量
USB,流量也是流量分析题的考查点,一 般考察的流量涉及键盘击键,鼠标移动与点击,存储设备的明文传输通信,USB无线网卡网络传输内容等。
USB协议的数据部分在Leftover Capture Data域之中。
右键leftover capture data->应用为列。


鼠标数据包的数据长度为4个字节,第一个字节代表按键, 当取oxoo时,代表没有按键;为ox01时,代表按左键,为0x02时, 代表当前按键为右键。




HTTPS流量包文件分析

密码学的发展
- 第一个阶段是从古代到19世纪末-古典密码 (classical cryptography)
- 第二个阶段从20世纪初到1949年-近代密码
- 第三个阶段从C.E.Shannon (香农)于1949年发表的划时代论文 "The Communication Theory ofSecret Systems "开始-现代密码
- 第四个阶段从1976年W. Diffie和M. Hellman创造性地发表了论文"New Directions in
Cryptography"开始-公钥密码
密码编码学
(1)密码编码学是密码学的一个分支,研究与信息安全(例如:机密性、完整性、可鉴别性)有关的数学技术。
(2)密码编码学是包含数据变换的原理、工具和方法的一门学科,这种数据变换的目的是为了隐藏数据的信息内容,阻止对数据的篡改以及防止未经认可使用数据。
(3)密码编码学是论述使明文变得不可懂的密文,以及把已加密的消息变换成可懂形式的艺术和技巧。
对称加密不对称加密
- 对称密码算法(Symmetric cipher) :加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个。又称传统密码算法(Conventional cipher)、秘密密钥算法或单密钥算法。
DES、 3DES、 IDEA、 AES - 非对称密码算法(Asymmetric cipher). : 加密密钥和解密密钥不同,从一个很难推出另一个。又叫公钥密码算法(Public一key cipher)。其中的加密密钥可以公开,称为公开密钥(public key),简称公钥;解密密钥必须保密,称为私人密钥(private key),简称私钥。
RSA、 ECC、 EIGamal
摘要算法
数据摘要算法是密码学算法中非常重要的一个分支, 它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密。数据摘要算法也被称为哈希(Hash) 算法、散列算法,常见的摘要算法有MD5和SHA
在互联网上进行大文件传输时,都要得用MD5算法产生一个与文件匹配的、存储MD5值的文本文件(后缀名为md5或md5sum),这样接收者在接收到文件后,就可以利用与SFV类似的方法来检查文件完整性,绝大多数大型软件公司或开源组织都是以这种方式来校验数据完整性,而且部分操作系统也使用此算法来对用户密码进行加密,另外,它也是目前计算机犯罪中数据取证的最常用算法。
SHA中SHA1的应用较为广泛,主要应用于CA和数字证书中,另外在互联网中流行的BT软件中,也是使用.SHA1来进行文件校验的,由于SHA系列算法的数据摘要长度较长,因此其运算速度与MD5相比,也相对较慢。

ASCII编码
ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用7位一进制数(剩下的1位一进制为0)来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。
Base64编码
Base64顾名思义就是用64个可显示字符表示所有的ASC字符,64也就是6Bits, 而ASC字符一共有256个,也就是8Bits。 Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24) ,之后在6位的前面补两个0,形成8位一个字节的形式。如果剩下的字符不足3个字节,则用0填充,输出字符使用’=’ ,因此编码后输出的文本末尾可能会出现1或2个’=’
URL编码
Unicode编码
JS混淆
特点:通常在JS脚本里使用eval与function函数进行混淆。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/10467.html