menu Ga1@xy's Wor1d
misc工具(6.21更)
547 浏览 | 2020-03-26 | 阅读时间: 约 5 分钟 | 分类: MISC | 标签: MISC,工具

写在前面:本文包含在windows和在kali下使用的工具,win下已做标注,其中若有问题可联系我~

图片相关

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 文件即可

outguess (图片隐写)

  • 安装

打开终端输入: 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.png2.png 调换位置再次尝试

lsb的py脚本解密(lsb隐写+需要passwd)

python lsb.py extract [stego_file] [out_file] [password]

其余详见: https://github.com/livz/cloacked-pixel

zsteg(lsb隐写)

  • 安装
gem install zsteg
  • 使用
zsteg 1.bmp

一般来讲用 zsteg 解密的文件都为 bmp 文件

pngcheck(检查IDAT块_win)

  • 使用

pngcheck.exe 所在文件夹打开cmd

pngcheck.exe -v 123.png

可检查 pngIDAT 块是否有问题

相关题目可参考: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值)

python crc32.py reverse 你的crc32密文

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

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密码)

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(电话音解码)

先将其中dtmf-decoder.py这个脚本中读入文件的部分按照个人需求进行修改

修改后直接运行脚本即可

python dtmf-decoder.py

注:如果在py3环境下运行失败的话请换成py2环境再次运行

发表评论

email
web

全部评论 (暂无评论)

info 还没有任何评论,你来说两句呐!