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)

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值)

python crc32.py reverse 你的crc32密文

8zjJnH.png

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,我們需要將其解壓: img

img

  • 爆破
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

8zjRNq.png

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環境再次運行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章