Hashcat はパスワード爆発アーティファクトです

Hashcat はパスワード ブラスト アーティファクトであり、情報セキュリティに必要なツールの 1 つです。緊急時に備えて、この記事の記録と要約を収集します。また、この記事を読んだネットユーザーにも役立つ可能性があります。

はじめに

Hashcat は世界最速のパスワード クラッキング プログラムであり、マルチ プラットフォーム、マルチ アルゴリズムをサポートするオープン ソースの分散ツールです。

公式: https://hashcat.net/hashcat/

Github:https://github.com/hashcat/hashcat

安装

Windows

https://github.com/hashcat/hashcat/releases 下载最新版压缩包,解压根据自己的平台运行 hashcat64.exe 或者 hashcat32.exe

常用参数

-m クラック ハッシュ タイプ

クラックするハッシュ タイプを指定し、その后にハッシュ タイプに対応する数字

-a クラック モード

使用するクラック モードを指定します。その値は次のパラメータを参照します:

- [ Attack Modes ] -

  # | モード
 ===+======
  0 | ストレート                # 直接辞書クラック
  1 | コンビネーション             # コンビネーションクラック
  3 | ブルートフォース             #  マスク暴力クラック
  6 | ハイブリッド ワードリスト + マスク  # 辞書+マスククラック
  7 | Hybrid Mask + Wordlist  # Mask+dictionary crack

–increment

インクリメンタル クラッキング モードを有効にし、hashcat が指定されたパスワード長の範囲内でクラッキングを実行できるようにします。

–increment-min

パスワードの最小長さ、その後は整数に直接等しくなります。

–increment-max

パスワードの最大長さを使用してインクリメント モードを構成し、その後は整数に直接等しくなります。

–force

クラッキング中の警告メッセージを無視します。

–remove

正常にクラッキングされたハッシュ{

}を削除します。

-O

--outfile  クラッキングが成功した後のハッシュと対応する平文パスワードの保存場所を指定します。

-O

--optimized-kernel-enable  最適化されたカーネルを有効にします (パスワードの長さを制限します)

-d

--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

-D

--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 --削除

combination crack

multidictionary crack


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
5a745e31dbbd93f4c86d1ef82281688b

hashcat を使ってクラックします:


bash


hashcat -a 3 -m 0 --force '5a745e31dbbd93f4c86d1ef82281688b' '?d?d?d?d?d?d?d?d' -O

8ビットMD5暗号化大文字と小文字のクラック


bash


$ echo -n PassWord |openssl MD5
a9d402bfcde5792a8b531b3a82669585

hashcat を使ってクラックします:


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' -O

MySQL4.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 -O

Linux /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-disable

macOS に付属している CPU と独立したグラフィックスはできません。ここでは、Guoguang 自身が  -d 2  とコア ディスプレイを手動で切り替えて実行に成功しました:

Hashcat 是一款密码爆破神器,信息安全必备工具之一,特此收藏此文章记录总结

辞書クラック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-featuresNum brain クライアントの機能を定義します。以下を参照してくださいクライアント機能の定義–brain-client-features=3
–brain-hostStrBrain server host (IP or domain)メインサーバーのIPまたはドメイン–brain-host=127.0.0.1
–brain-portportbrain server portプライマリサーバポート–brain-port=13743
–brain-passwordStrブレインサーバ認証パスワードプライマリサーバの認証パスワード–brain-password=e8acfc7280c48009
–brain-sessionHex 自動的に計算された脳セッションをオーバーライドします計算済みのプライマリセッションを自動的に上書きします –brain-session=0x2ae611db
–brain-session-whitelistHex特定のセッションのみを許可し、カンマで区切ります指定された会話のみを許可し、カンマで区切ります –brain-session-whitelist=0x2ae611db

クライアント機能


bash


- [ brain Client Features ] -  # | Features
 ===+========
  1 | Send hashed passwords                       #  クラックされたパスワードを送信します
  2 | Send attack positions                       #  クラックされた位置を送信する
  3 | Send hashed passwords and attack positions  # クラックされたパスワードとクラックされた位置を送信


前のPowerPathHashcat の使い方と技術共有
次のWWNクラッキングモードのパラメータ設定に関する Hashcat チュートリアル
  • Word、Excel、PPT、PDF、RAR、ZIP、7Z、圧縮パッケージ、Office 暗号化ファイルのロック解除と復号化に焦点を当てます
  • 私たちはユーザーに高品質のファイル圧縮パッケージパスワード回復、PDFロック解除Wordパスワード回復を提供します
  • 著作権©ドキュメントパスワード回復マスターオンライン復号化プラットフォーム