web-dev-qa-db-ja.com

リバーシブル暗号化を使用して、すべてのActive Directoryパスワードをクリアテキストで取得できますか?

編集:誰でも実際に質問に答えることができますか?おかげで、私は監査証跡を必要としません。私はすべてのパスワードを知っており、ユーザーはそれらを変更できないので、私はそうし続けます。

これはハッキング用ではありません!

最近、古くてさびたLinux/SambaドメインからActive Directoryに移行しました。そこにアカウントを管理するためのカスタムの小さなインターフェースがありました。安全な場所にすべてのユーザーとすべてのサービスアカウントのパスワードを平文で常に保存しました(もちろん、多くの人はこれが安全だとは考えていませんが、実際のエクスプロイトがないと誰もそれを読み取ることができません)。 sambaドメインコントローラ。さらに、ユーザーは自分のパスワードを選択できません。pwgenを使用して作成します。約40日ごとに変更するのではなく、2年ごとに、実際に学習し、書き留めない従業員に報酬を与えるだけです。

たとえば、パスワードが必要です。ユーザーアカウントに移動して、グループポリシーにとって、またはユーザーを支援するには複雑すぎる設定を変更します。

これらは確かに物議を醸すポリシーかもしれませんが、私はADでそれらを続けたいと思います。ここで、新しいアカウントとそのPWGEN生成(pwgenは素敵な量の母音、子音、数字を使って素敵なサウンドのランダムな単語を作成します)を、古いスクリプトが自動的に維持していた古いテキストファイルに手動で保存します。

この機能をADに戻すにはどうすればよいですか?

サーバーに保存されているクリアテキストのパスワードを必要とするチャレンジレスポンス認証システムのために、ADアカウントに「リバーシブル暗号化」があることがわかります。

これらすべてのパスワードを表示するスクリプトはありますか?それは素晴らしいことです。 (ここでも、DC妥協しないでください。)

または、すべての新しいパスワードの通知を取得してファイルに保存するプラグインをADユーザーとコンピューターに含めることはできますか?

GINA-dllで可能なクライアントでは、パスワードについて通知され、クリアテキストを取得できます。

2
Christian

質問に答えるには、これを読んでください: http://blog.teusink.net/2009/08/passwords-stored-using-reversible.html

記事の下部には、保存されているリバーシブルパスワードを取得する方法が説明されています。試したことがないので、説明どおりに行う方法を正確に知りませんが、うまくいくはずです。

それ以外は、リバーシブル暗号化の使用の提案に狼が泣いている残りの人々に同意します。安全ではありません。

4
Lord HellFire

あなたは彼らのアカウントでログオンしてユーザーサポートを提供しているように思えます-彼らのパスワードを知っていますか?あなたが言ったように、それは多くの理由で非常に悪い考えです。

私は古い学校のユーザーがそれを好む傾向があることを知っています、彼らはただ肩をすくめて、リモートでそれを修正してあなたに彼らのパスワードを与えるように頼みます。しかし、ノーと言ってください。誰も自分のパスワードを知っている必要はありませんが、自分自身-基本原則。

ほとんどのことは、別のユーザーコンテキスト、独自のものから修正できます。ユーザーがインタラクティブにログインできない状態で実際に実行する必要があるユーザーは、ユーザーがそれを実行し、スタッフがそのユーザーのアカウントを介して問題を修正するのを監視する必要があります。

リモートには、ユーザーが制御しているRDPシャドウ、リモートヘルプ、および同様のインタラクティブソリューションがあり、デスクトップ関連の問題を解決するためにパスワードを知る必要はありません。ほとんどのことは管理者が簡単に構成できるため、グループポリシーでは基本的にこの動作は必要ありません。

他の人に他の人のユーザーアカウントへのアクセス権を与えると、監査証跡と、システム内のユーザーが行ったアクションの説明責任も失われます。これは、承認された管理者グループの外に出てしまう可能性があります。

14
Oskar Duveborn

私のDCが安全であるかどうかはあまり確かではありません。私が攻撃者またはペンテスターであった場合、私はまずあなたのDC=とにかく、私はあなたのワークステーションとサーバーの後に行きます。基本的な攻撃ベクトル:

  1. ドメインまたは一部のサービス(たとえば、SQL Serverのsaアカウント)の弱いユーザー名/パスワード、または管理者権限(システムのパッチ)を取得するために利用できる脆弱性を発見します。
  2. そのアカウントに管理者権限があるシステムを見つけます。
  3. LSAシークレットをダンプして、すべてのサービスアカウントのユーザー名/パスワードを見つけます。
  4. CacheDumpを使用して、キャッシュされたユーザー名/パスワードをダンプします。
  5. それらのいずれかに管理権限があるかどうかを確認してください。
  6. ドメイン管理者アカウントを取得するまで、1〜5を繰り返します。
  7. ドメイン管理者アカウントを使用して、ドメインコントローラーにアクセスします。
  8. ドメインコントローラのSAMをダンプします。
  9. Rainbowテーブルを使用して、より多くのパスワードをクラックするか、必要に応じてブルートフォースをオフラインにします。

すべてのVista/Windows Server 2008/Windows 7でない限り、これはほとんどのペンテスターが使用する基本的な攻撃パターンです。これらの3つのOSがパターンを破る理由は、LSAシークレットに対するDLLインジェクション攻撃がこれらのOSに対して機能するように作成されていないためです。

以上のことから、リバーシブル暗号化は使用せず、LMハッシュを無効にする必要があります。 NTLMハッシュが必要です。そして、あなたはそれらのパスワードを平文で保存したくありません。

10
K. Brian Kelley

あなたがやっていることは本当に、本当に悪い考えです。ユーザーがパスワードを管理する必要がないようにする場合は、ADのチャレンジ/レスポンストークンシステムに投資して、費用を最小限に抑えることができます。

10
duffbeer703

正直なところ、これを実行したいというあなたの推論は妥当ではないと思います。管理者として、私はユーザーのパスワードを知っているという考えからheebeejeebeesの大部分を受け取ります。それは彼らの個人的な領域であり、あなたは彼らにあなたに大きなレベルの信頼を置くように求めています。それを除けば、機密データの漏えいがあった場合、ユーザーのパスワードを知っているので、すぐに疑われます。検証可能な監査証跡がないことは、巨大なセキュリティのレッドフラグです。ルール1は「自分を保護する」ことであり、これが何らかの不便を受け入れる必要があることを意味する場合は、そうしてください。

パスワードを知っているような極端に行かなくても、あなたが望むものを達成する代替の解決策があると思います。グループポリシーの設定を確認しましたか?あなたのスクリプト能力はどのようなものですか?力ずくの方法の使用は、通常、標準的なアプローチが最適に使用されていないことを明確に示しているため、何をしているのかをバックトラックして再考する方がはるかに良いと思います。

6
Maximus Minimus

説明責任、ロギング、追跡。

数年前から、これについて管理に苦労しています。 CEOと社長は自分のパスワードを何年も変更することを拒否し、7年以上前に出入りしたすべてのIT担当者は自分のパスワードを知っていました。全員を「信頼」しても、従業員ではなくなった複数の人が強力なアカウントにアクセスすることは非常に危険です。言うまでもなく、すべての人が他の人がパスワードを知っていることを知っているので、それらを使用しても安全です。

私たちは、ユーザーとパスワードを決して共有しないように、ユーザーに繰り返し説得します。これは、「ソーシャルハッキング」を防ぐための始まりです。電話をかけて誰かが新しいIT担当者の1人だと言って、パスワードを渡すユーザーは何人いますか。

何かをするためにユーザーアカウントに絶対にいる必要がある場合は、ログインしてショットガンに乗せるか、パスワードを変更します。ユーザーがパスワードを変更するとすぐに、私たちは彼らのアカウントに対して責任を負い、ユーザーが次のログイン時にパスワードを変更する必要があるとマークされたアカウントで新しいパスワードを与えるまで、彼らはもはや責任を負いません。これにより、ログと追跡が保持されます。ユーザーがインターネットで行うことができるすべての悪いこと、違法なこと、非倫理的なこと。彼らが自分のパスワードを知っている他の多くの人を責めることができれば、それは多くの問題を引き起こす可能性があります。

現在、共有コンピュータなどのすべての共有アカウントログインの削除に取り組んでいます。必要な場合、そのアカウントには非常に制限された権限があり、インターネットにアクセスできません。

パスワードがとても重要である理由があります。データを保護するだけでなく、ユーザーやユーザーを保護するために存在します。例を見つけたりブレインストーミングしたりするのは難しくありません。頭の中で会話をしてください。 「全員が私のパスワードを知っていて、そのうちの1つが私のコンピューターに侵入し、愛人からのメールを読んで妻に言った」セキュリティ以外にも、プライバシーに関する考慮事項は数多くあります。

ブライアン

pS議論の余地がないように一生懸命努力しています。私は質問に答えませんでしたが、提案されていることを行うことに対して編集を行いましたが。 「編集:誰でも実際に質問に答えることはできますか?おかげで、私は監査証跡を必要としません。すべてのパスワードとユーザーが変更できないことを知っています。これは継続します。これはハッキングのためではありません!」

  1. これにより、多くの企業でシステム管理者としての仕事から外れることになります。
  2. このような態度は、将来の仕事の機会にも影響を与える可能性があります。私が彼らをググって、彼らがこの質問を提起したとわかったならば、私は私たちの会社でシステム管理職に応募する人をすぐに排除します。
  3. どのようなシナリオが必要で、これをサポートするかを想像するために、私は一生懸命努力しています。たぶん、3〜4人の家族専用のオフィス。この態度が宗教的なシナリオで蔓延しているのを見ることができましたが、それでも誰も完璧ではなく、間違いを犯すことはできません。
  4. これが過度に議論的または軽蔑的なものである場合は、psを自由に編集または削除してください。
5
Brian

監査、説明責任、および一般的なセキュリティの問題は適切に対処されていると思うので、別の答えを試してみます:)

すべてのドメインコントローラにインストールできる パスワード変更通知サービス があり、すべてのパスワード変更を受信サービスに安全に転送します。

これは、ターゲットとしてIdentity Integration Server(現在はIdentity Lifecycle Manager)用に設計されましたが、独自のターゲットを記述したり、MIIS/MILMを使用してパスワードを受信したり、別のコネクタ経由で独自のシステムに転送したりすることもできます。

4
Froosh

他の人がカバーしたように、あなたの方針と実践はせいぜい正統ではありません。前述のUnlock Administratorはまともな妥協案のようです(しゃれは意図されていません)。 Windowsのユーザープロファイル内でサポートを提供するために、ユーザーのパスワードを知っているという指定された目的。いいね。ユーザーがサポートを必要とし、別の場所にいる必要がある場合は、ワークステーションをロックしてもらいます。次に、Unlock Administratorを使用して、ステーションのロックを解除し、ユーザープロファイルに残すことができます。

任意のワークステーションに近づくことができなくなりますが、パスワードを知る必要はありません。これは、セキュリティとサポートの容易さの間の適切な妥協のようです。

2
iPaulo

ハッシュ(LMまたはNTLMのいずれか)を取得し、それらに対して辞書攻撃を行う必要があります。適度に複雑なパスワードを持っている人は、発見することはほぼ不可能です。 「リバーシブル暗号化」を有効にしないでください-パスワードの管理方法を変更する必要があります。

2
PowerApp101

nlock Administrator は、パスワードを知らなくても問題の一部を解決できる場合があります。

2
Joseph

これを行うにはさまざまな方法があり、私たちのサーバーに侵入した人々がこれを使用しているのを見てきました。最も一般的な方法は、pwdump4などを使用してパスワードハッシュをファイルにダンプし、結果のハッシュをRainbowテーブルで実行することです。このアプローチをより困難にするいくつかのパスワードの長さ制限があります。そのため、管理パスワードはすべて16文字以上です。

レインボーテーブルの適切なセットに投資したら(インターネット上の多くの場所で多額のお金を稼ぐことができますが、これが実際に基幹業務であればコストは問題になりません)、ダンプと-ほとんどのユーザーは、復号化プロセスを30分未満で実行できます。

ユーザーのパスワードがどれほど簡単に推測されたかを感じ取るために、これを1回行いました。単純な辞書攻撃を開始してから5分以内にパスワードの30%程度がクラックされ、1日で80%近くが自己生成されたRainbow Tableを介してクラックされました。これは... 3年前だったので、物事は速くなった。結果は上級管理職に提示され、上級管理者はすぐにパスワードポリシーを強化することに同意しました(実際には作成します)。

2
sysadmin1138

L0phtcrackを取得し、DCに対して実行します。数時間かかる場合がありますが、ほとんどのパスワードを取得できるはずです。

同じことを探していたので実際にこれに遭遇しましたが、ユーザーパスワードを知る動機はまったく異なります。

私は、顧客のFTPホスティングにIIS=を使用する以前のネットワーク管理者ソリューションを移行しています。最近、IIS ftpがブルートフォースであり、スパイウェアをホスティングしていたことがわかりました。ユーザーパスワードが記載されていなかったため、誰かが忘れた場合はリセットするだけだったため、ADを使用しない別のソリューション(FileZilla)に移行します。移行を透過的に終了させるために、同じパスワード(侵害されたアカウントは除外)でこれらすべてのADアカウントを再作成する必要がありますIIS FileZillaの移行ユーティリティがないため、私の唯一の望みはユーザーのパスワードを解読することです。

ユーザーのパスワードをクラックせずにこれを達成する方法についての提案はあります。

1
ITGuy

マイクロソフトには、おそらく外部のLDAPストアにパスワードを複製できるILM製品があります。

1
James Risto