一、隐写
(1)图像隐写
-
细微的颜色差别(像素三原色RGB)工具:stegsolve
-
GIF图多帧隐藏工具:stegsolve、Photoshop、firework
(1)颜色通道隐藏
(2)不同帧图信息隐藏
(3)不同帧对比隐藏
-
Exif信息隐藏工具:windows上右击打开图片属性
-
图片修复 工具 winhex
(1)图片头修复
(2)图片尾修复
(3)CRC校验修复
(4)长、宽、高度修复
-
最低有效位LSB隐写 工具:stegsolve、zsteg、wbstego4
-
图片加密 Stegdetect outguess Jphide F5
(1)file命令
文件不知道后缀名,或者有后缀无法打开文件,根据识别的文件类型来修改文件后缀名即可正常打开文件
file myheart
file filejpj
(2)winhex
查看文件头类型,根据文件头推断出文件头文件尾
文件类型 | 文件头 | 文件尾 | 特征 |
---|---|---|---|
JPEG (jpg) | FFD8FF | FF D9 | ÿØÿà |
PNG (png) | 89504E47 | AE 42 60 82 | .PNG... |
GIF (gif) | 47494638 | 00 3B | GIF89a |
ZIP Archive (zip) | 504B0304 | 50 4B | PK.. |
(3)zsteg分析i
zsteg pic -a #查看它的所有的可用组合
zsteg -E 组合名 oldpicname newpicname #重新组合
(4)stegsolve
(1)当两张jpg图像外观、大小、像素都基本相同,可以考虑结合分析,即将两个图片进行XOR、ADD、SUM操作
Image Combine with
(2)图片LSB隐写
Data Extract
(5)Python脚本
LSB.py
import PIL.Image
def foo():
im=PIL.Image.open("文件路径")
im2=im.copy()
pix=im2.load()
width,height=im2.size
for x in xrange(0,width):
for y in xrange(0,height):
if pix[x,y]&0x1==1:
pix[x,y]=0
else:
pix[x,y]=255
im2.show()
pass
if __name__='__main__':
foo()
print('ok')
pass
(6)TweakPNG
PNG图形浏览工具,当文件头正常但无法打开,可能是CRC校验错误,可以尝试通过TweakPNG打开
(2)音频隐写
-
信息隐藏在声音里或者是数据里
-
工具:MP3stego、Audition、Matlab
(3)视频隐写
-
文件藏在视频的某个或多个帧里
-
工具:Premiere、会声会影、
(4)文件分离
-
工具:binwalk、dd、foremost、winhex
chmod 777 图片.png 给图片最高权限
工具使用
(1)binwalk工具i
binwalk是Linux下用来分析和分离文件的工具,可以快速分辨文件是否由多个文件合并而成,并将文件进行分离
binwalk filename #分析文件
binwalk -e filename #分离文件
(2)foremost工具i
如果binwalk无法分离文件,可以使用binwalk,将目标文件复制到kali中,成功执行后,会在目标文件的文件目录下生成我们设置的目录,目录中会按文件类型分离出文件‘
foremost filename -o #输出目录名
(3)dd分离i
文件爱自动分离出错或者因为其他原因无法自动分离时,可以使用dd使用文件手动分离
dd if=源文件 of=目标文件名 bs=1 skip=开始分离的字节数
if=file #输入文件名
of=file #输出文件名
bs=bytes #同时设置读写块的大小为bytes,可代替ibs和obs
skip=blocks#从输入文件开头跳过blocks个块后再开始复制
(5)文件合并
工具使用
(1)cat 合并
cat 合并的文件 > 输出的文件
cat chap1 chap2 chap3 chap4 > 1.txt
(2)copy合并
copy /B 合并的文件 要输出的命令
copy /B chap1+chap2+chap3+chap4 文件名
完整性检测
certutil -hashfile 图片名.png md5
(6)压缩文件分析
1.加密 暴力破解
ARCHPR(zip)
已知前三位为abc,可以输入abc???进行暴力破解
伪加密 如下
(1)Zip伪加密
zip伪加密,使用winhex打开压缩文件,找到文件头第九第十个字符,将其修改为0000
(2)RAR伪加密
RAR文件由于有头部校验,使用伪加密时打开会出现报错,使用Winhex修改标志位后如报错消失且正常解压缩,说明是伪加密。使用winhex打开RAR文件,找到第24个字节,该字节尾数为4表示加密,0表示无加密,将尾数改为0即可破解伪加密
二、流量分析
主要包含流量包修复,协议分析,数据提取
wireShark网络分析器
wireShark利用本身强大的报文过滤器,帮助我们筛选出想要的报文
常用的过滤命令
1.过滤IP
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
3.过滤协议
tcp/udp/arp/icmp/http/ftp/dns/ip...
4.过滤MAC
eth.dst == A0:00:00:04:C5:84 #过滤目标MAC
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.methed == "GET"
http.request.methed == "POST"
http.request.uri="/img/logo-edu.gif"
http contains "GET"
http contains "HTTP/1."
http.request.method == "GET"
http contains "flag"
http contains "key"
tcp contains "flag"
SMTP协议
SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。