MISC相关工具下载
写在前面:本文包含在windows和在kali下使用的工具,win下已做标
MISC相关工具下载
图片相关
jpg
f5-steganography (F5隐写,需要passwd)
- 安装
kali中安装: git clone https://github.com/matthewgao/F5-steganography
> git clone https://github.com/matthewgao/F5-steganography ......
- 使用(解密)
进入 F5-steganography 文件夹 打开终端
> java Extract 1.jpg -p 123456 # -p后接f5的key
打开 output.txt 文件即可
- 使用(加密)
> java Embed 原图.jpg 生成图.jpg -e 隐藏的文件.txt -p 密码
outguess (可需要passwd)
- 安装
打开终端输入: git clone https://github.com/crorvick/outguess
> git clone https://github.com/crorvick/outguess ......
下载成功后进入outguess文件夹,在文件夹中打开终端输入:./configure && make && make install
> ./configure && make && make install ......
成功后即可使用
- 使用(加密)
右键打开终端
> outguess -k 12345 -d hidden.txt 1.jpg 2.jpg ...... # -k后接密码 # -d后接要隐藏的内容 # 加密后1.jpg会覆盖2.jpg
- 使用(解密)
右键打开终端(接上述)
> outguess -k 12345 -r 2.jpg out.txt ......
out.txt 中内容即为想要隐藏的 hidden.txt 中内容
也可不需要密码,即
> outguess -r 2.jpg out.txt
stegdetect(检查jpg图片隐写方法_win)
- 使用
将图片复制到 stegdetect.exe 所在文件夹,打开 cmd 输入:
stegdetect.exe -tjopi -s 10.0 [stego_file] -s 修改检测算法的敏感度,该值的默认值为1。检测结果的匹配度与检测算法的敏感度成正比,算法敏感度的值越大,检测出的可疑文件包含敏感信息的可能性越大。 -t 设置要检测哪些隐写工具(默认检测jopi),可设置的选项如下: j 检测图像中的信息是否是用jsteg嵌入的。 o 检测图像中的信息是否是用outguess嵌入的。 p 检测图像中的信息是否是用jphide嵌入的。 i 检测图像中的信息是否是用invisible secrets嵌入的。
如果显示为
[stego_file]:jphide(***)
,则可以用 stegbreak 破解密码stegbreak -r rules.ini -f password.txt -t p [stego_file] # password.txt为自带字典 Loaded 1 files... [stego_file]:jphide[v5](2333) # 2333为该文件jphide的密码
steghide(jpg隐藏信息)
- 安装(kali中)
apt-get install steghide
有需要按 Y 即可
- 使用(加密)
将 flag.txt 文件隐藏到 out.jpg 中:
steghide embed -cf out.jpg -ef flag.txt [-p 123456] # -p后接密码,可无
- 使用(解密)
查看图片中嵌入的文件信息:
steghide info out.jpg
提取含有密码的隐藏内容:
steghide extract -sf out.jpg -p 123456
提取不含有密码的隐藏内容:
steghide extract -sf out.jpg
直接按回车即可
- steghide爆破密码
有些题目用steghide加密文件但是不给密码,此时就需要爆破,steghide本身并不支持爆破,需要一些其他的方法:https://github.com/Va5c0/Steghide-Brute-Force-Tool
python steg_brute.py -b -d [字典] -f [jpg_file]
需要安装的库:progressbar
pip install progressbar2
png & bmp
BlindWaterMark (盲水印)
第一种 正常的bwm
- 安装
在github上下载脚本,网址:https://github.com/chishaxie/BlindWaterMark
安装 python前置模块
> pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python ...... > sudo pip install matplotlib ......
- 使用(解密)
安装成功后打开 bwm.py 所在文件夹,在文件夹中打开终端
# 1.png 为无水印原图 # 2.png 为有盲水印的图 # flag.png 为解出来的图片 > python bwm.py decode 1.png 2.png flag.png
查看 flag.png 即可
- 使用(加密)
安装成功后打开 bwm.py 所在文件夹,在文件夹中打开终端
# 1.png 为无水印原图 # water.png 为水印图 # 2.png 为有盲水印图 > python bwm.py encode 1.png water.png 2.png
查看 2.png 即可
第二种 频域盲水印
-
脚本
import cv2 import numpy as np import random import os from argparse import ArgumentParser ALPHA = 5 def build_parser(): parser = ArgumentParser() parser.add_argument('--original', dest='ori', required=True) parser.add_argument('--image', dest='img', required=True) parser.add_argument('--result', dest='res', required=True) parser.add_argument('--alpha', dest='alpha', default=ALPHA) return parser def main(): parser = build_parser() options = parser.parse_args() ori = options.ori img = options.img res = options.res alpha = options.alpha if not os.path.isfile(ori): parser.error("original image %s does not exist." % ori) if not os.path.isfile(img): parser.error("image %s does not exist." % img) decode(ori, img, res, alpha) def decode(ori_path, img_path, res_path, alpha): ori = cv2.imread(ori_path) img = cv2.imread(img_path) ori_f = np.fft.fft2(ori) img_f = np.fft.fft2(img) height, width = ori.shape[0], ori.shape[1] watermark = (ori_f - img_f) / alpha watermark = np.real(watermark) res = np.zeros(watermark.shape) random.seed(height + width) x = range(height / 2) y = range(width) random.shuffle(x) random.shuffle(y) for i in range(height / 2): for j in range(width): res[x[i]][y[j]] = watermark[i][j] cv2.imwrite(res_path, res, [int(cv2.IMWRITE_JPEG_QUALITY), 100]) if __name__ == '__main__': main()
- 使用
python pinyubwm.py --original 1.png --image 2.png --result out.png
查看 out.png 即可,如果无法得到正常图片,可将 1.png 和 2.png 调换位置再次尝试
lsb的py脚本解密(lsb隐写+需要passwd)
- 下载: https://github.com/livz/cloacked-pixel
- 使用
python lsb.py extract [stego_file] [out_file] [password]
其余详见: https://github.com/livz/cloacked-pixel
zsteg(lsb隐写)
- 安装
gem install zsteg
- 使用
zsteg -a 1.bmp
pngcheck(检查IDAT块_win)
- 使用
在 pngcheck.exe 所在文件夹打开cmd
pngcheck.exe -v 123.png
可检查 png 的 IDAT 块是否有问题
相关题目可参考:https://blog.csdn.net/u010391191/article/details/80818785
有关解题脚本可参考 FzWjScJ 师傅的blog:http://www.fzwjscj.xyz/index.php/archives/17/
WebP
- 安装(kali中)
apt install webp
需要的时候按 Y 即可
- 使用
- cwebp - 编码器工具:可将png转为webp
cwebp 1.png -o 2.webp
- dwebp - 解码器工具:可将webp转为png
dwebp 1.webp -o 2.png
- vwebp - 查看器工具:可直接查看webp格式图片
vwebp 1.webp
- webpinfo - 格式查看工具:可打印出WebP文件的块级结构以及基本完整性检查
webpinfo 1.webp
其余(gif2webp、img2webp等可见官方文档)
exiftool(查看图片exif信息)
- 安装(kali中)
apt-get install exiftool
需要的时候按 Y 即可
- 使用
exiftool 1.jpg # 显示图片所有信息 exiftool 1.jpg | grep flag # 查看图片有关‘flag’字符的信息 exiftool * # 查看此文件夹所有图片信息 exiftool -b -ThumbnailImage attachment.jpg >flag.jpg # 提取缩略图
其余详细: https://segmentfault.com/a/1190000018032048?utm_source=tag-newest
压缩包相关
Fcrackzip (zip暴力破解)
- 安装
kali中安装: sudo apt-get install fcrackzip
> sudo apt-get install fcrackzip ......
- 使用
参数说明:
-c 指定字符集,格式 -c 'aA1!:' a 表示小写字母[a-z] A 表示大写字母[A-Z] 1 表示阿拉伯数字[0-9] ! 表示特殊字符集[!:$%&/()=?{[]}+*~#] : 表示包含冒号之后的字符(不能为二进制的空字符),例如 a1:$% 表示 字符集包含小写字母、数字、$ 和 %
打开终端
> fcrackzip -b -c 'a1A' -l 1-10 -u 123.zip PASSWORD FOUND!!!!: pw == qsb
参数说明:
-b 表示使用暴力破解方式 -c 'a1A' 表示使用大小写字母和数字混合破解的方式 -l 1-10 表示需要破解的密码长度为1-10 -u 表示只显示破解出来的密码,其他错误密码不显示
添加字典:
frcackzip -D -p zidian.txt -u 123.zip PASSWORD FOUND!!!!: pw == qsb
参数说明:
-D 表示要使用字典破解 -p 表示要使用的那个字典
crc值爆破(zip包碰撞crc值)
- 下载脚本:https://github.com/theonlypwner/crc32
- 使用
python crc32.py reverse 你的crc32密文
ZipCenOp(zip伪加密)
- 下载:https://files.cnblogs.com/files/ECJTUACM-873284962/ZipCenOp.zip
- 使用(解密)
在工具所在文件夹打开cmd,输入
java -jar ZipCenOp.jar r xxx.zip
如果显示success则表示成功,之后再直接解压压缩包即可
- 使用(加密)
同样打开cmd,输入
java -jar ZipCenOp.jar e xxx.zip
压缩包就被伪加密了
pyc文件相关
uncompyle6(pyc文件反编译)
- 安装
pip install uncompyle6
- 使用
uncompyle6 test.pyc > test.py
Stegosaurus(pyc隐写_win)
- 版本:Python 3.6 or later
- 使用
在 stegosaurus.py 所在文件夹打开cmd,输入:
python stegosaurus.py -x [pyc_file]
音频相关
MP3stego(MP3隐写_win)
- 使用
在MP3stego文件夹中打开cmd,然后将 Decode.exe 拖到命令行里,将要解密的文件放在文件夹中
...\Decode.exe -X -P [password] [stego_mp3]
执行后会在该文件夹中生成一个 txt 文件,打开查看即可
steghide(wav隐藏信息)
- 安装(kali中)
apt-get install steghide
有需要按 Y 即可
- 使用(加密)
将 flag.txt 文件隐藏到 out.jpg 中:
steghide embed -cf out.jpg -ef flag.txt [-p 123456] # -p后接密码,可无
- 使用(解密)
查看图片中嵌入的文件信息:
steghide info out.jpg
提取含有密码的隐藏内容:
steghide extract -sf out.jpg -p 123456
提取不含有密码的隐藏内容:
steghide extract -sf out.jpg
直接按回车即可
- steghide爆破密码
有些题目用steghide加密文件但是不给密码,此时就需要爆破,steghide本身并不支持爆破,需要一些
其他的方法:https://github.com/Va5c0/Steghide-Brute-Force-Tool
python steg_brute.py -b -d [字典] -f [jpg_file]
需要安装的库:progressbar
pip install progressbar2
其他
aircrack-ng(爆破wifi密码)
- 创建字典
kali下自带有一份无线密码字典:/usr/share/wordlists/rockyou.txt.gz,我们需要将其解压:
- 爆破
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b [MAC] [capfile]
注:-w 后加字典的位置(kali中自带字典的位置)
? -b 后加路由器的MAC地址(应该也就是 BSSID)
- 其余有关aircrack-ng的内容: https://blog.csdn.net/qq_36119192/article/details/84254622
xortool(猜测xor加密的密码长度及值)
- 安装
安装环境基于python3
python3 -m pip install --user xortool
python2似乎也可以……
pip install xortool
- 使用
在想要解密的文件所在目录打开终端:
xortool (-x) -c 20 123.txt #-x:代表文件内容为十六进制 #-c:后加出现频率最高的字符,文本内容一般是空格(20),二进制文件一般是00
这里只列出了最简单的使用方法,其余可见: https://pypi.org/project/xortool/
mimikatz(抓取lsass密码)
- 下载:https://pan.baidu.com/s/1qZmnPar-gfqT9OaWO_DS3g 提取码 svp9
- 使用
- 参考一:介绍一下神器mimikatz,从lsass里抓密码 | Jarett's Blog
- 参考二:Windows密码抓取总结 | TimeS0ng's blog
将 lsass.dmp 文件放在 mimikatz.exe 所在目录下,关闭杀软后打开 mimikatz.exe
执行以下三条命令:
privilege::debug sekurlsa::minidump lsass.dmp sekurlsa::logonpasswords full
gaps(拼图)
- 安装
依次执行以下五条命令
git clone https://github.com/nemanja-m/gaps.git cd gaps pip install -r requirements.txt sudo apt-get install python-tk pip install -e .
- 使用
详细:https://www.zhuanzhi.ai/document/282c8a2293a31361d4c15b4451b5406a
- 创建拼图:
create_puzzle [图片绝对路径] --size=[尺寸] --destination=[创建拼图名称]
得到的拼图所有图在一张大图上,可以配合
convert
命令将其切开
- 还原拼图:
如果还原的是被切开成一小块一小块的拼图,需要先将其拼在一张大图上(可用
montage
命令),之后再用gaps将其还原:gaps --image=out.jpg --generations=50 --population=120 --size=50 --image 指向拼图的路径 --size 拼图块的像素尺寸 --generations 遗传算法的代的数量 --population 个体数量 --verbose 每一代训练结束后展示最佳结果 --save 将拼图还原为图像
如果不能明确提供
--size
的参数,拼图块尺寸将自适应调整,经过我的多次试验,提供--size
参数效果会更好
dtmf-decoder(电话音解码)
- 下载:https://github.com/hfeeki/dtmf
- 使用
先将其中
dtmf-decoder.py
这个脚本中读入文件的部分按照个人需求进行修改修改后直接运行脚本即可
python dtmf-decoder.py
注:如果在py3环境下运行失败的话请换成py2环境再次运行