图片隐写:将欲传达的信息隐藏在图片中,由此达到隐写的目的

基本套路:
一.将信息隐藏于图片属性(右键-属性,可以获得有关信息)

二.数据类型的隐藏:比如打开一张png格式图片,但是无法显示。
原因:可能为缺少文件头或者文件头和后缀不匹配
常用工具:Winhex、010editor

三.”文件嵌套文件”
原因:文件头的嵌套,Copy等命令的使用
常用工具:Winhex(010editor)、Binwalk(Foremost)、
steghide(jpg、bmp):
steghide info xxx.jpg(查看图片中嵌入的文件信息)
steghide extract -sf xxx.jpg(提取隐藏文件)
steghide embed -cf [文件载体] -ef [待隐藏文件](将文件隐藏进载体)

stegdetect(jpg):用于检测jpg文件加密方式,包括:jsteg、outguess、jphide、invisible secrets,对应j、o、p、i
stegdetect.exe -tjopi -s 10.0 xxx.jpg(检测该图片用的是哪种加密)
stegbreak.exe -r rules.ini -f password.txt -t p xxx.jpg(若是jphide可用字典破解密码)

 

四.文件内部的冗余信息
原因:后续加入的不影响图片正常显示的信息
常用工具:Winhex(010editor)、strings

五.基于图片本身的数据隐藏
图片的宽高隐写:通过后期对于图片宽、高进行调整,实现隐藏部分图片内容,从而达到数据隐写的目的。一般来说这种题目会有很明显的提示,比如图片的宽和高明显不对等,或指向某方向的箭头等
软件:pngcheck(png):pngcheck xxx.png(检测CRC,判断是否为CRC校验码错误,如果错误说明图片高度或宽度被修改。此时使用010editor等Hex编辑器进行修改)
替代:tweakPNG(png)

LSB隐写:人眼能观察到的颜色有限,通过改变人眼观察不到的颜色数据来进行数据隐写,LSB隐写只会出现在png或bmp等无损的图片格式中
常用工具:Stegsolve
png和bmp图片隐写用kali跑zsteg,极其好用!

GIF文件的处理:利用StegSolve对文件进行逐帧分析
一些类型:逐帧分析后将图片合并得到flag、逐帧分析后将图片合并得到二维码等

gif要合成一张相片时:
root@kali:~# convert +adjoin xxx.gif piece-%03d.gif
root@kali:~# convert +append piece-*.gif output.gif

要修改图片宽高时:

盲水印(两张一样的图片):
python3 bwnfor3.py decode x1.png x2.png 123.png —oldseedpng的一种lsb隐写:
python lsb.py extract xxx.png (out 密码)


jpg文件隐写:
outguess -r xxx.jpg flag.txt


常见的文件头:
JPEG (jpg),文件头:FFD8FF
PNG (png),文件头:89504E47
GIF (gif),文件头:47494638
TIFF (tif),文件头:49492A00
Windows Bitmap (bmp),文件头:424D
CAD (dwg),文件头:41433130
Adobe Photoshop (psd),文件头:38425053
Rich Text Format (rtf),文件头:7B5C727466
XML (xml),文件头:3C3F786D6C
HTML (html),文件头:68746D6C3E
Email [thorough only] (eml),文件头:44656C69766572792D646174653A
Outlook Express (dbx),文件头:CFAD12FEC5FD746F
Outlook (pst),文件头:2142444E
MS Word/Excel (xls.or.doc),文件头:D0CF11E0
MS Access (mdb),文件头:5374616E64617264204A
WordPerfect (wpd),文件头:FF575043
Postscript (eps.or.ps),文件头:252150532D41646F6265
Adobe Acrobat (pdf),文件头:255044462D312E
Quicken (qdf),文件头:AC9EBD8F
Windows Password (pwl),文件头:E3828596
ZIP Archive (zip),文件头:504B0304
RAR Archive (rar),文件头:52617221
Wave (wav),文件头:57415645
AVI (avi),文件头:41564920
Real Audio (ram),文件头:2E7261FD
Real Media (rm),文件头:2E524D46
MPEG (mpg),文件头:000001BA
MPEG (mpg),文件头:000001B3
Quicktime (mov),文件头:6D6F6F76
Windows Media (asf),文件头:3026B2758E66CF11
MIDI (mid),文件头:4D546864
python反编译文件pyc的头:03 F3 0D 0A


音频隐写:
摩斯密码:部分音频隐写通过快速播放的Morse电码来传递信息(也有可能是正常速度的)
解题方法:通过Audacity打开音频文件,放大波形图,来判断Morse电码;通过CTFcrack或其他工具进行解码

频谱图隐藏信息:
解题方法:通过Audacity打开音频文件,选择音频所在音轨,频谱->频谱图即可

MP3文件的隐写:
解题方法:使用MP3stego的decode模块即可
加密:encode -E 加密文本 -P 密码 wav文件 mp3文件
解密:decode -X -P 密码 mp3文件
SilentEye也有可能
也有可能用软件DeEgger Embedder检测


压缩包/爆破工具:
1.Advanced Archive Password Recovery(ARCHPR)
破解rar、zip 压缩包的密码(不支持rar5)
2.AdvancedRARPassword
破解rar压缩包的密码(不支持rar5)
3.AdvancedPDFPasswordRecovery
破解pdf的密码

破解方式:
1.暴力破解
2.掩码破解(已知密码的某几位后进行构造)
3.明文攻击(已知内部某个文件)


遇到pyc文件(文件头03F30D0A)需要反编译时:
uncompyle6 -o xx.py xx.pyc xx(我的电脑用不了)
或使用easy python decompiler


恢复误删文件:
extundelete xxx --restore-all


想打开elf文件但权限不足时:
chmod +x 文件名
./文件名


追踪TCP流时使用RSA解密:
openssl rsautl -decrypt -in key.txt -inkey rsa.key -out flag.txt
-in 为要解密的加密文档 -inkey 为密钥 -out 为输出文档


发现git/stash时考虑是否有隐藏py文件:
git stash show
git stash apply


找pcapng文件中的{:
strings xxx.pcapng | grep {


钥匙信号(PT224X) = 同步引导码(8bit) + 地址位(20bit) + 数据位(4bit) + 停止码(1bit)
PT2242的,前面4bit表示同步码,中间的20bit表示地址码,后面的4bit表示功能码,后面最后一个是停止码
PT2262的,前面4bit表示同步码,中间的8bit表示地址码,后面的4bit表示功能码,后面最后一个是停止码


完全未知文件/发现有多处字符相同:
考虑xortool来猜测key
xortool xxx -c 20
xortool -x -c 20 xxx.txt


multimon-ng是一个专门解码aprs、psk等业余无线电数字通信协议的工具
需要先把wav文件转为raw文件:
sox -t wav xxx -esigned-integer -b16 -r 22050 -t raw xxx.raw
然后
multimon-ng -t raw -a AFSK1200 latlong.raw


pyc文件隐写:
在stegosaurus文件夹下
py stegosaurus.py -x xxx.pyc


差分曼彻斯特编码:
形如AAAAA56A69AA55A95995A569AA95565556
运行Manchester.py
得8024d8893ca584181
去掉左边5个右边4个即为传感器ID


判断是否有base32隐写:
编码解码前后文本是否相同,若不同则有base32隐写(运行base32steganography.py)


cap文件:
aircrack-ng xxx.cap
aircrack-ng xxx.cap -w password.txt
(破解wifi密码, password.txt即为暴力破解的字典)
恶臭的数据包


crc碰撞:
发现文件夹里面有几个几k的文件
python3 crc32.py reverse 0x小文件的CRC32码
最终解压密码为多个结果的组合


ntfs隐写:
使用AlternateStreamView/ntfs stream info/ntfs stream editor都行
遇到压缩包时不要直接解压,要选择winrar上的”无需确认直接解压缩”, 否则会丢失数据


base64隐写:
要用python2.7.9跑解码


键盘密码: