hashcatの使い方

hashcatはWindows、Linux、Macで利用可能なパスワードクラッカーです。ブルートフォース(総当たり)攻撃、辞書攻撃、マスク攻撃に対応しています。

マスクを使いこなすことによって大幅にクラックまでの時間を短縮できる優れたパスワードクラッカーです。

最新版のダウンロード

https://hashcat.net/hashcat/

リカバリ済みハッシュ

リカバリに成功したハッシュとパスワードは「hashcat.potfile」に記録されています。ハッシュファイルを指定してリカバリ済みのものを確認することができます。

$ hashcat --show hash.txt

リカバリできていないハッシュを表示するには「--left」オプションを使います。

$ hashcat --left hash.txt

リカバリ済みハッシュを自動的に削除する

hashcatを実行中にリカバリできたハッシュをハッシュファイルから削除するには「--remove」オプションを使います。

$ hashcat --remove -m 1500 -a 0 hash.txt

ハッシュタイプ(-m, --hash-type)

hashcatはJohn the Ripperのように自動的にハッシュタイプを判定する機能がないため実行時にハッシュタイプを指定する必要があります。

ハッシュタイプは「-m」もしくは「--hash-type」オプションで指定します。ハッシュタイプの指定に迷った場合はJohn the Ripperを使うと判明する場合があります。

DES形式の場合はハッシュタイプが 1500 になるので次のように指定します。

$ hashcat --remove --m 1500 -a 0 hash.txt wordlist.txt

ハッシュタイプの最新情報は公式サイトで確認してください。

https://hashcat.net/wiki/doku.php?id=example_hashes

マスク

マスクを使うと文字列+数字のようなパスワードフォーマットを指定することができます。

定義

マスク形式マスクの意味マスクに適用される内容
?lアルファベット小文字abcdefghijklmnopqrstuvwxyz
?uアルファベット大文字ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d数字0123456789
?s記号!”#$%&'()*+,-./:;<=>?@[\]^_`{|}~
?a?l?u?d?sと同じ※すべての文字列
?b16進数0x00 – 0xff

マスクを指定する際にシングルクォートが必要かどうかはOSによって異なります。Unix系OSでは 「?」 をエスケープするためにシングルクォートで囲む必要があります。

アルファベット小文字 7文字 + 数字1桁を表現するマスクは次のように指定します。

‘?l?l?l?l?l?l?l?d'

カスタムマスク(-1, -2, -3, -4)

「アルファベット大文字」もしくは「小文字」 を表現する場合は次のようにしてカスタムマスクを定義する必要があります。

-1 ‘?l?u'

はじめの「-1」はカスタム定義の番号です。これで1番目のカスタムマスクが定義され、「?1」としてマスクを利用できます。カスタムマスクは4つまで定義でき、-2 xxx -3 xxx -4 xxx のようにして定義できます。

さきほど作成したカスタムマスクは ‘?1?1?1?1?1?1?1?d' のように使うことができます。

$ hashcat -m 1500 -a 3 hash.txt -1 '?l?u' '?1?1?1?1?1?1?1?d'

マスクの長さを指定する(-i, --increment)

マスクの長さを指定したい場合に使います。

たとえば ?d?d?d?d とすると数字4桁に限定されます。数字を1桁~4桁までの組み合わせをすべて試したい場合は次のようにします。

$ hashcat -m 1500 -a 3 hash.txt --increment '?d?d?d?d'

桁数を限定することもできます。数字2桁~4桁にしたければ次のようにします。

$ hashcat -m 1500 -a 3 hash.txt --increment --increment-min 2 --increment-max 4 '?d?d?d?d'

もちろん、数字だけでなくアルファベットや記号でも同様の指定ができます。7~8桁のすべての組み合わせを試したければ次のようにします。

$ hashcat -m 1500 -a 3 hash.txt --increment --increment-min 7 --increment-max 8 '?a?a?a?a?a?a?a?a'

ルールを適用する(-r)

予め用意されているルールファイル、あるいは自作のルールファイルを適用することができます。ルールファイルは「rules」ディレクトリに収められているので、次のように適用します。

$ hashcat -m 1500 -a 0 hash.txt wordlist.txt -r rules/best64.rule

アタックモード(-a, --attack-mode)

辞書攻撃やマスク攻撃、それらの組み合わせやブルートフォース攻撃など多彩な攻撃方法を選択できます。

アタックモードアタック内容
0辞書攻撃
1辞書同士の組み合わせ
3ブルートフォース
6辞書+マスク
7マスク+辞書
9アソシエート攻撃

辞書攻撃( -a 0 )

指定した辞書ファイル(ワードリスト)を使ってパスワードのリカバリを試みます。

$ hashcat -m 1500 -a 0 hash.txt wordlist.txt

辞書同士の組み合わせ( -a 1 )

2つの辞書を組み合わせて単語を生成することができます。

$ hashcat -m 1500 -a 1 hash.txt wordilst-1.txt wordlist-2.txt

wordlist-1.txtとwordlist-2.txtが次のような内容だった場合

wordlist-1.txt

  • yamada
  • saito

wordlist-2.txt

  • taro
  • hanako

次のような単語が生成されます。

  • yamadataro
  • yamadahanako
  • saitotaro
  • saitohanako

それぞれの辞書にルールを適用することもできます。

-j で1番目の辞書、-k で2番目の辞書にルールを適用します。単語は「$」になります。たとえば単語同士を「-」でつなぎたい場合は次のようにします。

$ hashcat -m 1500 -a 1 -j '$-' hash.txt wordilst-1.txt wordlist-2.txt

シングルクォートが必要かどうかはOSによって異なります。Unix系OSでは $ をエスケープするためにシングルクォートが必要ですが、Windowsの場合はシングルクォートを文字列として扱うことがあるため注意が必要です。

  • yamada-taro
  • yamada-hanako
  • saito-taro
  • saito-hanako

さらに2番目の辞書にルールを適用したければ -k を使います。最後に感嘆符(!)を付けたければ次のようにします。

$ hashcat -m 1500 -a 1 -j '$-' -k '$!' hash.txt wordilst-1.txt wordlist-2.txt
  • yamada-taro!
  • yamada-hanako!
  • saito-taro!
  • saito-hanako!

ブルートフォース( -a 3 )

一部のハッシュフォーマットを除いてブルートフォースでは現実的な時間でリカバリできないので、これは最終手段となります。

ブルートフォースではマスクと組み合わせて単語のパターンを限定した方が現実的な時間でリカバリできる確率が上がります。

アルファベット小文字 7文字+数字1桁とするならば次のようにします。

$ hashcat -m 1500 -a 3 hash.txt '?l?l?l?l?l?l?l?d'

辞書+マスク( -a 6 )

辞書ファイルの各単語に対してマスクを適用します。

wordlist.txtが次のような内容だった場合

  • yamada

単語の後ろに数字4桁を付けたい場合は次のようにします。

$ hashcat -m 1500 -a 6 hash.txt '?d?d?d?d'
  • yamda0000
  • yamada9999

マスク+辞書( -a 7 )

辞書ファイルの各単語に対してマスクを適用する。

wordlist.txtが次のような内容だった場合

  • yamada

単語の前に数字4桁を付けたい場合は次のようにします。

$ hashcat -m 1500 -a 7 hash.txt '?d?d?d?d'
  • 0000yamda
  • 9999yamada

hashcatの中断と再開(--restore, --session)

hashcatは定期的に復元ポイントを作成してリストアファイルに保存します。デフォルトは hashcat.restore というファイル名で保存され、途中でhashcatを終了したりパソコンの電源が落ちてしまった場合でもリストアファイルがあれば再開できます。

$ hashcat --restore

再開時にオプションを追加することはできません。

hashcatを複数実行する場合はセッションを分けておくとリストアファイルを複数保存できます。その場合は --sesshion オプションでセッション名を指定します。

$ hashcat -m 1500 --session mysession -a 3 hash.txt

これで mysession というセッションでhashcatが実行され、mysession.restore というリストアファイルが作成されます。

セッションを指定して再開するには次のようにします。

$ hashcat --restore --session mysession

後で再開する予定でhashcatを終了する場合は「c」を押下します。これで次の復元ポイントを保存してから終了します。「q」で終了する場合は最新の復元ポイントを保存する前にhashcatを終了するので注意してください。

NordVPNは高速通信と軍事レベルの暗号化技術、匿名性の高さで人気ナンバーワン。VPNアプリケーションも使いやすく、海外からの動画視聴やBitTorrentでのファイル交換も快適です。同時接続6台まで可能。

» 公式サイトへ » レビューを見る

ExpressVPNは他社を圧倒的に引き離す最速のVPNサービスを提供します。海外からの動画視聴やBitTorrentでのファイル交換も快適です。軍事レベルの暗号化技術とセキュリティで匿名性も抜群。同時接続5台まで可能。

» 公式サイトへ » レビューを見る

SurfShark VPNは2018年に誕生した新進気鋭のVPNサービス。低価格ながら軍事レベルの暗号化技術とMuliHop機能を搭載するなど高い匿名性を提供する、人気急上昇中のVPNサービスです。同時接続台数は無制限。

» 公式サイトへ » レビューを見る

PIAは高速通信と使いやすいVPNアプリケーションで人気の匿名VPN。BitTorrentでのファイル交換も快適です。実証されたノーログポリシーにより、最高の匿名VPNのひとつとなっています。同時接続10台まで可能。

» 公式サイトへ » レビューを見る

AirVPNは『VPN over Tor』に対応。VPN偽装機能も搭載しておりVPN検知を突破します。もちろんBitTorrent対応。他のVPNサービスとは一線を画した上級者向けの匿名VPNサービスです。同時接続3台まで可能。MoneroとDashでの支払いに対応しています。

» 公式サイトへ » レビューを見る

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


Japanese