私は Irongeek でセキュリティvidを見ていた(残念ながら、特定のvidをすぐに見失ってしまった)ペンのテスト中に、作成者がリモートマシンに対してパスワードの推測を行うことについて興味深いアドバイスを提供した。 。アドバイスは次のとおりです。1つまたはいくつかのユーザーアカウントを選択し、一般的なパスワードの大規模な辞書でそれらをヒットするという「伝統的な」アプローチを使用することは、通常、物事を進めるには不十分な方法です。別の方法として、著者は基本的に反対のアプローチを提案しています。意味:最も一般的なパスワードの非常に小さいデータベースを選択し、それを多数のユーザーのリストに対して実行します。 1つのアカウントに対して10,000の一般的なパスワードを試すよりも、100のアカウントに対して100の非常に一般的なパスワードを試すほうが、少なくとも1つのアカウントの違反という点で成功する可能性が高いという主張です。
私の質問:パスワード監査またはペンテストでこのアプローチを使用する利点と、1つまたはいくつかのアカウントを詳細に攻撃するアプローチの利点と欠点とは何ですか?最も明らかな欠点は、当然のことですが、特定のユーザーのアカウントをターゲットにしたい、またはターゲットにする必要がある場合、このアプローチはおそらくおかしいです。一方、たとえば、少なくとも数百のユーザーがいる組織内の任意の種類の1つまたは2つのアカウントへのエントリを取得するだけの場合は、これがより効果的である可能性が高いと思います戦術。また、状況によっては、ログイン試行のスロットリング/ロックアウト保護への対応が容易になる場合もあります。
しかし、パスワードハッキングに関する私の個人的な専門知識はあまり深くありません。だから、私は私よりも多くを知っている人に尋ねます:このアプローチを使用することに対する他の重要な実用的な長所と短所は何ですか?どちらかの戦術を使用することが理にかなっている他のいくつかの一般的な状況は何ですか?
特定のアカウントにアクセスしたい場合でも、システム上の任意のアカウントにアクセスできることには大きな利点があります。ここでは、システム全体のユーザーベースのパスワード攻撃を隠す方法については詳しく説明しませんが、可能です。その後、特定のアカウントに対する直接攻撃を行うことができます。システム上のランダムアカウントでは、次のことが可能です。
あらゆるシステムの単一の内部アカウントは、知識豊富で創造的で熱心な攻撃者の手に渡って非常に価値があると証明できます。
99%のアカウントに優れたパスワードセキュリティがあり、1%の粗悪な場合、少数のアカウントを攻撃すると、簡単に侵入できるアカウントが見落とされる可能性が高くなります。それらすべてをスイープすると、攻撃者が上記のすべてを試すことができる時点で何かをキャッチする可能性が高くなります。
私があなたを正しく理解している場合、少数のユーザー名の多くのパスワードと多数のユーザー名の少数のパスワードの賛否両論は何ですか?私は正しいですか?私が考えることができるのは、同じユーザー名に対して多くのパスワードを試した場合、数回の間違った試行の後に自分がロックアウトされる可能性が高いということです。一方、各アカウント/ユーザー名での失敗の試みがしきい値を下回っている限り、自分をロックアウトすることはほとんどありません。さらに、自分でロックアウトしても、すべてのアカウントを循環して再度アクセスした後、元々ロックアウトしていたアカウントが自動的にロック解除される可能性があります。
私のあなたの質問への直接の懸念は、@ wieが彼の回答で言及していることを反映しています。
「あなたは数回の間違った試みの後に自分自身をロックアウトする可能性が高いです。
これが問題になる場合は、パスワードのリストを作成し、解読しようとするすべてのユーザーの各パスワードをループ処理します。各試行の間に時間遅延を使用し、トラフを実行させます。ユーザーのリストによっては、1つのループに数分または数時間かかる場合がありますが、試行の間隔を長くすると、簡単にロックアウトまたは検出されないようになります。
@Lexuから:
「上位500のパスワードでパスワードが見つからない場合、上位1000でもパスワードが見つからない可能性があります。(平均的なユーザーは、強力なパスワードまたは信じられないほど弱いパスワードを使用していると思います。これら2つの間ではそれほど多くありません。オプション)」
これらの質問を超えて:組織にはパスワードポリシーがありますか?これにより、テスト対象として選択するパスワードの複雑さが増します。うまくいけば、より単純なパスワードの大きなサブセットの使用を除外します(そして、使用しているパスワードセットをはるかに小さく、さらに複雑にし、利用可能なすべてのパスワードの難しいサブセット)。
さらに、テストしている組織、およびアクセスしたいアカウントとシステムの種類を検討するのが賢明かもしれません。たとえば、州立大学にいる場合は、パスワードのマスコットのバリエーションを探すことを検討します。あるいは、スポーツやアートが大きなものかもしれません。 「スポーツ」または「スポーツチーム」とそのバリエーションに対してテストします。あるいは、へらを作る会社をテストしているのかもしれません。 'spatula'と順列(およびWordの他の組み合わせ)は、テストに適したパスワードになる可能性があります。写真をゲット?
最後に、元の質問にもっと直接対処するには:
「私の質問:パスワード監査またはペンテストでこのアプローチを使用する利点と、1つまたはいくつかのアカウントを詳細に攻撃するアプローチを比較する利点と欠点とは何ですか?」
必要なアカウントがわかっている場合(組織の外部のユーザーとして攻撃している場合は考えられません)、パスワードの組み合わせと順列の膨大なリストを使用して、それらだけを攻撃する方がはるかに速くなります。
ただし、ピボットポイントを見つけようとしているだけの場合は、少数のパスワード(組織に合わせたもの)をテストして、重要なアカウントや考えられるピボットポイントを見つける方がはるかに効率的(そして成功する可能性が高い)です。ソーシャルエンジニアリングを行わずに特定のアカウントをターゲットにすると、成功を収める可能性がはるかに低くなります。
要約:成功の可能性の違いです。最初に最も簡単で完全な方法を試してください。それが失敗した場合は、目標に向けて、より集中的で綿密な取り組みを行ってください。
これがお役に立てば幸いです!
top 500
パスワードの下にパスワードが見つからない場合は、top 1000
の下にもパスワードが見つからない可能性があります。 (私は平均的なユーザーが強力なパスワードまたは信じられないほど弱いものを使用していると思います。これらの2つのオプションの間ではそれほど多くありません。)
ただし、システムによっては、アカウントの数が限られている場合があります。
多数のユーザーがいて必要な場合はmany-username-few-passwords
を使用し、ユーザー名が限られている場合はfew-username-many-password
を使用します。
私がIT業界で働き始めた頃、ジョーダンはまだバスケットボールをしていました。シカゴで監査を行っているセキュリティ会社は、他の知識がなくても、座ってパスワードとして「Bulls」と入力することで、コンピューターの40%に侵入しました。
これに基づいて、私はどこでも弱いパスワードを試し、標的型攻撃ではなく誰がパスワードを持っているかを確認する方が賢明だと思います[〜#〜] if [〜#〜]探しているすべてシステムへの最初のアクセスです。