Hashcat はパスワード ブラスト アーティファクトであり、情報セキュリティに必要なツールの 1 つです。緊急時に備えて、この記事の記録と要約を収集します。また、この記事を読んだネットユーザーにも役立つ可能性があります。
Hashcat は世界最速のパスワード クラッキング プログラムであり、マルチ プラットフォーム、マルチ アルゴリズムをサポートするオープン ソースの分散ツールです。
公式: https://hashcat.net/hashcat/
Github:https://github.com/hashcat/hashcat
https://github.com/hashcat/hashcat/releases 下载最新版压缩包,解压根据自己的平台运行 hashcat64.exe 或者 hashcat32.exe
クラックするハッシュ タイプを指定し、その后にハッシュ タイプに対応する数字
使用するクラック モードを指定します。その値は次のパラメータを参照します:
- [ Attack Modes ] - # | モード ===+====== 0 | ストレート # 直接辞書クラック 1 | コンビネーション # コンビネーションクラック 3 | ブルートフォース # マスク暴力クラック 6 | ハイブリッド ワードリスト + マスク # 辞書+マスククラック 7 | Hybrid Mask + Wordlist # Mask+dictionary crack
インクリメンタル クラッキング モードを有効にし、hashcat が指定されたパスワード長の範囲内でクラッキングを実行できるようにします。
パスワードの最小長さ、その後は整数に直接等しくなります。
パスワードの最大長さを使用してインクリメント モードを構成し、その後は整数に直接等しくなります。
クラッキング中の警告メッセージを無視します。
正常にクラッキングされたハッシュ{
}を削除します。
--outfile クラッキングが成功した後のハッシュと対応する平文パスワードの保存場所を指定します。
--optimized-kernel-enable 最適化されたカーネルを有効にします (パスワードの長さを制限します)
--opencl-devices opencl のデバイスを指定します。ここでサポートされているデバイスのリストは次のとおりです。
コード
* デバイス #1: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz, スキップされました。* デバイス #2: Intel(R) UHD グラフィックス 630, 384/1536 MB 割り当て可能, 24MCU * デバイス #3: AMD Radeon Pro 555X Compute エンジン、 1024/4096 MB 割り当て可能、 12MCU
--opencl-device-types opencl のデバイス タイプを指定します。Hashcat は次のデバイス タイプをサポートします。
bash
1 | CPU2 | GPU3 | FPGA, DSP, Co-Processor
一般的に使用される -D 2 GPU クラックを指定します
bash
? | 文字セット===+==
l | abcdefghijklmnopqrstuvwxyz # 小文字 a-z
u | ABCDEFGHIJKLMNOPQRSTUVWXYZ # 大文字 A-Z
d | 0123456789 # 番号 0-9
h | 0123456789abcdef # 数字 + abcdef
H | 0123456789ABCDEF # 数字 + ABCDEF
s | !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ # 特殊文字
a | ?l?う?d?s # キーボード上に表示されるすべての文字
b | 0 - 0xff # bash
--custom-charset1 [chars] -1と同等 --custom-charset2 [chars]は -2に相当する --custom-charset3 [chars]は -3に相当する --custom-charset4 [chars]は、 -4
をマスクで と同等ですか?1、?2、?3、?
bash
--custom-charset1 abcd123456!@-+
この時?1は abcd123456を意味します!@-+
bash
--カスタム文字セット2 ?l?d
この時?2は を意味しますか?l?d は ですか?h 数字+小文字:
bash
-3 abcdef -4 123456
この時点で ?3?3?3?3?4?4?4?4 は、最初の 4 ビットが abcdef であり、最後の 4 ビットが 123456
コード
1q2w3e4r` である可能性があることを表します。MD5値は`5416d7cd6ef195a0f7622a9c56b55e84
bash
hashcat -a 0 -m 0 '5416d7cd6ef195a0f7622a9c56b55e84' hashpass.txt -o success.txt
クラックすると、次のようなプロンプトが表示されることがあります。
Code
INFO: All hashes found in potfile! Use --show to display them.
これは、パスワードが以前に正常に解読されていることを示しているため、hashcat は表示されなくなりました。パラメータ --show を追加してパスワードを表示できます:
bash
hashcat -a 0 -m 0 'cbc8f5435c87e13c5d14e6ce92358d68' hashpass.txt --show cbc8f5435c87e13c5d14e6ce92358d68:123456@abc
hashcat が正常にクラックされたパスワード ファイルを保存する場所は次のとおりです: ~/.hashcat/hashcat.potfile
クラックされたパスワードを直接表示したい場合は、ファイルを直接削除できます。
バッシュ
# 以前のクラック成功のレコードを削除します rm ~/.hashcat/hashcat.potfile# hash.txtはクラックするパスワードです hashpass.txtは辞书です クラック结果をsuccess.txt にエクスポートし、hash.txtからクラック成功したhashcat -a 0 -m 0 hash.txt hashpass.txt -o success.txt --削除
bash
hashcat -a 1 -m{辞書+マスククラック
bash
echo -n admin888 |openssl md5 7fef6171469e80d32c0559f88b377245クラック admin888 のMD5値:
bash
hashcat -a 6 -m 0 '7fef6171469e80d32c0559f88b377245' hashpass.txt -Oマスク+辞書クラック
bash
hashcat -a 7 -m 0 '7fef6171469e80d32c0559f88b377245' 'admi?l?d?d?d' hashpass.txt -Oクラックケース
8ビットMD5暗号化のデジタルクラック
へ 23323323 MD5暗号化:
bash
$ echo -n 23323323 |openssl MD5 5a745e31dbbd93f4c86d1ef82281688bhashcat を使ってクラックします:
bash
hashcat -a 3 -m 0 --force '5a745e31dbbd93f4c86d1ef82281688b' '?d?d?d?d?d?d?d?d' -O8ビットMD5暗号化大文字と小文字のクラック
bash
$ echo -n PassWord |openssl MD5 a9d402bfcde5792a8b531b3a82669585hashcat を使ってクラックします:
bash
hashcat -a 3 -m 0 -1 '?l?u' --force 'a9d402bfcde5792a8b531b3a82669585' '?1?1?1?1?1?1?1?1' -Oこのとき、カスタム ルール -1 を定義します。1 は を意味しますか?l?u、つまり大文字と小文字です。
5 ~ 7 桁の MD5 暗号化大文字と小文字 + 数値クラック
Admin88 の MD5 値は 2792e40d60bac94b4b163b93566e65a9
bash
hashcat -a 3 -m 0 -1 '?l?う?d' --force '2792e40d60bac94b4b163b93566e65a9' --increment --increment-min 5 --increment-max 7 '?1?1?1?1?1?1?1' -Oこのとき、カスタム ルール -1 を定義します。1 は を意味しますか?l?う?d、つまり大文字と小文字 + 数字。
admin 先頭 10 桁の MD5 暗号化された大文字と小文字 + 数字の割れ
admin23323 の MD5 値は a9991129897a44e0d1c2855c3d7dccc4
bash
hashcat -a 3 -m 0 -1 '?l?う?d' --force 'a9991129897a44e0d1c2855c3d7dccc4' '管理者?1?1?1?1?1' -OMySQL4.1/MySQL5
MySQL のパスワードを表示する:
mysql
mysql> select Password from mysql.user; +-------------------------------------------+ | パスワード | +-------------------------------------------+ | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | +-------------------------------------------+ 4 rows in set (0.00 sec)次に辞书のクラックを开始します:
bash
hashcat -a 0 -m 300 --force '81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' hashpass.txt -OLinux /etc/shadow sha512crypt $6$, SHA512 (Unix)
/etc/shadow パスワードファイルを表示:
bash
root@kali-linux:~# cat /etc/shadowroot:$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1:18201:0:999999:7::: デーモン:*:18024:0:99999:7::: ビン:*:18024:0:99999:7::: システム:*:18024:0:99999:7::: 同期:*:18024:0:99999:7::: ゲーム:*:18024:0:99999:7::: 男性:*:18024:0:99999:7::: lp:*:18024:0:99999:7::: メール:*:18024:0:99999:7::: ニュース:*:18024:0:99999:7::: uucp:*:18024:0:99999:7::: プロキシ:*:18024:0:99999:7::: www-data:*:18024:0:99999:7::: バックアップ:*:18024:0:99999:7::: リスト:*:18024:0:99999:7::: irc:*:18024:0:99999:7::: ナッツ:*:18024:0:99999:7::: 誰も:*:18024:0:99999:7::: _apt:*:18024:0:99999:7::: systemd-timesync:*:18024:0:99999:7::: システムネットワーク:*:18024:0:99999:7::: systemd-resolve:*:18024:0:99999:7::: mysql:!:18024:0:99999:7::: ntp:*:18024:0:99999:7::: メッセージバス:*:18024:0:99999:7::: ARPウォッチ:!:18024:0:99999:7::: Debian-exim:!:18024:0:99999:7::: uuidd:*:18024:0:99999:7::: レッドソックス:!:18024:0:99999:7::: tss:*:18024:0:99999:7::: rwhod:*:18024:0:99999:7::: ヨウ素:*:18024:0:99999:7::: ミレド:*:18024:0:99999:7::: dnsmasq:*:18024:0:99999:7::: ポストグレス:*:18024:0:99999:7::: usbmux:*:18024:0:99999:7::: rtkit:*:18024:0:99999:7::: スタンネル4:!:18024:0:99999:7::: sshd:*:18024:0:99999:7::: デビアン-snmp:!:18024:0:99999:7::: sslh:!:18024:0:99999:7::: パルス:*:18024:0:99999:7::: スピーチディスパッチャー:!:18024:0:99999:7::: アヴァヒ:*:18024:0:99999:7::: サネド:*:18024:0:99999:7::: inetsim:*:18024:0:99999:7::: 色:*:18024:0:99999:7::: ジオクルー:*:18024:0:99999:7::: キングフィッシャー:*:18024:0:99999:7::: デビアン-gdm:*:18024:0:99999:7::: ドラディス:*:18024:0:99999:7::: 牛肉-xss:*:18024:0:99999:7::: systemd-coredump:!!:18082:root にはパスワードがあり、前に $6 表面ハッシュを使用した暗号化方法は sha512crypt $6$、SHA512 (Unix) です。
バッシュ
# マスククラッキングルートパスワード クラッキング成功のハッシュをポットファイルに記録しない デバイス2(コアディスプレイ)を指定してパスワード を実行し、hashcat -a 3 -m 1800 --force '$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1' '?l?l?l?l' -O -d 2 --potfile-disable# マスク クラッキング root パスワード ユーザー名を無視 クラッキング成功したハッシュをポットファイルに記録しない パスワード を実行するデバイス 2 (コアディスプレイ) を指定し、最適化 hashcat をオンにします -A 3 -m 1800 --force ' root:$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1' '?l?l?l?l' -O -d 2 --username --potfile-disablemacOS に付属している CPU と独立したグラフィックスはできません。ここでは、Guoguang 自身が -d 2 とコア ディスプレイを手動で切り替えて実行に成功しました:
辞書クラックWindows LM Hash
bash
hashcat -a 0 -m 3000 --force '921988ba001dc8e14a3b108f3fa6cb6d' password.txt辞書クラック Windows NTLM Hash
bash
hashcat -a 0 -m 1000 --force 'e19ccf75ee54e06b06a5907af13cef42' password.txt分散クラック
| パラメータ | タイプ | 説明 | 国光の理解 | 例 |
|---|---|---|---|---|
| –brain-server | ブレインサーバーを有効にする | メインサーバーを有効にする | ||
| -z, –brain-client | Enable brain client, activates -S | Enable Distributed client | ||
| –brain-client-features | Num | brain クライアントの機能を定義します。以下を参照してください | クライアント機能の定義 | –brain-client-features=3 |
| –brain-host | Str | Brain server host (IP or domain) | メインサーバーのIPまたはドメイン | –brain-host=127.0.0.1 |
| –brain-port | port | brain server port | プライマリサーバポート | –brain-port=13743 |
| –brain-password | Str | ブレインサーバ認証パスワード | プライマリサーバの認証パスワード | –brain-password=e8acfc7280c48009 |
| –brain-session | Hex | 自動的に計算された脳セッションをオーバーライドします | 計算済みのプライマリセッションを自動的に上書きします | –brain-session=0x2ae611db |
| –brain-session-whitelist | Hex | 特定のセッションのみを許可し、カンマで区切ります | 指定された会話のみを許可し、カンマで区切ります | –brain-session-whitelist=0x2ae611db |
bash
- [ brain Client Features ] - # | Features ===+======== 1 | Send hashed passwords # クラックされたパスワードを送信します 2 | Send attack positions # クラックされた位置を送信する 3 | Send hashed passwords and attack positions # クラックされたパスワードとクラックされた位置を送信