特定のパスワードについてADを監査する方法はありますか?


8

ADを監査して特定のパスワードを確認する方法はありますか?

以前は、すべての新規ユーザーに「標準」パスワードを使用していました(例:MyPa55word)。これが私たちの家のどこでも使用されていないことを確認したいと思います。

これを行う方法を私が考えることができる唯一の方法は、a)このパスワードを持つユーザーのディレクトリを何らかの方法で監査するか、b)このパスワードを特に許可しないGPを設定することです(理想的には、ユーザーにパスワードのリセットを促すでしょう)。 )

誰もがこれにどのように取り組むことができるかについて何かヒントがありますか?

Ta、

ベン


3
個人的にはあなたが間違ったアプローチをしていると思います。新しく作成されたすべてのアカウントに「ユーザーは次回ログオン時にパスワード変更が必要」オプションを設定するだけで、誰が悪いのかを確認するのではなく、悪いことを止めてみませんか?これが最も簡単で安全なソリューションでしょう。
ブライアン

ブライアンが提案する方法は、問題が発生するのを防ぐためのものです。
John Gardeniers、

将来については同意しましたが、すでに発生している問題を修正しようとしています。「ユーザーに次回ログオン時にパスワードの変更を強制する」アプローチの問題は、ほとんどのユーザーがリモートで作業することです。以前、オフィス外のユーザーとパスワードを変更すると問題が発生しました。

回答:


1

ここにいくつかのアイデアがあります-それらはどちらも本当に非常に良いものではありません(彼らがアンチウイルスまたは侵入検知アラームを発するかもしれないという欲求から):

  • Active Directoryからパスワードハッシュをダンプして、パスワードクラッカーを実行できます。カインとアベルはあなたのためにクラッキングを行うことができます。fgdumpでハッシュを取得できます。注意してください-これらのユーティリティは両方とも、おそらくウイルス対策ソフトウェアに警報を鳴らすでしょう。

  • "NET USE"コマンドを使用して有効なパスワードをチェックし、ユーザーリストの出力を反復する簡単なスクリプトを書くことができます。このようなものを使用してください:

    @エコーオフ

    remパスワードテスト用の「ドライブ」への「マップ」への宛先パス
    DESTPATH = \\ SERVER \ Shareを設定します
    remパスワードテストのために「ドライブ」を「マップ」するために使用されるドライブ文字
    SET DRIVE_LETTER = Q:

    テストするrem NetBIOSドメイン名
    DOMAIN = DOMAINを設定

    1行に1つずつ、ユーザー名のリストを含むremファイル
    SET USERLIST = userlist.txt

    テストするパスワード
    SET PASSWORD = MyPa55word

    rem出力ファイル
    SET OUTPUT = output.txt

    「%DRIVE_LETTER%\」が存在する場合。goto _letter_used

    (%USERLIST%)の/ f %% iの場合、(
        ネット使用%DRIVE_LETTER%%DESTPATH%/ USER:%DOMAIN%\ %% i%PASSWORD%

        「%DRIVE_LETTER%\」が存在する場合。echo %% i password is%PASSWORD%>>%OUTPUT%

        正味使用量%DRIVE_LETTER%/ d / y
    )

    後藤端

    :_letter_used
    echo%DRIVE_LETTER%は既に使用されています。空きドライブ文字に変更して、再実行してください。

    :終わり

ユーザーリストを「userlist.txt」(1行に1つのユーザー名)に入れ、スクリプトの上部にある変数を設定して、ユーザーが「ドライブ」を「マッピング」できるパスを参照するように設定し、それを実行しているPCには、宛先サーバーに「マップ」された他の「ドライブ」がありません(Windows PCでは、特定のサーバーへのSMBクライアント接続に一度に使用できる資格情報のセットは1つだけなので)。

私が言ったように、どちらの方法もおそらく素晴らしいアイデアではありません。>笑顔<


1
ハッシュをダンプし、アカウントにデフォルトのパスワードを設定すると、ハッシュが何であるかがわかり、それを探すことができますか?
xenny

あなたは、伝説です。質問をうまく説明できなかったと思いますが、これがまさに私が必要としていたことです。この特定のパスワードを使って全員をすばやくダンプしたので、個別に変更させることができました。どうもありがとう!

8

ユーザーのパスワードを表示する公式の方法はありません(可能ですが、セキュリティユーティリティについて詳しく調べる必要があります)。パスワード時代の角度からこれにアプローチするのがおそらく最善です。ユーザー作成日とパスワードが最後に変更された日付を比較できるように聞こえます。一致する場合は、[次回ログイン時のパスワード変更]フィールドを切り替えます。


ああ...とてもいい解決法です!
blank3

1

ネットで使用するときにパスワードを要求される共有を作成します。次に、すべてのユーザー名とデフォルトのパスワードで共有をマップするスクリプトを記述します。この方法では、ログオンは不要であり、ポリシーに違反しません


基本的には、これが私の回答のスクリプトで行うことです。
エヴァンアンダーソン

1

あなたは見ておくべきであるジョン・リッパーそのAのパスワードクラッキングユーティリティ- 。テキストファイルからパスワードのリストを取得する辞書攻撃モードで実行できます。単語リストは、デフォルトのパスワードだけで構成できます。

かなり高速であるはずです。提案されている共有+パスワードスクリプト経由の接続よりも高速でしょう。


0

バッチファイルアプローチのように、リスト内の各ユーザーの「標準」パスワードを試行する共有またはリソースへのログオン試行をスクリプト化する方法を見つけて、成功したものをログに記録することができます。しかし、多数のアカウントを持つ大企業ではない場合、これは単一の監査では多くの作業になります。グレーハットのセキュリティユーティリティがいくつか出回っているかもしれませんが、どれだけ信頼できるかはわかりません。

辞書ベースの攻撃(l0phtcrack?)でパスワード監査ユーティリティを入手し、デフォルトのパスワードだけをカスタム辞書として使用できる場合があります。それは物事をより速くそしてより簡単にするかもしれません。

これらのユーティリティは害を与えるだけのツールであるため、これは危険です。一部のマルウェアスキャナーは、正当な目的で使用している場合でもフラグを立てます。管理者がパスワードをリセットまたはブランクにできるが、「紛失した」または「忘れた」パスワードが何であるかを知らないように特別に設定されているため、Windowsには、管理者用の組み込みのパスワードチェックユーティリティがほとんどありません。


0

[パスワードの履歴を記録する]を高い数値(たとえば10)に設定し、パスワードの有効期間を30に減らすか、すべてのユーザーの有効期限切れパスワードをスクリプト化します。次に、サービスアカウントを確認し、パスワードをリセットします。大規模な環境の場合、これは困難です(したがって、2008年の新しい管理されたサービスアカウント)。多くの場合、パスワードを取得できるユーティリティは、その価値よりも問題が多いという点で、バートに同意します。うまくいけば、あなたはパスワード履歴を設定している限り、パスワードが定期的に期限切れになるような環境にあり、その場合、このパスワードは確実に時間内に消えてしまいます。


0

私は過去にパスワードハッシュをダンプするためにpwdump 6を使用しました。

パスワードで事前にアカウントを作成します。ユーザーが同じパスワードを使用している場合、ユーザー用にダンプされたパスワードハッシュは同じである必要があります。レインボーテーブルのようにサイズが数GBで、ハッシュからユーザーのパスワードを見つけることができるツールがあるため、パスワードハッシュは機密であるため、権限があることを確認してください。

Linuxおよびunixシステムは、1つのシステムのハッシュテーブルを2番目のシステムに使用できないようにするためにソルトを追加することが多いため、レインボーテーブルを防止します。

私は大企業の監査を受けた会社で働いていましたが、ユーザーの設定時に共通のパスワードの提供を停止するよう提案しました。ユーザーはグループ割り当ても取得するためです。標準パスワード。

マーク

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.