Misc常用工具

Misc Jun 27, 2020

检测 & 分离工具

binwalk

binwalk [文件名]  #扫描文件中是否有隐藏文件
binwalk -e [文件名]  #将其中文件分离

foremost

foremost [文件名]  #将其中文件分离

图片隐写工具

stegsolve

  • 切换通道,观察是否有异常。如果在某个通道图片有异常则可能是 LSB 隐写

  • 可以逐帧观察、保存 gif 动图

cloacked-pixel

带密码的 LSB 隐写
GitHub 页面见 livz/cloacked-pixel

python2 lsb.py analyse xxx.png/jpg  #分析图片
python2 lsb.py hide xxx.png/jpg [要隐藏的文件] [密码]  #隐藏文件
python2 lsb.py extract xxx.png/jpg [输出文件] [密码]  #提取文件

Blind WaterMark

  • 盲水印1

    GitHub 页面见 chishaxie/BlindWaterMark

    python3 bwmforpy3.py encode [原图] [水印图片] [加了水印的图片]  #给图片加上水印
    python3 bwmforpy3.py decode [原图] [加了水印的图片] [水印图片]  #分离出图片的水印
    
  • 盲水印2

    GitHub 页面见 linyacool/blind-watermark

    python2 encode.py --image [原图] --watermark [水印图片] --result [加了水印的图片]  #给图片加上水印
    python2 decode.py --original [原图] --image [加了水印的图片] --result [水印图片]  #分离出图片的水印
    

zsteg (png&bmp)

用于检查是否有 LSB 隐写
GitHub 页面见 zed-0xff/zsteg

zsteg xxx.png/bmp  #检查是否有LSB隐写
zsteg xxx.png/bmp -a  #尝试所有已知的组合
zsteg xxx.png/bmp -v  #显示细节
zsteg -E "[隐写方法]" xxx.png/bmp > out.txt  #提取文件

pngcheck (png)

判断是否为 CRC 校验码错误,如果错误说明图片高度或宽度被修改

pngcheck xxx.png  #检查CRC

tweakPNG (png)

可以检查 CRC 校验码,并可以修改图片的宽和高

steghide (jpg&bmp)

一个可以将文件隐藏到图片或音频中的工具

steghide info xxx.jpg  #查看图片中嵌入的文件信息
steghide extract -sf xxx.jpg  #提取隐藏文件
steghide embed -cf [文件载体] -ef [待隐藏文件]  #将文件隐藏进载体

stegdetect (jpg)

用于检测 jpg 文件加密方式,包括:

  1. jsteg

  2. outguess

  3. jphide

  4. invisible secrets

对应 j、o、p、i

首先进入 stegdetect 所在目录,

./stegdetect -tjopi -s 10.0 xxx.jpg  #检测该图片用的是哪种加密
./stegbreak -r rules.ini -f password.txt -t p xxx.jpg  #若是jphide可用字典破解密码

outguess (jpg)

outguess -k [密码] -r xxx.jpg out.txt  #解密
outguess -k [密码] -d [要隐藏的文件] xxx.jpg yyy.jpg  #加密,xxx.jpg会覆盖yyy.jpg
#密码可有可无

f5-steganography (jpg&gif)

首先进入 f5-steganography 所在目录,

java Extract xxx.jpg -p [密码]  #解密

stegpy (png&bmp&gif&webp)

Github 页面见 dhsdshdhk/stegpy

stegpy "Hello World!" image.png  #无密码隐写
stegpy "Hello World!" image.png -p  #加密码隐写
stegpy stego.png  #无密码提取
stegpy stego.png -p  #加密码提取

其他图片工具

ImageMagick

  • convert 命令

    • 转换图像格式

      convert xxx.jpg xxx.png  #把jpg文件转成png文件
      
    • 改变图像大小、旋转图像

      convert -resize 1024x768 xxx.jpg yyy.jpg  #将图像分辨率改为1024*768
      convert -sample 50%x50% xxx.jpg yyy.jpg  #将图像的缩减为原来的50%*50%
      
    • 切割图片

      convert -crop mxn +repage xxx.jpg %04d.jpg
      #从左向右,从上向下把xxx.jpg切成mxn像素的小块
      
    • 在图像里面添加文字

      convert -fill black -pointsize 60 -font helvetica -draw "text 10,80 'Hello, World!'" xxx.jpg yyy.jpg
      #在图片的(10,80)位置用60磅的黑色Helvetica字体写上Hello, World!
      
  • identify 命令

    • 查看图片的信息

      identify xxx.jpg  #查看简略信息
      identify -verbose xxx.jpg  #查看详细信息
      
    • 分析 gif 每一帧的时间间隔

      identify -format "%s %T\n" xxx.gif  #加上行号
      identify -format "%T\n" xxx.gif  #不加行号
      
  • montage 命令

    图片拼接命令

    montage *.jpg -tile axb -geometry mxn+x+y out.jpg
    #将目录中jpg文件按顺序拼为横向a块纵向b块,每个图块为mxn像素,边框为横向x像素纵向y像素,输出为out.jpg
    

exiftool

查看或插入图片的 exif 信息

  • 查看 exif 信息

    exiftool xxx.jpg
    
  • 插入 exif 信息

    exiftool -copyright="Hello," -comment=" World!" xxx.jpg
    #分别写入图片的copyright和comment
    

gnuplot

一个命令行的交互式绘图工具。我主要用来把存有像素点坐标的 txt 文件转化为图像

格式要求:每个坐标占一行,x 轴的值与 y 轴的值中间由空格分开

gnuplot  #启动gnuplot
plot pixel.txt  #生成图像

也可以用来画函数图像

plot sin(x)  #画一个正弦图像

gaps (jpg)

自动拼图软件
GitHub 页面见 nemanja-m/gaps

  • 构建拼图

    create_puzzle xxx.jpg --size=[每个拼图块的边长像素数] --destination=puzzle.jpg
    
  • 解决拼图

    gaps --image=puzzle.jpg --generations=[遗传代数] --population=[拼图个数] --size=[每个拼图块的边长像素数] --save
     #不写size参数也可以
    

zbarimg

可以批量扫描二维码

zbarimg *.png  #扫描当前目录中所有的png文件

QR Research

扫二维码、生成二维码的工具。可以设置纠错等级和掩码

压缩包工具

Advanced Archive Password Recovery

破解 rar、zip 压缩包的密码(不支持 rar5)

ZipCenOp (zip)

用于解除伪加密,但无法检测是否为伪加密

首先进入 ZipCenOp 所在目录,

java -jar ZipCenOp.jar r xxx.zip  #解除伪加密
java -jar ZipCenOp.jar e xxx.zip  #加上伪加密

rbkcrack

压缩包明文攻击工具,可以爆破出三个密钥,使用密钥可以用 AAPR 得到压缩包密码

rbkcrack -C [加密压缩包] -c [加密压缩包中的明文文件名] -P [明文压缩包] -p [明文压缩包中的明文文件名]

音频工具

Audacity

观察音频的波形、频谱图

MP3Stego (mp3)

首先进入 MP3Stego 所在目录,

./Decode.exe -X -p [密码] xxx.mp3  #解密
./Encode.exe -E [要隐藏的文件] -P pass xxx.wav out.mp3  #加密

steghide (wav&au)

与上方图片工具中 steghide 用法相同,点此跳转

stegpy (wav)

与上方图片工具中 stegpy 用法相同,点此跳转

MMSSTV

慢扫描电视,音频转图片

视频工具

ffmpeg

强大的视频处理工具

命令行格式为:

ffmpeg [全局参数] [输入文件参数] -i [输入文件] [输出文件参数] [输出文件]
  • 处理音频

    ffmpeg -i [视频名] -vn [音频名]  #提取视频中的音频
    ffmpeg -i [视频名] -an [音频名]  #去除视频中的音频
    ffmpeg -i [视频名] -i [音频名] [输出视频名]  #为视频添加音轨
    
  • 处理帧

    ffmpeg -i [视频名] -q:v 1 -f image2 %04d.jpg  #抽出视频的每一帧
    ffmpeg -f image2 -i %04d.jpg -r [帧数] [输出视频名]  #多张图片转视频
    
  • 其他

    ffmpeg -i [视频名]  #查看文件信息
    ffmpeg -i [视频名] -c copy [输出视频名]  #转换视频文件格式
    ffmpeg -i [视频名] -vf scale=[横向总像素]x[纵向总像素] [输出视频名]  #调整视频分辨率
    ffmpeg -ss [开始时间] -i [视频名] -t [持续时间] -c copy [输出视频名]  #截取视频
    

流量分析工具

Wireshark

图形化的流量分析工具

tshark

命令行版 Wireshark,用来提取数据

tshark -r [文件名] -T fields -Y [过滤条件] -e [要提取的数据类型]
tshark -r 1.pcapng -T fields -Y 'tcp.flags == 0x012' -e tcp.srcport
#提取出发送SYN、ACK包的所有发送端端口

UsbKeyboardDataHacker

用来读取 USB 流量包的键盘输入
Github 页面见 WangYihang/UsbKeyboardDataHacker

python3 UsbKeyboardDataHacker.py [文件名]

内存取证工具

Volatility

volatility -f [文件名] imageinfo  #获取摘要信息
volatility editbox -f [文件名] imageinfo  #显示有关编辑控件的信息
volatility -f [文件名] --profile=[配置文件] pslist  #列出进程
volatility -f [文件名] --profile=[配置文件] filescan  #扫描打开的文件
volatility -f [文件名] --profile=[配置文件] cmdscan  #扫描cmd命令
volatility -f [文件名] --profile=[配置文件] clipboard  #查看剪切板
volatility -f [文件名] --profile=[配置文件] clipboard -v > 1.txt  #查看剪切板并导出
volatility -f [文件名] --profile=[配置文件] userassist  #查看运行进程的次数和时间
volatility -f [文件名] --profile=[配置文件] screenshot --dump-dir [目录]  #获得当前截图
volatility -f [文件名] --profile=[配置文件] memdump -p [端口号] -D [目录]  #导出文件
volatility -f [文件名] --profile=[配置文件] dumpfiles -Q [内存地址] -D [目录]

mimikatz

可以从 lsass.exe 这个进程的内存文件中导出用户的登录密码
使用时需要使用管理员权限打开

privilege::debug  #提升权限
sekurlsa::minidump lsass.dmp  #载入lsass.dmp
sekurlsa::logonpasswords full  #获取登录密码

爆破工具

hashcat

爆破各种哈希值,可以用来爆破 rar 的密码
Github 页面见 hashcat/hashcat

首先进入 hashcat 目录

./hashcat -m [哈希模式] -a [攻击模式] -D [使用的设备] [哈希值] [字典或掩码]

./hashcat -m 11500 -a 3 -D 2 '7bad41fb:00000000' ?a?a?a?a --keep-guessing  #爆破CRC32
./hashcat -m 13000 -a 3 -D 2 '$rar5$16$0f209ff646b5969f2d9956e3e4fc3b06$15$672d583323aec626f053be2469e59137$8$fcfd5bb1040d2ae8' GW?a?a?a?a
#哈希模式为RAR5,攻击模式为掩码暴力爆破,只使用GPU,密码前两位是G、W,后四位设置为大小写、数字、特殊符号
#使用CPU会拖慢爆破速度

CRC32 Tools

爆破 CRC,主要用于 6 字节以内的文件
GitHub 页面见 theonlypwner/crc32

python3 crc32.py reverse 0x90a3a42e

RsaCtfTool

爆破 RSA 工具
GitHub 页面见 Ganapati/RsaCtfTool

python3 RsaCtfTool.py --publickey [公钥文件] --private  #由公钥爆破私钥
python3 RsaCtfTool.py -n [n的值] -e [e的值] --private  #由n和e的值爆破私钥
python3 RsaCtfTool.py --dumpkey --key [公钥文件]  #输出公钥的n和e的值

pyc 工具

uncompyle6

反编译 pyc 文件
GitHub 页面见 rocky/python-uncompyle6

uncompyle6 xxx.pyc > xxx.py  #反编译
uncompile -o . *.pyc  #将当前目录中所有的pyc文件反编译成pyc_dis源文件

stegosaurus (py 3.6)

pyc 文件隐写
GitHub 页面见 AngelKitty/stegosaurus

python3 stegosaurus.py -x [pyc文件]  #提取隐藏信息
python3 stegosaurus.py [pyc文件] -p [隐藏信息] #加上隐藏信息

其他

Silent Eye

NTFS Streams Editor

标签

john_doe

Merak 铁菜鸡一枚

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.