一般的なパスワード解読ツールの解読速度が遅すぎるため、また、サポートされているパスワード解読プロトコルも多くありません、暴力解読すると、1年も解読できないパスワードもあります。辞書で実行するには、平文のパスワードを辞書に入れなければなりません。また、パスワード辞書が大きすぎると、時間の無駄になります。実行できないのもよくあることです。以下は、世界で最も速いパスワード解読ツール、hashcat、hashcat githubアドレスをお勧めします。最新版のダウンロードを選択すればよいです。
GPU
CPU
APU
DSP
FPGA
コプロセッサ
をダウンロードします。NVIDA の公式 Web サイトにアクセスして、図に示すように、コンピュータのグラフィックス カード モデルに対応するグラフィックス カード ドライバーをダウンロードし、プロンプトに従って段階的にインストールします。
インストールが完了したら、パソコンを再起動します。
(NAVIDA のグラフィックス カードは公式ドライバーをインストールするだけで済みます。HASHCAT がパスワードを解読するために必要な GPU コンピューティング ツールがすでに含まれています。上の写真で公式にダウンロードしたグラフィックス カード ドライバーを使用することを忘れないでください。windows に付属しているグラフィックス カード ドライバーを使用しないでください。)
1 hashcat64.exe -b
さまざまなパスワード ハッシュを解読するための HASHCAT の速度をベンチマークします。
GPUが正しくインストールされている場合、設定を確認し、そのプロパティと使用するドライバ情報を一覧表示します。
通常
1 -m, —hash-type=NUM ハッシュ カテゴリ、その NUM 値はヘルプ情報の下にあるハッシュ カテゴリ値を参照し、その値は数値です。m値を指定しない場合はデフォルトでmd5を指し、例えば-m 1800はsha512 Linux暗号化です。 2 3 -a, –attack-mode=NUM 攻撃モードであり、その値は後方のパラメータを参照する。「-A 0」辞書攻撃、「-A 1」 組み合わせ攻撃;「-A 3」マスク攻撃。 4 5 -V, -version バージョン情報 6 7 -h, -help ヘルプ情報。 8 9 – 静か 静かなモード, 抑制出力
ベンチマーク
1 -b, – ベンチマーク コンピュータのクラック速度をテストし、ハードウェア関連情報を表示します
その他
1 – hex-salt salt 値は 16 進数で与えられます 2 文字セットを 16 進数に設定 4 5 –runtime=NUM 数秒実行後の中止セッション(数値) 6 7 –status ステータス画面の自動更新を有効にする 8 9 –status-timer=NUM ステータス画面の更新秒値 10 11 –status-automat ステータスビューを機械読み取り可能な形式で表示する 12 13
ファイル
1 -o, –outfile=FILE ハッシュファイルの定义 リカバリ出力ファイル 2 3 –outfile-format=NUM ハッシュファイルの出力フォーマットを定义するには、以下の参考文献を参照してください 4 5 –outfile-autohex-disable 16进数で平文を出力することを禁止します 6 14 15 – remove クラックされたハッシュを削除します。ハッシュがテキストから読み取られているときに便利です。すでにクラックされたハッシュを手動で削除する必要はありません。 16 17 – stdout コンソール モード 18 19 – potfile-disable pot ファイルに書き込まない 20 21 – debug-mode=NUM デバッグ パターンの定义 (ルールを使用してのみ混合することによって), 以下のリファレンスを参照してください 22 23 – debug-file=file デバッグ ルールの出力ファイル (デバッグ パターンを参照してください) 24 25 -e, – salt-file=file 塩付きファイルのリストの定义 26 27 – logfile-disable logfile
リソース
1 -c, –segment-size=NUM 辞書ファイルキャッシュサイズ(M) 2 3 -n, –threads=NUM スレッド数 4 5 -s, –words-skip=NUM 単語数スキップ 6 7 -l, –words-limit=NUM 単語数制限(分散)
ルール
1 -r,ルールファイルの使用: -r 1.rule, 2 3 -g, –generate-rules=NUM ランダムに生成されたルール 4 5 –generate-rules-func-min= ランダムルールごとの最小値 6 7 –generate-rules-func-max=ランダムルールごとの最大値 8 9 –generate-rules-seed=NUM 強制RNGシード数
カスタム文字セット
<75x63>ユーザー定義文字セット 2 3 -2, –custom-charset2=CS 例: 4 5 -3, –custom-charset3=CS –custom-charset1=?dabcdef : 設定?1 は0123456789abcdef 6 7 -4, –custom-charset4=CS -2mycharset.hcchr : を設定しますか?2 mycharset.hcchr に含まれる
攻撃モード
1 – toggle-min=NUM 辞書内の文字の最小値 2 3 – toggle-max=NUM 辞書内の文字の最大値 4 5 – インクリメント 拡張モードの使用 6 <13665x135>辞書内の最小文字値 18 19 – table-max=NUM 辞書内の最大文字値 20 21 – pw-min=NUM 長さが NUM より大きい場合、候補文字を印刷します 22 23 – pw-max=NUM 長さが NUM より小さい場合、候補文字を印刷します 24 25 – elem-cnt-min=NUM チェーンあたりの最小要素数 26 27 – elem-cnt-max=NUM チェーンあたりの最大要素数 32 33 – case-permute 辞書内の各単語を反転します
参照
1 = hash[:salt] 2 = plain 平文 3 = hash[:salt]:plain 4 = hex_plain 5 = hash[:salt]:hex_plain 6 = plain:hex_plain<242x232>デバッグモード出力ファイル(ハイブリッドモードのみ、ルールを使用して):
1 = 保存 検索 ルール 2 = 保存 オリジナル ワード 3 = 保存 オリジナル ワード および 検索 ルール 4 = 保存 オリジナル ワード、 検索 ルール および変更 プレーン<307x304>
組み込み文字セット:
1 ?l = abcdefghijklmnopqrstuvwxyz は小文字 2 3 を表しますか?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ は大文字 4 5 を表しますか?d = 0123456789 は数字 6 7 を表しますか?s = !」#$%&’()*+,-./:;<=>?@[\]^_`{|}~ は特殊文字 8 9 を表しますか?A = ?l?う?d?s 大文字と小文字と特殊文字の組み合わせ 10 11 ?b = 0 – 0xff
攻撃モード
1 0 = ストレート (辞書クラック) 2 3 1 = 組み合わせ (組み合わせクラック) 4 5 2 = トグルケース (大文字と小文字の変换) 6 7 3 = ブルートフォース (マスク ブルート クラック) 8 9 4 = 顺列 (シーケンス クラック) 10 11 5 = テーブル ルックアップ (テーブル クラック) 12 13 6 = ハイブリッド dict + マスク ディクショナリープラスマスククラック 14 15 7 = ハイブリッド マスク + ディクト マスク+ディクショナリークラック 16 17 8 = プリンス(プリンスクラック)
ハッシュタイプ
ハッシュ値の例については、URLを参照してください。
1 0 = MD5 2 3 10 = MD5($pass.$salt) 4 5 20 = MD5($salt.$pass) 6 7 30 = MD5(unicode($pass).$salt) 8 9 40 = MD5($salt.unicode($pass)) 10 11 50 = HMAC-MD5 (key = $pass) 12 13 60 = HMAC-MD5 (key = $salt) 14 15 100 = SHA1 16 17<2344x233> 18 19 120 = SHA1($salt.$pass) 20 21 130 = SHA1(unicode($pass).$salt) 22 23 140 = SHA1($salt.unicode($pass)) 24 25 150 = HMAC-SHA1 (key = $pass) 26 27 160 = HMAC-SHA1 (key = $salt) 28 29 200 = MySQL323 30 <2955x284>Cisco-IOS MD5 36 37 900 = MD4 38 39 1000 = NTLM 40 41 1100 = ドメイン キャッシュ 資格情報 (DCC), MSCache 42 50 51 1431 = base64(SHA256(unicode($pass))) 52 53 1440 = SHA256($salt.unicode($pass)) 54 55 1450 = HMAC-SHA256 (key = $pass) 56 57 1460 = HMAC-SHA256 (key = $salt) 58 59 1600 = md5apr1, MD5(APR), Apache MD5 60 61 1700 = 64 65 1720 = SHA512($salt.$pass) 66 67 1730 = SHA512(unicode($pass).$salt) 68 69 1740 = SHA512($salt.unicode($pass)) 70 71 1750 = HMAC-SHA512 (key = $pass) 72 73 1760 = HMAC-SHA512 (key = $salt) 74 75 1800 = SHA512(Unix) 76 77<123x107> Blowfish(OpenBSD) 86 87 3300 = MD5(Sun) 88 89 3500 = MD5(MD5(MD5($pass))) 90 91 3610 = MD5(MD5($salt)。$pass) 92 93 3710 = MD5($salt.MD5($pass)) 94 95 3720 = MD5($pass.MD5($salt)) 96 97 3800 = MD5($salt.$pass.$salt) >98< >99< >3910< = MD5(MD5($pass)。MD5($salt)) >100< >101< >4010< = MD5($salt.MD5($salt.$パス)) 102 103 4110 = MD5($salt.MD5($pass.$salt)) 104 105 4210 = MD5($パス) 106 107 4300 = MD5(strtoupper(MD5($pass))) 108 109 4400 = MD5(SHA1($pass)) 110 111 4500 = Double SHA1 112 113 4600 = SHA1($pass))) 114 115 4700 =<128 129 5400 = IKE-PSK SHA1 130 131 5500 = NetNTLMv1-VANILLA / NetNTLMv1-ESS 132 133 5600 = NetNTLMv2 134 135 5700 = Cisco-IOS SHA256 136 137 5800 = Android PIN 138 139 6300 = AIX< GOST R 34.11-94 148 149 7000 = Fortigate (FortiOS) 150 151 7100 = OS X v10.8+ 152 153 7200 = GRUB 2 154 155 7300 = IPMI2 RAKP HMAC-SHA1 156 157 7400<105x93>154 155 7300 = IPMI2 RAKP HMAC-SHA1 156 157 7400< Woltlab Burning Board 3 162 163 8900 = scrypt 164 165 9200 = Cisco $8$ 166 167 9300 = Cisco $9$ 168 169 9800 = Radmin2 170 171 10000n(SHA1) 182 183 11400 = SIP ダイジェスト 認証 (MD5) 184 185 99999 = 平文
特殊なハッシュタイプ
1 11 = Joomla < 2.5.18 2 3 12 = PostgreSQL 4 5 21 = osCommerce, xt:Commerce 6 7 23 = Skype 8 9 101 = nsldap, SHA1(Base64), Netscape LDAPSHA< v10.6 18 19 123 = EPi 20 21 124 = Django (SHA1) 22 23 131 = MSSQL(2000) 24 25 132 = MSSQL(2005) 26 27 133 = PeopleSoft 28 29 141< LDAP {SSHA512} 36 37 1722 = OS X v10.7 38 39 1731 = MSSQL(2012 & 2014) 40 41 2611 = vBulletin < v3.8.5 42 43 2612 = PHPS 44<ステップ4:hashcatクラックパスワードルール例
1 (1)辞書攻撃 2 3 -a 0 password.lst 4 (2)1~8はデジタルマスク攻撃 5 6 -a 3 --increment --increment-min 1--increment-max 8 ?d?d?d?d?d?d?d?d –O 7 ?dは数字を表し、小文字に変えることができますか?l、大文字?u、特殊文字?s、大文字と小文字+特殊文字?a、–O は最適なクラッキング モードを表します。このパラメータを追加するかどうかは可能です。 8 9 (3)8は数値攻撃 10 11 -a 3 ?d?d?d?d?d?d?d?d 12 同様に、桁数に応じて大文字、小文字、特殊文字などのモードに設定できます。 13 14 (4) カスタム文字 15 現在、純粋な数字または純粋なアルファベットのパスワードは比較的まれです。暗号化専門家によると、漏洩したパスワードの分析によると、個人パスワードの 90% は文字と数字の組み合わせであり、ハッシュキャットは -1 -2 -3 -4 の 4 つのカスタム文字セットをサポートしています。定義するときに必要なのはこれだけです -2 ?l?d で、後で指定できます。2,?2は小文字と数字を表します。この時点で、8 桁の混合小文字と数字をクラックする必要があります。 16 17 Hashcat.exe -a 3 –force -2 ?l?d ハッシュ値またはハッシュファイル ?2?2?2?2?2?2?2?2 18 例えばdz小文字+数字混合8桁パスワードクラック: 19 20 Hashcat -m 2611 -a 3 -2 ?l?d dz.hash ?2?2?2?2?2?2?2?2 21 (5)辞書+マスク暴力クラック 22 Hashcatは辞書と暴力のクラック方法もサポートしています。これは、辞書の前後に暴力の文字列を追加することです。たとえば、辞書の後に 3 を数字として追加するなど、この種のパスワードは非常に一般的です。6番目の攻撃モードを使用して、 23 24 a-6 (Hybrid dict + mask) 25 辞書の前に追加する場合、7番目の攻撃モード、つまり( a-7 = Hybridmask + dict)を使用して、辞書ファイルに数字123を追加してクラックします。 26 27 H.exe -A 6 ffe1cb31eb084cd7a8dd1228c23617c8 password.lst ?d?d?d 28 ffe1cb31eb084cd7a8dd1228c23617c8のパスワードがpassword123であれば、password.lstに123が含まれていればよい 29 30 (6)マスク+ディクショナリーバルトクラック 31 32 H.exe -a 7 ffe1cb31eb084cd7a8dd1228c23617c8 password.lst ?d?d?d 33 ffe1cb31eb084cd7a8dd1228c23617c8のパスワードが123passwordであれば、password.lstにpasswordが含まれていればよい。 34 35 (7)password.lst 36 37 H.exe-a 2 ffe1cb31eb084cd7a8dd1228c23617c8 password.lst 38 EXAMPLES 39 (1)8桁の数字クラック 40 41 Hashcat64-m 9700 hash -a 3 ?d?d?d?d?d?d?d?d -w 3 –O 42 (2)1~8桁の数字クラック 43 44 Hashcat-m 9700 hash -a 3 --increment --increment-min 1--increment-max 8 ?d?d?d?d?d?d?d?d 45 (3)1~8桁の小文字クラック 46 47 Hashcat-m 9700 hash -a 3 --increment --increment-min 1--increment-max 8 ?l?l?l?l?l?l?l?l 48 (4)8桁の小文字クラック 49 50 Hashcat-m 9700 hash -a 3 ?l?l?l?l?l?l?l?l -w 3 –O 51 (5)1-8桁の大文字クラック 52 53 Hashcat-m 9700 hash -a 3 --increment --increment-min 1--increment-max 8 ?う?う?う?う?う?う?う?u 54 (6)8桁の大文字クラック 55 56 Hashcat-m 9700 hash -a 3 ?う?う?う?う?う?う?う?u -w 3 –O 57 (7)小文字5桁+ 大文字+数字+特殊文字クラック 58 59 Hashcat-m 9700 hash -a 3 ?b?b?b?b?b -w 3 60 (8) 辞書を使用したクラック 61 password.lst 辞書を使用したバルトクラック、-w 3 パラメータは消費電力を指定します 62 63 hashcat -m 9700 -A 0 -w 3 hash password.lst 64 クラックが成功すると、hashcat は自動的にクラックを終了し、クラック状態がクラックされたと表示され、クラックが成功したかどうかも Recvoered に表示されます。 65 66 既知のホスト内の IP アドレスをクラックします 67{ } 68 69 (1)HMAC SHA1値の計算 70 71 gitclone https://github.com/persona5/hexhosts.git 72 cdhexhosts 73 gcchexhosts.c -lresolv -w -o hexhosts 74 ./hexhosts 75 获取known_hosts的HMAC SHA1加密值: 76 77 注意:known_hosts值一定要正确,可以将known_hosts文件复制到hexhosts文件目录。 78 79 (2) コンビネーション攻撃暴力クラック 80 81 hashcat-a 1 -m 160 known_hosts.hash ips_left.txt ips_right.txt --hex-salt 82 コンビネーション攻撃は、ips_left.txt と ips_right.txt を組み合わせて完全な IP アドレスを形成し、暴力クラッキングを行います。 83 84 ips_left.txt および ips_right.txt ファイルは、次のコードを使用して生成できます。 85 86 ip-gen.sh: 87 88 89 90 for a in `seq 0 255` 91 92 do 93 94 for b in `seq0 255` 95 96 マスクを使った攻撃 106 107 hashcat -a 3 -m 160 known_hosts.hash ipv4.hcmask--hex-salt 108 ipv4.hcmask ファイル内容はこちらからダウンロードできます。 109 110 MD5 暗号化された IP アドレスを解読する 111 CDN などのネットワークや構成では、IP アドレスが MD5 暗号化されることがよくあります。ビット数は 3 × 4 + 3 (xxx.xxx.xxx.xxx) = 17 ビットです。通常のパスワードで解読するには非常に時間がかかりますが、IP アドレスのパターンを分析すると、アドレス xxx がすべて数字であることがわかりました。ハッシュキャットとマスクを組み合わせて攻撃を行うことができます。 112 113 hashcat-a 1 –m 0 ip.MD5.txt ips_left.txt ips_right.txt 114 115 hashcat -a1 -m 0 ip.MD5.txt ipv4.hcmask 116 また、F5のクッキーではそのIPアドレスが暗号化されており、参照できるクラックコードは次のとおりです: 117 118 import struct 119 120 cookie = "1005421066.20736.0000" 121 122 (ip,port,end)=cookie.split(".") 123 124 (a,b,c,d)=[ord(i) for i in struct.pack("i",int(ip))] 125< 200>クラック術まとめ 130 GPUモードでクラックする場合、-Oパラメータで自動最適化が可能 131 132 md5値を暴力クラック 133 (1)9桁クラック 134 135 Hashcat64.exe-a 3 --force d98d28ca88f9966cb3aaefebbfc8196f ?d?d?d?d?d?d?d?d?d 136 MD5 値を単独でクラックするには、force パラメータを追加する必要があります 137 138 (2) 9 桁の文字クラック 139 140 Hashcat64.exe-a 3 --force d98d28ca88f9966cb3aaefebbfc8196f ?l?l?l?l?l?l?l?l?l 141 塩付き discuz パスワードをクラック 142 (1) 数字クラック 143 7 桁の数字、7 秒でクラックしてタスクを完了します。 144 145 Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?d?d?d?d?d?d?d 146 8 ビット数字クラック、9 秒でクラックしてタスクを完了します。: 147 148 Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?d?d?d?d?d?d?d?d 149 9桁の数字がクラックされ、9秒でクラックされてタスクが完了します。 >150< >151< Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?d?d?d?d?d?d?d?d?d 152 文字割れ 153 (1)6桁の小文字 154 155 Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l 156 (2)7桁の小文字 157 158 Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l?l 159 (3)8桁の小文字 160 161 Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l?l?l クラッキングタスクを9分程度で完了 162 (4)小文字9桁 163 164 Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l?l?l?l -O 165 英数字 166 Hashcat64.exe-a 3 --force -m 2611 -2 ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?2?2?2?2?2?2?2 167 (3)7桁の大文字 168 169 Hashcat64.exe-a 3 –force –m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?う?う?う?う?う?う?u 170 (4)6~8桁の数字クラック 171 172 Hashcat64.exe-a 3 –force –m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463--increment --increment-min 6 --increment-max 8 ?l?l?l?l?l?l?l?l 173 カスタムクラック 174 (1)数字+アルファベット混合6桁でクラック 175 176 Hashcat64.exe-a 3 --force -m 2611 -2 ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?2?2?2?2?2?2 -O 177 (2)数字と文字を混ぜた7桁を使ってクラックし、クラック時間は4分16秒 178 179 Hashcat64.exe-a 3 --force -m 2611 -2 ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?2?2?2?2?2?2?2 –O 180 (3)数字+アルファベット混合8桁でクラック 181 182 Hashcat64.exe-a 3 --force -m 2611 -2 ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?2?2?2?2?2?2?2?2 -O 183 辞書クラックモード 184 Hashcat64.exe-a 0 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 password.lst 185 辞書フォルダの下にある辞書を使ってクラックする: 186 187 Hashcat32.exe-m 300 mysqlhashes.txt –remove -o mysql-cracked.txt ..\dictionaries\* 188 セッション保存と復元クラック 189 (1)マスクファイルルールを使用してパスワード 190 191 hashcat-m 2611 -a 3 --session mydz dz.hash masks/rockyou-7-2592000.hcmask<192x182>マスククラック 196 マスクルールファイルは、D:\PentestBox\hashcat-4.1.0\masks などのマスクの下にあり、クラックを実行するには次のように設定されています。 197 198 masks/8char-1l-1u-1d-1s-compliant.hcmask 199 masks/8char-1l-1u-1d-1s-非準拠 .hcmask 200 masks/rockyou-1-60.hcmask 201 masks/rockyou-2-1800.hcmask 202 マスク/rockyou-3-3600.hcmask 203 マスク/rockyou-4-43200.hcmask 204 マスク/rockyou-5-86400.hcmask 205 マスク /rockyou-6-864000.hcmask 206 マスク/rockyou-7-2592000.hcmask 207 ルールファイルを使用してクラックする 208 209 hashcat -m 300 mysqlhashes.txt–remove -O mysql-cracked.txt ..\dictionaries\* -r rules\best64.rule 210 211 hashcat -m 2611 -A 0 dz.hashpassword.lst -r rules\best64.rule -O 212 hashcatパラメータの最適化 213 hashcat のクラッキング速度とリソースの割り当てを考慮して、いくつかのパラメータを構成できます 214 1. ワークロード チューニング 負荷チューニング。 215 このパラメータがサポートする値は、1、8、40、80、160 216 217 --gpu-accel 160 です。GPU のパフォーマンスを最大限に引き出すことができます。 218 2.Gpu loops Load Tining 219 このパラメータでサポートされている値の范囲は 8 ~ 1024 です (一部のアルゴリズムでは 1000 までしかサポートされていません)。 220 221 --gpu-loops 1024 GPU のパフォーマンスを最大限に引き出すことができます。 222 3.Segment size 辞書キャッシュサイズ 223 このパラメータはメモリキャッシュのサイズを設定するためのもので、辞書をメモリキャッシュに入れる機能があります。辞書のクラッキング速度を高速化します。デフォルトは 32MB です。もちろん、メモリ状況に応じて設定できます。 224 225 --segment-size 512 は、大きな辞書のクラック速度を向上させることができます。 226 最后:パスワード设定の推奨事项 227 より长い文字列を使用する 228 より大きな文字セットを使用する アルファベット、数字、记号 229 230 パスワードまたはパスワードの一部として自分に関连する文字を使用しないでください 231 232