個人データを保護するため、ほとんどのネチズンは自分のコンピュータのログインパスワードを設定しますが、頭の中にはさまざまなパスワードが設定されています。 2003年に、ログインユーザーのパスワードを取得するにはどうすればよいですか?すべてのNTシステムで、ログインユーザーのパスワードを取得する方法はいくつかあります。 Xiaobianは、彼が自分の目標を達成するために知っている3つの方法をあなたに話します。

1. winlogonにいくつかの機能をフックし、インターネット上でこのタイプのプログラムもあります、winlogonhijackと呼ばれるプロジェクトはrootkit.comで利用可能ですが、プロジェクトはローカルログインユーザーにのみ有効で、リモートログインユーザーは無効です。

2.ソケット作成にGinaとwinlogonを使用する特定の機能のパスワードを記録するための独自のコードを実行する限り、パスワードを高い安定性で記録でき、ローカルまたはリモートログインに効果的です。主にxpと2003がwinlogonに新しい機能を追加したため、既存のginaバックドアプログラムはXPまたは2003にエクスポートされませんでした。

3.メモリデータを直接読み取り、プレーンテキストのパスワードを取得します。 NT 4.0 /2Kでは、プログラムfindpassがwinlogonプロセスのメモリデータを直接読み取り、ログインユーザーのパスワードを直接取得できます。NT4.0および2Kでは、ドメイン名、アカウント番号、およびパスワードを含むアカウント情報がそれはwinlogonメモリの特定のアドレスに定期的にあります、従ってそれは非常に簡単に得ることができます。しかし、XPと2003システムでは、この方法は無効です。プレーンテキストアドレスを直接読み取る方法はないようです。 NT 4.0および2Kのfindpassのように、サーバー2003でログインユーザーのパスワードを取得する方法について説明しましょう。

XPおよび2003は、以前のNTシステムのようにwinlogonプロセスのメモリアドレスにログインユーザー情報を格納しませんが、基本Lsassプロセスは、情報を処理するときにプレーンテキストのログインユーザーパスワードを取得する必要があります。ログインユーザーのパスワードはLsassプロセスに表示されます(MicrosoftはLsassプロセスでパスワードを暗号化しませんでした。Lsassは平文のパスワードを取得する必要があるため、パスワードが暗号化されても可逆的な方法でしか暗号化できないとMicrosoftは述べました)。 lsassの操作を追跡している限り、プレーンテキストのパスワードを取得できます。そのため、マイクロソフトは応答を高速化するためにも使用できる遅延方式を使用しているため、プレーンテキストのパスワードはlsassプロセスメモリに格納されます。そうは言っても、誰もがログインユーザーのパスワードがlsassプロセスのメモリ内にあることを知っています。はい、その通りですが、このプレーンテキストのパスワードを取得するのは、NT 4.0および2Kでfindpassを使用するのと同じくらい簡単ですか?実際、それはいくつかの理由でそれほど簡単ではありません。 lsassプロセスに格納されているメモリアドレスが不規則です。

B.パスワードが最後にログインしたユーザーによって上書きされる可能性があります(たとえば、管理者abcがローカルにログインし、次に管理者bbbがリモートからログインして管理します)。メンバーbbbは、端末、lsass.exeプロセスのメモリに格納されているパスワード、または管理者のパスワード(bbb)をログアウトします。あるいは、ユーザーがログインしてログアウトした後、パスワードを取得しても、ユーザーのパスワードはわかりません。

C.パスワードの前後のデータも不規則で、パスワードの前のデータのように規則性がある場合は、すべて01文字のデータのセグメントがなければならず、ロケーションのパスワードは単純です。

原因AとCの両方が原因でパスワードを見つけるのが困難になりますが、元のBではパスワードとアカウントでは判断できない問題が発生しています。ただし、運を試しても、パスワードを取得できるかどうかは確認できますが、失敗した場合は問題ありません。

最後のコードは、2003システムでゲストのパスワードを取得できるかどうかをテストするために書いたものです。結果は上記の分析とまったく同じです(もちろん、上記の結果はこのプログラムを使用することです)。測定)。成功率は、あまりにも多くの理由、パスワードを見つけることの難しさ、見つけることができない、またはパスワードではない情報などの影響を受けるため、当然高くはありませんが、失敗率はかなり高いですが、それは常に方法です。誰かが将来正確に見つけることができます、そしてそれは楽しいです。失敗率は高いですが、成功率は非常に高い、つまり管理者はローカルまたは端末にログインするだけで、ローカルまたは端末からはログインしません。管理者はログインしません。システムをロックした後、成功率はかなり高くなります。

成功率を向上させる2つの方法:

1.プログラムが直接サービスに書き込まれ、ローカルまたはリモートのログインが定期的にチェックされます(実際には違いはありません)ログインが検出されると、lsassプロセスメモリが検索されます。パスワードを取得してみてください。

2. LogonUser()APIを使用して、成功するにはアカウント名とそれに対応する正しいパスワードを指定する必要があるため、プログラムはログインをシミュレートします(LogonUser()で実行できます)。 lsassプロセスメモリを検索します。私たちはパスワードが何であるかを知っているので、パスワードがどこに保存されているかを見つけることができます。ログインユーザーのパスワードは同じアドレスに保存されているか、またはそのアドレスからそれほど離れていないため、ログインと検索をシミュレートするので、後でログインするユーザーのパスワードを最初に見つけることができます。

3つの方法にかかわらず、最も安定した最も安全な方法はGinaの方法を使用することですHijackにはwinlogn APIのいくつかの方法がありますが、結局のところ、システムの機能とシステムの安定性が変わります。実際には、それは困難ですが、正確さ、lsassプロセスメモリ方法を直接検索するテストがあるでしょうが、成功率は低いです。

次のコードでは、非常に愚かで非常に原始的な検索方法を使用しています。主にLsassメモリ内の文字列 "localSystem Remote Procedure"を検索しています。この文字列のアドレスの後の位置には、もちろん、多くのシステムではこの文字列がありません。または、ある場合でも、間違ったパスワードを取得します。前のページ123次のページ合計3ページzh-CN"],null,[1],zh-TW"]]]

Copyright © Windowsの知識 All Rights Reserved