Google Chromeを使用してパスワードを選択します

コンピュータセキュリティの分野における多数の研究によると、情報システムのTOP-3脆弱性にはパスワード推測が含まれます。







今日、ほとんどすべての情報システムには独自のデフォルトアカウントがあり、インターネット上で広く普及しています。 たとえば、ここから取得できます。







ユーザーが人であるポータルがある場合、脆弱なパスワードのほとんどは4つのグループのいずれかに起因します。







  1. 最も人気のあるフレーズの先頭に含まれるパスワード(「123456」、「password」など)。
  2. キーの組み合わせを表すパスワードは、いわゆるキーボードウォークパスワード(「qwerty」、「qazwsx」など)です。
  3. パスワードは破損したログイン(「user123」、「user321」など)です。
  4. または、「反転」レイアウト(「ljcneg」、「fylhtq」)でロシアの一般的な単語または名前をパスワードとして使用します


問題は、ほとんどの人(一般ユーザーとシステム管理者の両方)が覚えやすいパスワードを使用する傾向があることです。







選択された頻繁なパスワードのグループから、パスワードを選択するときに、4つの辞書作成方法をそれぞれ使用できることになります。







  1. haveibeenpwned.comによると、今日、 グローバルリークの規模は50億という数字に近づいています(myspace、linkedin、adobeなどを思い出してください)。 これらのリークの一部に基づいて、上位1000個の最も一般的なパスワードを特定できます。 たとえば、次のように:

    猫反公共/エクスプロイイン/ | sed -rn 's / [^:] + :(。 )/ \ 1 / p' | 並べ替え| uniq -c | sort -n -r | head 1000> top1000.txt *
  2. 1年ほど前、hashcatツールの作成者からすばらしいkwprocessorユーティリティが登場しました。 これを使用して、任意のキーボードレイアウトのすべての可能なキーボードショートカットを生成できます。

    kwp basechars / tiny.base keymaps / en.keymap routes / 2-to-10-max-3-direction-changes.route | len.bin 6 100> keywalks.txt
  3. 特定のユーザー名に対して十分な数の歪みを取得するには、hashcatユーティリティルールセットを使用します。

    hashcat -r /usr/share/hashcat/rules/leetspeak.rule logins.txt --stdout> login_mutations.txt
  4. リストの最初の項目と同様に、辞書の基礎としてロシア語のリソースの大規模なリークがあります。


収集したパスワードセットは、テスト対象のサービスに応じて、ヒドラ、メデューサ、ncrack、patatorなどのユーティリティに後で「供給する」ことができます。







Webを介して、つまりhttp-forms(つまり、http-basic / digest認証ではない)を介して認証を実装する場合、burpスイートの侵入者機能を無料で使用するのが最も便利です(図1)。







画像

図1-即興の手段によるブルートフォース攻撃







げっぷの場合は、応答のサイズを慎重に監視する必要があります。応答のサイズを変更すると、ログインまたはパスワードがシステムに存在する可能性があります。







また、Webに対するブルートフォース攻撃では、問題が発生する可能性があります(キャプチャについてでさえありません)。









ただし、これらの問題については、解決策を提案できます。









もちろん、これらのケースはそれほど頻繁ではありません。 ただし、このようなWebフォームに遭遇した場合、デフォルトのアカウントとadmin:adminのような些細なものだけを手動で入力することがあります。

しかし、httpレベルではなく、ユーザーインターフェイスレベルでブルートフォースを作成するとどうなりますか? 結局、テストされたWebアプリケーションのコンテキストにJavaScriptコードを埋め込み、ループ内で特定のログイン/パスワードをフォームに置き換えて送信すると、上記のすべての問題を簡単に回避できます。 実際、実際には、すべての作業はブラウザーによって行われます。







これを実装するには、greasemonkeyブラウザの拡張機能と独自のjavascriptコードを使用します。このコードは、このhtmlページのマークアップ用に厳密にシャープ化されます。 しかし、毎回新しいページごとにjsコードを書くのは不便です。 Google Chromeの場合、これらすべてを個別の拡張子の形式にするのが最も便利です。







www_bruteを使用するために必要なのは、目的のサイトを開いて拡張機能アイコンをクリックすることだけです。 すべてが正しく完了すると、次のように表示されます(図2)。







画像

図2-新しい目標の追加







ブルートフォースの設定を開始するには、唯一のボタン「プラス」をクリックする必要があります。

全体のセットアップは簡単で、2つのポイントになります。









攻撃対象のフォームを含むサイトページでログインとパスワードを入力するためのフィールドを選択する前に、ページ要素の3回のクリックを連続してキャッチするスクリプトが実装されます。 これらの要素は、ユーザー名、パスワードフィールド、フォーム送信ボタンである必要があります。 リストされた項目は、この順序で正確に選択する必要があります(図3)。







画像

図3-入力フィールドの選択







対応するアイテムをクリックするたびに、赤色に変わり、選択が確認されます。 送信ボタンを選択した後、ページが再読み込みされる場合があります(ajaxを使用しない場合)。その場合、赤いハイライトは消えますが、これは正常です。







入力要素はhtml属性とその値によって記憶されることに注意することが非常に重要です。 したがって、フォームを送信した後、サイトが別のフォームを「描画」すると、次に選択しようとしたときに入力フィールドが見つかりません。 入力フィールドを検索するロジックでは属性を完全に一致させることはできませんが、資格情報の送信が少なくとも1回失敗した後にこの設定を行うことをお勧めします。 例はfacebook.comです(図4および5)。







画像

図4-最初のログイン試行前のフォーム







画像

図5-最初のログイン試行後のフォーム







辞書は、ユーザー名、パスワード、固定ログイン:パスワード(コンボ)のペアでサポートされています(図6)。







画像

図6-ブルートフォース攻撃の辞書







コンボ辞書はデフォルトのアカウントまたはリークに使用されるため、最初に選択されます。 次に、ユーザー名とログインのすべての組み合わせの完全な列挙が実行されます。 さらに、すべてのログインの各パスワードに対して試行が行われます-失敗した試行で起こりうるユーザーロックを最小限に抑えます。 合計試行回数は、次の式で計算できます。







長さ(コンボ)+長さ(パスワード)*長さ(ユーザー)







すべての設定が終了したら、次を開始できます。







画像

図7-アクション中のブルートフォース攻撃







拡張ポップアップウィンドウのユーザー名とパスワードの値は、入力の次の候補です。

作業のロジックは非常に単純で、指定されたすべてのログイン/パスワードの組み合わせを列挙するだけでなく、次のようになるまでのサイクルでのlogin:パスワードのペアを列挙します









画像

図8-複数のターゲットに対するブルートフォース攻撃のプロセス







緑は彼らが拾い上げたものを強調し、赤は失敗した試みです。 作業中に、別のタブに安全に切り替えたり、ブラウザーウィンドウを完全に最小化することができます。思い出すように、ブラウザー自体が総当たり攻撃を実行します。







パスワードブルートフォースは簡単に「並列化」できます。 これを行うには、同じドメインで1つ以上のタブを開くだけです。







いつでも、どのサイトのブルートフォースも一時停止できます。 プラグインにはサーバー応答のフィードバックがないため、(特にajaxの場合)試行間の適切な間隔を選択する必要があることに注意してください。 間隔を小さくしすぎることはお勧めしません。







もちろん、この方法はcaptchaなどをバイパスしません。そのため、gmail.comなどの総当たり攻撃は長続きしません。 ただし、proxy / vpnと組み合わせて、何かを思い付くことができます...







さまざまなCMSの管理者の総当たり、監視システム、自己記述サイトなど、通常はさまざまな企業のネットワーク境界に満ちているものに関しては、この方法が最適です。







クロームのプラグイン、および上位1000個のパスワードの辞書は、 こちらとウェブストアで入手できます。








All Articles