パスワードはデジタル アカウントを保護するための防御の最前線となっていますが、パスワードがいかに簡単にハッキングされるか疑問に思ったことはありますか?強力でユニークなパスワードの作成は単なるヒントではなく、データを保護するために必要です。
使用しているパスワードが有効であることを確認するために、オープンソース ツールを使用して自分のパスワードを解読してみることにしました。一般的な攻撃がどのように機能するかを理解し、ハッカーに対してパスワードをより安全にするものを見つけるために、3 つの異なるパスワードをテストしました。
この記事では、パスワードのセキュリティを向上させ、データを安全に保つための私の調査結果と実践的なヒントを共有します。

クイックリンク
パスワードを破るとはどういう意味ですか?

オンライン サービスを使用してアカウントを作成すると、プロバイダーは通常 (そしてできれば) サーバー上でログインの詳細を暗号化します。これは、「」を作成するアルゴリズムを使用して行われます。断片化これは、パスワードに固有のランダムな文字と数字の文字列です。もちろん、実際にはランダムではなく、パスワードだけが生成できる非常に特殊な文字列です。しかし、素人目には乱雑に見えます。
単語をハッシュに変換することは、ハッシュを再度単語に「分解」するよりもはるかに高速かつ簡単です。したがって、パスワードを設定すると、ログインしているサービスはハッシュを通じてパスワードを実行し、その結果をサーバーに保存します。
指定されたパスワード ファイルが漏洩すると、ハッカーはパスワード クラックを使用してその内容を調べようとします。パスワードを暗号化する方が復号化するよりも速いため、ハッカーは潜在的なパスワードを入力として受け取り、サーバーが使用するのと同じ方法を使用して暗号化し、その結果をパスワード データベースと比較するシステムをセットアップします。
潜在的なパスワードのハッシュ値がデータベース内のエントリと一致する場合、ハッカーは各結果が一致することを認識します。 考えられるパスワード それは試されました。
HashCat を使用してパスワードをハッキングした方法
さて、作成したパスワードのいくつかを分析して、それがどれほど簡単かを確認してみましょう。これを行うには、次を使用します ハッシュキャット、誰でも利用できる無料のオープンソースのパスワード解析アプリケーションです。
これらのテストでは、次のパスワードを解読します。
- 123456古典的なパスワードでありサイバーセキュリティの悪夢でもある 123456 は、世界で最も使用されているパスワードです。彼女は数えた ノースパス 3 万のアカウントで 123456 個のパスワードが使用され、そのうち 1.2 万個は企業レベルでアカウントを保護するためのものでした。
- スーザン48!: ほとんどのユーザーが安全なパスワードを作成するために使用するパターンに従うパスワード。通常、このキーワードは基本的なパスワードの衛生要件を満たしていますが、後で説明するように、悪用される可能性のある重大な脆弱性がいくつか含まれています。
- t9^kJ$2q9a: を使用して作成したパスワード ビットワーデンジェネレーター。大文字、小文字、記号、数字を使用して10文字のパスワードを生成するように設定されています。
パスワードを取得したので、MD5 を使用して暗号化しました。パスワードがサーバーに保存されているパスワード ファイルにある場合、パスワードは次のように表示されます。
- 123456: e10adc3949ba59abbe56e057f20f883e
- スーザン48!: df1ce7227606805745ee6cbc644ecbe4
- t9^kJ$2q9a: 450e4e0ad3ed8766cb2ba83081c0a625
さあ、分解する時が来ました。
辞書攻撃を使用して単純なブレイクを実行する

始めましょう、始めましょう 辞書攻撃、これはパスワードを攻撃する最も一般的な方法の 5 つです。これは単純な攻撃で、考えられるパスワードのリストを作成し、それらを MDXNUMX に変換するように Hashcat に指示し、それらのいずれかが上記の XNUMX つのエントリに一致するかどうかを確認します。この実験では、史上最大のパスワード漏洩の XNUMX つである「rockyou.txt」ファイルを辞書として使用しています。
ハッキングプロセスを開始するには、Hashcat が存在するフォルダーに移動し、空のスペースを右クリックして、「ターミナルで開く」を押します。ターミナルが開いて Hashcat ディレクトリに設定されたので、次のコマンドを使用して Hashcat アプリケーションを呼び出します。
.hashcat -m 0 -a0 パスワードファイル。TXT ロックユー。TXT -o 結果。TXTコマンドの動作は次のとおりです。
- .\ハッシュキャット ハッシュキャットを呼び出します。
- -m 0: 使用する暗号化を指定します。この場合、使用します MD5これは、Hashcat ヘルプ ドキュメントでは 0 としてリストされています。
- -0: 実行する攻撃を指定します。 Hashcat のヘルプ ドキュメントには辞書攻撃が 0 と記載されているため、ここではこれを呼び出しています。
- パスワードファイル.txt、rockyou.txt最初のファイルには、前に準備した 3 つの暗号化されたパスワードが含まれています。 2 番目のファイルは、rockyou パスワード データベース全体です。
- -o 結果.txt: この変数は、結果を配置する場所を決定します。私が実行したコマンドは、ハッキングされたパスワードを「results」という TXT ファイルに保存します。
Rockyou の巨大なサイズにもかかわらず、Hashcat はすべてのコンテンツを 123456 秒でスキャンしました。結果ファイルの中で、Hashcat はパスワード 123456 を解読できたが、Susan と Bitwarden のパスワードは侵害されなかったと述べています。これは、パスワード XNUMX が Rockyou.txt ファイル内で他の誰かによって使用されていたためですが、Susan または Bitwarden のパスワードは他の誰も使用していなかったので、これらのパスワードはこの攻撃から安全に保つのに十分な一意であることを意味します。
ブルート フォース攻撃とマスクを使用して、より複雑なハッキングを実行する

辞書攻撃は、誰かが多数のパスワードのリストで同じパスワードを使用した場合に機能します。すぐにできて簡単ですが、それはできません パスワードハッキング 辞書には載っていない。したがって、実際にパスワードをテストしたい場合は、次のようにする必要があります。 ブルートフォース攻撃.
辞書攻撃が事前に定義されたリストを取得して 1 つずつ変換することである場合、ブルート フォース攻撃も同じことを行いますが、考えられるすべての組み合わせを使用します。実装は難しく、時間がかかりますが、最終的にはあらゆるパスワードを破ることができます。すぐにわかりますが、この可能性には非常に長い時間がかかる場合があります。
これは、「実際の」ブルート フォース攻撃を実行するために使用したコマンドです。
.hashcat -m 0 -a3 ターゲット。TXT- インクリメント ?a?a?a?a?a?a?a?a?a?a -o 出力。TXTコマンドの動作は次のとおりです。
- –3: この変数は、実行する攻撃を指定します。 Hashcat のヘルプ ドキュメントにはブルート フォース攻撃が 3 としてリストされているため、ここではこれを XNUMX と呼んでいます。
- ターゲット.txt: ハッキング対象の暗号化されたパスワードを含むファイル。
- - 増加: これは、解決策が得られるまで、1 文字、次に 2 文字、次に 3 文字というようにすべてのパスワードを試すように Hashcat に指示します。
- ?a?a?a?a?a?a?a?a?a?a?a?a?a:これを「マスク」といいます。マスクを使用すると、どの文字をどこで使用するかを Hashcat に指示できます。各疑問符はパスワード内の文字の位置を示し、文字は各位置で実行しようとしている内容を指定します。 「a」という文字は大文字、小文字、数字、記号を表しており、このマスクは「すべてのボックスにあるものをすべて試してください」と言っています。ひどいマスクですが、後で有効に活用します。
- -o 出力.txt: この変数は、結果を配置する場所を決定します。私のコマンドは、壊れたパスワードを「output」という名前の TXT ファイルに保存します。
このひどいマスクを使用していても、パスワード 123456 は 15 秒以内に解読されました。これは最も一般的なパスワードですが、最も脆弱なパスワードの XNUMX つでもあります。
合言葉は「スーザン48!」はるかに良いです。私のコンピューターは、やみくもに壊すには XNUMX 日かかると言っていました。ただし、問題が XNUMX つありました。スーザンのパスワードには重大な欠陥があると私が言ったことを覚えていますか?最大の特徴は、パスワードが予測可能であるように設計されていることです。
パスワードを作成するときは、通常、特定の要素を特定の場所に配置します。パスワードを作成したのはスーザンで、最初は「susan」を使用しようとしましたが、大文字と数字を追加するように求められたと想像できます。覚えやすいように、最初の文字を大文字にし、最後に数字を追加しました。次に、ログイン サービスの 1 つがコードを要求した可能性があるため、パスワード ジェネレーターが最後にコードを貼り付けました。
したがって、マスクを使用して、Hashcat に特定の場所で特定の文字のみを試行するように指示し、パスワードを作成するときにユーザーの予測可能性を利用することができます。このマスクでは、「?u」はこの位置で大文字のみを使用し、「?l」は小文字のみを使用し、「?a」は任意の文字を表します。
.hashcat -m 0 -a3 -1 ?a ターゲット。TXT ?う?う?う?う?a?a?a -o 出力。TXTこのマスクを使用すると、Hashcat は 3 分 10 秒でパスワードを解読します。これは 4 日よりもはるかに高速です。
Bitwarden によって生成されたパスワードは 10 文字の長さで、予測可能なパターンが使用されていないため、これを破るにはマスクなしでブルート フォース攻撃を実行する必要があります。残念ながら、Hashcat にこれを実行するよう依頼すると、可能な組み合わせの数が整数の制限を超えているというエラーがスローされました。彼は言う。 ITセキュリティの第一人者 Bitwarden のパスワードを解読するには 3 年かかるため、私にはそれで十分です。
パスワードクラッキングからアカウントを保護する方法
では、これらすべてから何を学べるでしょうか? Bitwarden パスワードの解読を妨げる主な要因は、その長さ (10 文字) と予測不可能性でした。したがって、パスワードを作成するときは、できるだけ長くし、パスワード全体に記号、数字、大文字を追加するようにしてください。これにより、ハッカーがマスクを使用して各アイテムの位置を予測することができなくなり、ハッキングがより困難になります。
おそらく、「一定の範囲の文字を使用する」や「できるだけ長くする」など、パスワードに関する古い格言をすでにご存じでしょう。これらの役立つヒントが人々に推奨される理由がわかっていただければ幸いです。これらのヒントは、すぐに解読されるパスワードと安全なパスワードの違いです。今すぐ閲覧できます これらの簡単な調整により、パスワードがより安全かつ簡単になった方法.










