パスワードの強度をテストするために自分でパスワードを解読する方法

この記事では、オープンソースのパスワードクラッキングツールを使用して 3 つの異なるパスワードをテストし、パスワードのセキュリティに関してはどの方法が実際に機能するかを調べました。

目次

パスワードクラッキングとは何ですか?

パスワードの強度をテストするために自分でパスワードを解読する方法

オンライン サービスでアカウントを作成すると、通常、プロバイダーはサーバー上でログイン情報を暗号化します。これは、パスワード用の一見一意のランダムな文字と数字の文字列である「ハッシュ」を作成するアルゴリズムを使用して行われます。もちろん、これは完全にランダムなわけではなく、パスワードだけが生成できる非常に特殊な文字列ですが、訓練されていない目には混乱しているように見えます。

単語をハッシュに変換するのは、ハッシュを再び単語に「デコード」するよりもはるかに高速で簡単です。したがって、パスワードを設定すると、ログインしているサービスはパスワードをハッシュ化し、その結果をサーバー上に保存します。

このパスワード ファイルが漏洩した場合、ハッカーはパスワードを解読してその内容を見つけ出そうとします。パスワードの暗号化は復号化よりも速いため、ハッカーは潜在的なパスワードを入力として受け取り、サーバーと同じ方法を使用して暗号化し、その結果をパスワード データベースと比較するシステムを設定します。

潜在的なパスワードのハッシュがデータベース内のいずれかのエントリと一致する場合、ハッカーはすべての試行が試行された潜在的なパスワードと一致することを知ることができます。

HashCatを使って自分のパスワードを解読する方法

この記事で生成されたパスワードのいくつかを解読してみて、それがいかに簡単か確認してみましょう。これを実現するために、この例では、誰でも使用できる無料のオープンソースのパスワードクラッキングツールであるHashcat を使用します。

これらのテストでは、次のパスワードを解読する例を示します。

  • 123456 : 古典的なパスワードであり、サイバーセキュリティの悪夢である 123456 は、世界で最も一般的に使用されているパスワードです。 NordPass は、300 万のアカウントがパスワードとして 123,456 を使用しており、そのうち 120 万は企業レベルのアカウントを保護していると計算しました。
  • スーザン48さん! : ほとんどのユーザーが安全なパスワードを作成するために使用するパターンに従ったパスワード。これは一般的に基本的なパスワード保護の基準を満たしていますが、後ほど説明するように、悪用される可能性のある重要な弱点がいくつかあります。
  • t9^kJ$2q9a : Bitwarden のツールを使用して生成されたパスワード。大文字、小文字、記号、数字を含む 10 文字のパスワードを生成するように設定されています。

次に、MD5 を使用してパスワードを暗号化します。保存されたパスワード ファイル内のパスワードは次のようになります。

  • 123456 : e10adc3949ba59abbe56e057f20f883e
  • スーザン48さん! : df1ce7227606805745ee6cbc644ecbe4
  • t9^kJ$2q9a : 450e4e0ad3ed8766cb2ba83081c0a625

今、それらを解読する時が来ました。

辞書攻撃法を使って簡単な脱獄を実行する

パスワードの強度をテストするために自分でパスワードを解読する方法

まず、最も一般的なパスワード攻撃方法の 1 つである辞書攻撃を実行してみましょう。これは、ハッカーが潜在的なパスワードのリストを取得し、Hashcat にそれらを MD5 に変換するように要求し、パスワードのいずれかが上記の 3 つのエントリと一致するかどうかを確認するという単純な攻撃です。このテストでは、史上最大のパスワード漏洩の一つであるファイル「rockyou.txt」を辞書として使用します。

クラッキングを開始するために、記事の著者は Hashcat フォルダーに移動し、空白部分を右クリックして [ターミナルで開く] をクリックしました。ターミナルが開いて Hashcat ディレクトリに設定されたので、次のコマンドで Hashcat アプリケーションを起動します。

.\hashcat -m 0 -a 0 passwordfile.txt rockyou.txt -o results.txt

コマンドの実行内容は次のとおりです。

  • .\hashcat はHashcat を呼び出します。
  • -m 0 : 使用するエンコーディングの種類を指定します。この場合、Hashcat ヘルプ ドキュメントで 0 としてリストされている MD5 を使用します。
  • -a 0 : 実行する攻撃を指定します。 Hashcat のヘルプ ドキュメントでは、辞書攻撃が 0 と記載されているため、ここではそれを 0 と呼びます。
  • passwordfile.txt rockyou.txt : 最初のファイルには、先ほど設定した 3 つの暗号化されたパスワードが含まれています。 2 番目のファイルは、rockyou パスワード データベース全体です。
  • -o results.txt : この変数は結果を保存する場所を決定します。このコマンドでは、解読されたパスワードが「results」という名前の TXT ファイルに保存されます。

rockyou は巨大でしたが、Hashcat はそれをすべて 6 秒で処理しました。結果のファイルでは、Hashcat はパスワード 123456 を解読したが、パスワード Susan と Bitwarden は未解読のままであると示されています。これは、rockyou.txt ファイルで 123456 が他の誰かによって使用されていたものの、Susan や Bitwarden というパスワードを使用した人は他にいなかったため、この攻撃を生き延びるのに十分なセキュリティが確保されていたことを意味します。

隠されたブルートフォース攻撃を使用して、より複雑な脱獄を実行する

パスワードの強度をテストするために自分でパスワードを解読する方法
Hashcatでブルートフォース攻撃を実行する

辞書攻撃は、大規模なパスワード リストにあるパスワードと同じパスワードが使用されている場合に効果的です。これらは迅速かつ簡単に実装できますが、辞書にないパスワードを解読することはできません。したがって、本当にパスワードをテストしたい場合は、ブルート フォース攻撃を使用する必要があります。

辞書攻撃が事前に設定されたリストを取得して、それを 1 つずつ変換するだけである場合、ブルート フォース攻撃は、考えられるあらゆる組み合わせを使用して同じことを行います。実装が難しく、時間がかかりますが、最終的にはあらゆるパスワードを解読できるようになります。すぐにわかるように、その能力を身につけるには長い時間がかかることもあります。

以下は、「実際の」ブルート フォース攻撃を実行するために使用されるコマンドです。

.\hashcat -m 0 -a 3 target.txt --increment ?a?a?a?a?a?a?a?a?a?a -o output.txt

コマンドの実行内容は次のとおりです。

  • -a 3 : この変数は実行する攻撃を定義します。 Hashcat のヘルプ ドキュメントでは、ブルート フォース攻撃が 3 番としてリストされているため、ここでは 3 番と呼びます。
  • target.txt : 解読したい暗号化されたパスワードを含むファイル。
  • --increment : このコマンドは、一致するものが見つかるまで、1 文字、2 文字、3 文字といった長さのすべてのパスワードを試行するように Hashcat に指示します。
  • ?a?a?a?a?a?a?a?a?a?a?a?a : これは「マスク」と呼ばれます。マスクを使用すると、どの文字がどの位置で使用されるかを Hashcat に伝えることができます。各疑問符はパスワード内の文字の位置を指定し、文字は各位置で試す内容を指定します。文字「a」は大文字と小文字、数字、記号を表すので、このマスクは「各位置ですべてを試してください」という意味になります。これはひどいマスクですが、後で効果的に使用する方法を説明します。
  • -o output.txt : この変数は結果を保存する場所を決定します。この例のコマンドは、解読されたパスワードを「output」という名前の TXT ファイルに保存します。

このひどいマスクを使用しても、パスワード 123456 は 15 秒以内に解読されます。最も一般的なパスワードですが、最も弱いパスワードの 1 つです。

パスワード「Susan48!」ずっと良くなりました - コンピューターによると、解読には 4 日かかります。しかし、一つ問題があります。スーザンのパスワードに重大な欠陥があると記事で書かれていたのを覚えていますか?最大の間違いは、パスワードが予測可能な方法で作成されることです。

パスワードを作成するときは、特定の要素を特定の場所に配置することがよくあります。パスワード作成者のスーザンは、最初は「susan」を使用しようとしましたが、大文字と数字を追加するように求められたことは想像に難くありません。覚えやすくするために、最初の文字を大文字にして、最後に数字を追加しました。その後、おそらくログイン サービスが記号を要求したため、パスワード設定者がそれを末尾に追加しました。

したがって、マスクを使用して、Hashcat に特定の場所の特定の文字のみを試すように指示し、パスワードを作成するときに推測するのがいかに簡単であるかを悪用することができます。このマスクでは、「?u」はその位置で大文字のみを使用し、「?l」は小文字のみを使用し、「?a」は任意の文字を表します。

.\hashcat -m 0 -a 3 -1 ?a target.txt ?u?l?l?l?l?a?a?a -o output.txt

このマスクを使用して、Hashcat は 4 日よりもはるかに速い 3 分 10 秒でパスワードを解読しました。

Bitwarden のパスワードは 10 文字で、予測可能なパターンは使用されていないため、解読するにはマスクなしのブルート フォース攻撃が必要になります。残念ながら、Hashcat にそれを実行するよう依頼したところ、可能な組み合わせの数が整数の制限を超えているというエラーが発生しました。 IT セキュリティ専門家は、Bitwarden がパスワードを解読するのに 3 年かかったと述べているので、これは十分だ。

パスワードハッキングからアカウントを守る方法

この記事が Bitwarden のパスワードを解読できない主な要因は、その長さ (10 文字) と予測不可能性です。したがって、パスワードを作成するときは、できるだけ長くし、記号、数字、大文字をパスワード全体に均等に分散するようにしてください。これにより、ハッカーがマスクを使用して各要素の位置を予測できなくなり、解読がはるかに困難になります。

おそらく、「文字配列を使用する」や「できるだけ長くする」といったパスワードに関する古い格言をご存知でしょう。これらの役立つヒントがなぜ推奨されるのかお分かりいただけたでしょうか。これらは、簡単に解読されるパスワードと安全なパスワードの主な違いです。

Sign up and earn $1000 a day ⋙

Leave a Comment

音楽が脳を刺激する方法

音楽が脳を刺激する方法

音楽は単なる娯楽ではなく、それ以上に多くの利点があることをほとんどの人が知っています。音楽が脳の発達を刺激する方法をいくつか紹介します。

食事で最も不足しがちな栄養素

食事で最も不足しがちな栄養素

食事は私たちの健康にとって非常に重要です。しかし、私たちの食生活のほとんどには、これら 6 つの重要な栄養素が不足していることが多いのです。

サークルKのCKクラブアプリを使って魅力的なオファーを受け取る方法

サークルKのCKクラブアプリを使って魅力的なオファーを受け取る方法

Circle K からのプロモーション情報を最も早く入手するには、CK Club アプリをインストールする必要があります。このアプリケーションは、買い物やサークル K での支払い時の料金と、集めたスタンプの数を保存します。

Instagramは最長3分間のリール動画を許可

Instagramは最長3分間のリール動画を許可

Instagramは、これまでの90秒の制限の2倍となる、最長3分間のリール動画をユーザーが投稿できるようにすると発表した。

ChromebookのCPU情報を表示する方法

ChromebookのCPU情報を表示する方法

この記事では、Chromebook で CPU 情報を表示し、CPU 速度を直接確認する方法について説明します。

古いAndroidタブレットでできる8つのクールなこと

古いAndroidタブレットでできる8つのクールなこと

古いタブレットを売却したり譲渡したりしたくない場合は、高品質のフォトフレーム、音楽プレーヤー、電子書籍および雑誌リーダー、家事アシスタント、サブスクリーンとして、5 つの方法で使用できます。

美しい爪を早く手に入れる方法

美しい爪を早く手に入れる方法

美しく輝く健康な爪を早く手に入れたい。以下に美しい爪のための簡単なヒントをご紹介しますので、ぜひご参考ください。

デザイナーだけが知っている色のインスピレーションの秘密

デザイナーだけが知っている色のインスピレーションの秘密

この記事では、Creative Market コミュニティのトップデザイナーが共有する色に関するヒントを紹介します。これにより、いつでも完璧な色の組み合わせを実現できます。

ノートパソコンを携帯電話に置き換えるために必要なものすべて

ノートパソコンを携帯電話に置き換えるために必要なものすべて

本当にノートパソコンを携帯電話に置き換えることができるのでしょうか?はい、ただし、携帯電話をラップトップに変えるには適切なアクセサリが必要になります。

ChatGPTはまもなく画面上で起こっているすべてを見ることができるようになります

ChatGPTはまもなく画面上で起こっているすべてを見ることができるようになります

イベントの完全版ビデオで重要なことの 1 つは、今後リリースされる ChatGPT アプリの機能がデモされたが、実際の詳細は共有されなかったことです。 ChatGPT は、ユーザーのデバイス画面上で起こっていることをすべて把握できる機能です。

AIは正直になるように訓練されているにもかかわらず、人間を騙すことを学んでいる

AIは正直になるように訓練されているにもかかわらず、人間を騙すことを学んでいる

新たな研究によると、多くのトップクラスのAIは、正直であるように訓練されているにもかかわらず、訓練を通じて欺くことを学び、体系的にユーザーを誤った信念に誘導することが判明した。

ChatGPTで質問を変更する方法

ChatGPTで質問を変更する方法

ChatGPT に質問変更オプションが追加され、ユーザーは ChatGPT と交換している質問やコンテンツを編集できるようになりました。

偽のQRコードを見分けてデータを安全に保つ方法

偽のQRコードを見分けてデータを安全に保つ方法

QR コードは、不正な QR コードをスキャンしてシステムに何か厄介なものが投げ込まれるまでは、かなり無害に見えます。携帯電話とデータを安全に保ちたい場合は、偽の QR コードを識別する方法がいくつかあります。

クアルコム、数々の注目すべき改良を施したX85 5Gモデムを発表

クアルコム、数々の注目すべき改良を施したX85 5Gモデムを発表

MWC 2025のステージ上で、クアルコムはX85と呼ばれる第8世代5Gモデムを発表して大きな話題を呼んだ。このモデムは今年後半に発売される主力スマートフォンに搭載される予定だ。

新しい技術により、携帯電話の色を柔軟に変えられるようになった

新しい技術により、携帯電話の色を柔軟に変えられるようになった

流行の「ウルトラマリン」カラーのiPhone 16を持っていますが、ある日突然その色に飽きてしまったとします。あなたは何をしますか?