Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ResetNightmare — POC tool for ResetNightmare (CVE-2026-27912) | Kitploit
도구/GitHubGitHub/semperis-community/resetnightmare
Authentication & AuthorizationPrivilege EscalationPassword AttacksExploitationPenetration TestingRed Teaming
GitHubsemperis-community/resetnightmare

ResetNightmare

POC tool for ResetNightmare (CVE-2026-27912)

저장소 보기
1903117일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ResetNightmare

ResetNightmare(CVE-2026-27912) 취약점에 대한 개념 증명(POC) 도구입니다.

ResetNightmare는 Kerberos 암호 변경 프로토콜의 검증 결함으로, 현재 암호를 알지 못해도 모든 대상 사용자/컴퓨터 계정의 암호를 재설정할 수 있게 해줍니다. 이 공격에는 패치되지 않은 도메인 컨트롤러와, 자신이 제어하는 계정에 userPrincipalName(UPN)을 쓸 수 있는 권한이 필요합니다. 또는, 공격자가 모든 OU에 새 사용자/컴퓨터를 생성할 수 있는 권한을 가진 경우에도 이 취약점을 악용할 수 있습니다. 사용자/컴퓨터를 생성하면 해당 개체에 대한 GenericWrite 권한을 얻을 수 있기 때문입니다.

공격 흐름

이 스크립트는 전체 공격 흐름을 자동화하며 작업 후 스스로 정리합니다. 공격 흐름은 다음과 같습니다:

  1. 공격자는 UPN을 쓸 수 있는 사용자 또는 컴퓨터 계정을 보유합니다. 이 계정은 직접 제공하거나 -CreateNewPath를 사용하여 생성할 수 있습니다.
  2. 공격자는 자신이 제어하는 계정의 UPN을 대상의 sAMAccountName(예: "Administrator")으로 설정합니다.
  3. 그런 다음 공격자는 이름 유형이 NT-ENTERPRISE인 "Administrator" 사용자 이름으로 TGT를 요청할 수 있습니다. 이 TGT는 kadmin/changepw SPN으로 요청됩니다.
  4. 공격자는 자신의 UPN을 제거하여, 대상만이 자신을 가리키는 UPN을 갖도록 남깁니다.
  5. 그런 다음 공격자는 확보한 TGT를 사용하여 "Administrator" 사용자의 암호를 이전 값을 전혀 알지 못한 채 재설정합니다.
  6. 공격이 성공하면 대상의 암호가 변경되며, 공격자는 이제 새 자격 증명으로 인증할 수 있습니다.

사용자 계정과 컴퓨터 계정 모두 공격 대상이 될 수 있습니다.

image

요구 사항

  • PowerShell이 설치된 Windows.
  • ActiveDirectory PowerShell 모듈.
  • 스크립트는 Rubeus.exe를 사용하며, .NET Framework 4.6.2로 컴파일된 Rubeus로 테스트되었습니다. 현재 디렉터리에 배치하거나 -RubeusPath로 경로를 지정하십시오.
  • 다음 중 하나:
    • UPN을 쓸 수 있는, 자신이 제어하는 도메인 계정.
    • OU/Container에 계정을 생성할 수 있는 권한(-CreateNewPath로 지정).
  • 공격 대상인 패치되지 않은 DC. -DC로 지정할 수 있습니다.

사용 방법

스크립트를 dot-source하여 함수를 로드한 후 호출합니다:

root@kitploit:~
. .\ResetNightmare.ps1

Invoke-ResetNightmare `
    -TargetAccount "victim" `
    -TargetNewPassword "NewP@ssw0rd!" `
    -UPNUser "controlledUser" `
    -UPNUserPassword "ControlledP@ss!"

컴퓨터 계정 공격

-TargetAccount에 (끝에 $가 붙는) sAMAccountName을 사용합니다:

root@kitploit:~
Invoke-ResetNightmare `
    -TargetAccount 'server$' `
    -TargetNewPassword "NewP@ssw0rd!" `
    -UPNUser "controlledUser" `
    -UPNUserPassword "ControlledP@ss!"

새 제어 계정 생성

OU/Container에 개체를 생성할 권한이 있다면 -CreateNewPath를 사용하여 OU/Container의 DN을 지정할 수 있습니다. 이 값이 지정되면 -UPNUser와 -UPNUserPassword는 도메인의 기존 계정이 아닌, 생성할 계정의 자격 증명으로 처리됩니다:

root@kitploit:~
Invoke-ResetNightmare `
    -TargetAccount "victim" `
    -TargetNewPassword "NewP@ssw0rd!" `
    -UPNUser "attackerAcct" `
    -UPNUserPassword "AttackerP@ss!" `
    -CreateNewPath "OU=Temp,DC=demo,DC=lab"

사용자 계정 대신 컴퓨터 계정을 생성/사용하려면 -Computer를 추가하십시오.

매개 변수

면책 고지
이 콘텐츠는 교육 및 정보 제공 목적으로만 제공됩니다. 소유하거나 테스트 권한이 있는 시스템에 존재할 수 있는 보안 취약점에 대한 인식을 높이고 책임 있는 수정을 장려하기 위한 것입니다. 악의적인 목적, 악용 또는 불법적인 접근을 위한 무단 사용은 엄격히 금지됩니다. 저자는 어떠한 불법 활동도 지지하거나 용납하지 않으며, 자료의 오용으로 인해 발생하는 모든 책임을 부인합니다. 또한 저자는 콘텐츠의 정확성이나 완전성을 보장하지 않으며, 사용으로 인해 발생하는 손해에 대해 어떠한 책임도 지지 않습니다.

도구 다운로드
매개 변수필수설명
-TargetAccount예암호를 재설정할 대상 계정의 sAMAccountName. 컴퓨터 계정을 대상으로 하는 경우 끝에 $를 포함해야 합니다.
-TargetNewPassword예대상 계정에 설정할 새 암호.
-UPNUser예UPN을 쓸 수 있는 계정. -CreateNewPath가 지정된 경우 생성할 계정.
-UPNUserPassword예-UPNUser의 평문 암호.
-Computer아니요-UPNUser를 컴퓨터 계정으로 취급합니다(-CreateNewPath와 함께 사용하면 컴퓨터 계정을 생성합니다).
-RubeusPath아니요Rubeus 실행 파일의 경로. 기본값은 ".\Rubeus.exe"입니다.
-SupportedEncryption아니요TGT에 사용할 지원 암호화 유형. 기본값은 "AES256"이며 대부분의 경우 이 값으로 충분합니다. 변경이 필요한 경우 지원되는 값은 다음과 같습니다:
DES|RC4|AES128|AES256
-CreateNewPath아니요개체를 생성할 권한이 있는 OU/Container의 DistinguishedName. 지정하면 -UPNUser 및 -UPNUserPassword 매개 변수가 기존 사용자 대신 생성할 사용자의 자격 증명이 됩니다.
-DC아니요작업 대상 DC의 이름. 지정하지 않으면 자동으로 확인됩니다.