
OSCP/ペネトレーションテスト向けHashcatリファレンス:ハッシュ識別、Linux、Windows、アーカイブ、データベース、Kerberosチケットのクラッキング構文、およびルールベース攻撃。
OSCP 向け Hashcat チートシート https://hashcat.net/wiki/doku.php?id=hashcat
hash-identifier
ハッシュの例: https://hashcat.net/wiki/doku.php?id=example_hashes
私は、以下のパラメータを追加することで、ハッシュクラッキングからさらなるパワーを引き出せることを発見しました:
--force -O -w 4 --opencl-device-types 1,2
これらは、Hashcat に CUDA GPU インターフェースの使用を強制します(バグはありますが、より高いパフォーマンスを提供します)(–force)。32文字以下のパスワード向けに最適化し(-O)、ワークロードを「Insane」に設定します(-w 4)。これにより、クラッキング中はコンピューターが事実上使用不能になるとされています。 最後に「--opencl-device-types 1,2」は、HashCat がクラッキングを処理するために GPU と CPU の両方を使用するように強制します。
クラックしたいすべてのハッシュを含む .hash ファイルを作成します。 puthasheshere.hash: $1$O3JMY.Tw$AdLnLjQ/5jXF9.MTp3gHv/
rockyou を使用して Linux md5crypt パスワード $1$ をクラックする Hashcat の例:
hashcat --force -m 500 -a 0 -o found1.txt --remove puthasheshere.hash /usr/share/wordlists/rockyou.txt
rockyou を使用して Wordpress パスワードをクラックする Hashcat の例:
hashcat --force -m 400 -a 0 -o found1.txt --remove wphash.hash /usr/share/wordlists/rockyou.txt
サンプルハッシュ http://openwall.info/wiki/john/sample-hashes
Not So Secure は、過去に私がうまく使えたカスタムルールを作成しました: https://www.notsosecure.com/one-rule-to-rule-them-all/ ルールは彼らの Github サイトからダウンロードできます: https://github.com/NotSoSecure/password_cracking_rules
私は通常、OneRuleToRuleThemAll.rule を rules サブフォルダに置き、Windows マシンから次のように実行します(notsosecure の記事に基づく):
hashcat64.exe --force -m300 --status -w3 -o found.txt --remove --potfile-disable -r rules\OneRuleToRuleThemAll.rule hash.txt rockyou.txt
定義済み文字セット
?l = abcdefghijklmnopqrstuvwxyz
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d = 0123456789
?s = «space»!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
?a = ?l?u?d?s
?b = 0x00 - 0xff
?l?d?u は次と同じです: ?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
可能な文字 A-Z a-z 0-9 を使用して、長さ1〜8のすべてのパスワードをブルートフォースする
hashcat64 -m 500 hashes.txt -a 3 ?1?1?1?1?1?1?1?1 --increment -1 ?l?d?u
| ID | 説明 | 種類 |
|---|---|---|
| 3000 | LM | オペレーティングシステム |
| 1000 | NTLM | オペレーティングシステム |
Windows マシンから NTDS.dit と SYSTEM レジストリハイブを取得またはダンプした後、または LSASS メモリをダンプした後、多くの場合 NTLM ハッシュが得られます。
| パス | 説明 |
|---|---|
| C:\Windows\NTDS\ntds.dit | Active Directory データベース |
| C:\Windows\System32\config\SYSTEM | ハッシュの暗号化に使用されるキーを含むレジストリハイブ |
そして Impacket を使用してハッシュをダンプします
impacket-secretsdump -system SYSTEM -ntds ntds.dit -hashes lmhash:nthash LOCAL -outputfile ntlm-extract
次の hashcat 構文を使用して NTLM ハッシュダンプをクラックできます:
hashcat64 -m 1000 -a 0 -w 4 --force --opencl-device-types 1,2 -O d:\hashsample.hash "d:\WORDLISTS\realuniq.lst" -r OneRuleToRuleThemAll.rule
Nvidia 2060 GTX を使用したベンチマーク: 速度: 7000 MH/s 回復率: 12.47% 経過時間: 2時間35分
サービスプリンシパル名(SPN)は、サービスインスタンスの一意の識別子です。SPN は、Kerberos 認証がサービスインスタンスをサービスログオンアカウントに関連付けるために使用されます。これにより、クライアントアプリケーションは、クライアントがアカウント名を持っていない場合でも、サービスがアカウントを認証することを要求できます。 KRB5TGS - SPN を使用する Kerberoasting サービスアカウント Kerberoastable なサービスアカウント(Bloodhound? Powershell Empire? - おそらく MS SQL Server サービスアカウント)を特定したら、任意の AD ユーザーはそこから krb5tgs ハッシュを要求でき、そのハッシュを使ってパスワードをクラックできます。
私のベンチマークによると、KRB5TGS のクラックは NTLM より28倍遅いです。
Hashcat は KRB5TGS ハッシュの複数のバージョンをサポートしており、ハッシュ内のドル記号の間にある数字で簡単に識別できます。
KRB5TGS Type 23 - Crackstation の humans only ワードリストと OneRuleToRuleThemAll ミューテーションルールリスト。
hashcat64 -m 13100 -a 0 -w 4 --force --opencl-device-types 1,2 -O d:\krb5tgs.hash d:\WORDLISTS\realhuman_phill.txt -r OneRuleToRuleThemAll.rule
Nvidia 2060 GTX を使用したベンチマーク: 速度: 250 MH/s 経過時間: 9分
SMB 認証(NTLMv2)のパスワードをパケットキャプチャから回復するよう求められる場合があります。 以下は、これを実行するためにハッシュを正しくフォーマットするための9ステップのプロセスです。 https://research.801labs.org/cracking-an-ntlmv2-hash/
unshadow passwd-file.txt shadow-file.txt
unshadow passwd-file.txt shadow-file.txt > unshadowed.txt
zip2john Zipfile.zip | cut -d ':' -f 2 > hashes.txt
hashcat -a 0 -m 13600 hashes.txt /usr/share/wordlists/rockyou.txt
Hashcat は、zip2john によって生成された一部の zip ハッシュ形式に問題があるようです。zip ハッシュの内容を、hashcat のサンプルページにある zip ハッシュの例の形式に合わせて編集することで修正できます:
$zip2$*0*3*0*b5d2b7bf57ad5e86a55c400509c672bd*d218*0**ca3d736d03a34165cfa9*$/zip2$
John は、クラックに使用できる zip 形式のより広い範囲を受け入れるようです。
PRINCE(PRobability INfinite Chained Elements)は、可能性の高いパスワードをランダムに生成するための hashcat ユーティリティです:
pp64.bin --pw-min=8 < dict.txt | head -20 shuf dict.txt | pp64.bin --pw-min=8 | head -20
参考: https://github.com/hashcat/princeprocessor
Purple Rain 攻撃は、Prince、辞書、ランダムなミューテーションルールの組み合わせを使用して、動的に無限のパスワードの組み合わせを生成します。
shuf dict.txt | pp64.bin --pw-min=8 | hashcat -a 0 -m #type -w 4 -O hashes.txt -g 300000
| ID | 説明 | 種類 |
|---|
| 500 | md5crypt $1$, MD5(Unix) | オペレーティングシステム |
| 200 | bcrypt $2*, Blowfish(Unix) | オペレーティングシステム |
| 400 | sha256crypt $5$, SHA256(Unix) | オペレーティングシステム |
| 1800 | sha512crypt $6$, SHA512(Unix) | オペレーティングシステム |
| ID | 説明 | 種類 |
|---|
| 900 | MD4 | Raw ハッシュ |
| 0 | MD5 | Raw ハッシュ |
| 5100 | Half MD5 | Raw ハッシュ |
| 100 | SHA1 | Raw ハッシュ |
| 10800 | SHA-384 | Raw ハッシュ |
| 1400 | SHA-256 | Raw ハッシュ |
| 1700 | SHA-512 | Raw ハッシュ |
| ID | 説明 | 種類 |
|---|
| 11600 | 7-Zip | アーカイブ |
| 12500 | RAR3-hp | アーカイブ |
| 13000 | RAR5 | アーカイブ |
| 13200 | AxCrypt | アーカイブ |
| 13300 | AxCrypt in-memory SHA1 | アーカイブ |
| 13600 | WinZip | アーカイブ |
| 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, SHA1 + RC4, collider #1 | ドキュメント |
| 9820 | MS Office <= 2003 $3, 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) | ドキュメント |
| 16200 | Apple Secure Notes | ドキュメント |
| ID | 説明 | 種類 | ハッシュの例 |
|---|
| 12 | PostgreSQL | データベースサーバー | a6343a68d964ca596d9752250d54bb8a:postgres |
| 131 | MSSQL (2000) | データベースサーバー | 0x01002702560500000000000000000000000000000000000000008db43dd9b1972a636ad0c7d4b8c515cb8ce46578 |
| 132 | MSSQL (2005) | データベースサーバー | 0x010018102152f8f28c8499d8ef263c53f8be369d799f931b2fbe |
| 1731 | MSSQL (2012, 2014) | データベースサーバー | 0x02000102030434ea1b17802fd95ea6316bd61d2c94622ca3812793e8fb1672487b5c904a45a31b2ab4a78890d563d2fcf5663e46fe797d71550494be50cf4915d3f4d55ec375 |
| 200 | MySQL323 | データベースサーバー | 7196759210defdc0 |
| 300 | MySQL4.1/MySQL5 | データベースサーバー | fcf7c1b8749cf99d88e5f34271d636178fb5d130 |
| 3100 | Oracle H: Type (Oracle 7+) | データベースサーバー | 7A963A529D2E3229:3682427524 |
| 112 | Oracle S: Type (Oracle 11+) | データベースサーバー | ac5f1e62d21fd0529428b84d42e8955b04966703:38445748184477378130 |
| 12300 | Oracle T: Type (Oracle 12+) | データベースサーバー | 78281A9C0CF626BD05EFC4F41B515B61D6C4D95A250CD4A605CA0EF97168D670EBCB5673B6F5A2FB9CC4E0C0101E659C0C4E3B9B3BEDA846CD15508E88685A2334141655046766111066420254008225 |
| 8000 | Sybase ASE | データベースサーバー | 0xc00778168388631428230545ed2c976790af96768afa0806fe6c0da3b28f3e132137eac56f9bad027ea2 |