
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 | 説明 | 種類 |
|---|---|---|
| 500 | md5crypt $1$, MD5(Unix) | オペレーティングシステム |
| 200 | bcrypt $2*, Blowfish(Unix) | オペレーティングシステム |
| 400 | sha256crypt $5$, SHA256(Unix) | オペレーティングシステム |
| 1800 | sha512crypt $6$, SHA512(Unix) | オペレーティングシステム |
| ID | 説明 | 種類 |
|---|---|---|
| 3000 | LM | オペレーティングシステム |
| 1000 | NTLM | オペレーティングシステム |
| 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 |
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 ハッシュの複数のバージョンをサポートしており、ハッシュ内のドル記号の間にある数字で簡単に識別できます。