WebDAV Relay
Last updated
Was this helpful?
Last updated
Was this helpful?
Web Distributed Authoring and Versioning은 원격에서 파일을 공유할 수 있는 프로토콜입니다. 로컬 환경에서는 SMB와 같은 파일 공유 시스템을 사용하는 것이 더 보편적이지만, 원격에서 근무를 하거나 협업을 해야 하는 경우에는 HTTP 프로토콜의 확장인 WebDAV를 통해서 파일 공유를 하는 것이 방법 중 하나입니다.
Windows에서는 기본적으로 Explorer를 통해 WebDAV를 지원하는데, WebClient 서비스는 Explorer가 WebDAV를 사용할 수 있도록 도와줍니다. 해당 서비느는 사용자가 실제 WebDAV의 리소스를 사용할 때만 실행되는데 이때는 DAV RPC SERVICE라는 이름의 파이프를 노출하여, 이를 통해 호스트에 WebClient가 실행 중인지 여부를 원격에서 확인할 수 있습니다.
WebDAV를 통한 Relay는 NTLM Relay 공격과는 다르게 특정 포트(445)에서만 인증을 수행하는 것이 아니라 어떤 포트에서든 발생할 수 있다는 점에서 PortBender를 통해 굳이 인증을 위한 포트를 다른 포트로 변경할 필요는 없습니다. 단지 리모트 포트 포워딩을 통해 인증에 사용하려는 포트를 지정하여 팀서버로 전송해주는 작업만 해주면 됩니다.
공격에 필요한 조건은 다음과 같습니다.
강제 인증에 취약한 WebDAV 서버
MAQ 값이 1 이상인 도메인 계정 확보
LDAP Signing 비활성화
다이어그램에서 표시된 시나리오는 WebDAV를 사용하는 호스트를 발견 시 실현 가능한 시나리오 중 하나입니다. 공격자는 NTLM 릴레이를 위한 서버를 열어서 타겟에게 강제 인증을 하도록 명령합니다. 타겟 호스트는 NTLM 인증을 위해 트래픽을 전송하고, 공격자는 이를 통해서 도메인 컨트롤러에 NTLM 챌린지를 하여 객체의 msDS-AllowToActOnBehalfOfOtherIdentity
속성 값을 변경합니다. 이때 변경하는 값은 공격자가 생성한 머신 계정의 SID 값으로 변경하여, 공격자 머신을 통해 RBCD 공격을 가능하도록 합니다.