[Incident Response] T1173 Dynamic Data Exchange

 

ATT&CK Execution


(1) Execution이란?

  • 공격자는 내부 네트워크에서 악의적인 코드를 실행하고자 노력

  • 로컬이나 원격 시스템에서 악의적인 코드를 실행하는 기술로 구성

  • 절차(Procedure)를 진행하기 위해 다른 모든 전술(Tactis)의 기술(Techniques)과 짝을 이루어 활용

  • 예시

    • LNK 파일 내에 포함된 Powershell 명령행 실행

    • 스피어피싱(Spearphishing) 메일 내에 .hta 확장자인 파일을 포함하여 실행하도록 유도

[그림 1] Execution


(2) Dynamic Data Exchange란?

  • Windows DDE(Dynamic Data Exchange)는 응용 프로그램 간의 일회성 또는 연속 프로세스 간 통신(IPC)을 위한 클라이언트-서버 프로토콜

  • 연결이 설정되면 응용 프로그램은 문자열, 웜 데이터 링크(데이터 항목이 변경될 때 알림), 핫 데이터 링크(데이터 항목에 대한 변경 중복) 및 명령 실행 요청으로 구성된 트랜잭션을 자동으로 교환 가능

  • OLE(Object Linking and Embedding) 또는 문서 간에 데이터를 연결하는 기능은 원래 DDE를 통해 구현

  • COM으로 대체되었지만 DDE는 Windows 10 및 대부분의 Microsoft Office 2016에서 레지스트리 키를 통해 활성화될 수 있음

  • 공격자는 DDE를 사용하여 임의 명령 실행 가능

  • Microsoft Office 문서는 DDE 명령으로 중독될 수 있으며, 직접 또는 포함된 파일을 통해 응용 프로그램(VBA) 매크로에 대한 Visual Basic에서의 사용을 피하고, 피싱 캠페인 또는 호스트 된 웹 컨텐츠를 통해 실행을 전달하는 데 사용

  • DDE는 명령 줄 실행에 직접 액세스 할 수 없는 손상된 시스템에서 작동하는 공격자도 활용 가능

  • 완화 방법으로는 응용 프로그램 격리 및 샌드박싱, 엔드 포인트의 동작 방지, 비활성화(기능 제거), 소프트웨어 구성 이렇게 4가지가 특징

  • 샌드박싱은 제한된 보기가 활성화되어 있는지 확인하며, 동작 방지는 Windows 10에서 ASR(Attack Surface Reduction) 규칙을 사용하면 Office 프로그램에서 DDE 공격 및 자식 프로세스가 생성되는 것을 방지 가능

  • 비활성화는 Microsoft Office 기능 제어 보안과 관련된 레지스트리 키는 자동 DDE / OLE 실행을 비활성화하도록 설정할 수 있으며, 또한 Microsoft는 Word 및 Excel에서 DDE 실행을 완전히 비활성화하기 위해 기본적으로 레지스트리 키를 만들고 활성화함

  • 마지막으로 소프트웨어 구성은 제한된 보기에서 작동하지 않는 Office 프로그램에서 포함된 파일을 사용하지 않도록 설정 


(3) Dynamic Data Exchange 내용 정리

3-1. 정상 용도

  • Dynamic Data Exchange(DDE)는 응용 프로그램 간의 데이터 공유를 위한 방법

  • 예로, MS Word 문서와 Excel 문서 간의 데이터 공유

3-2. 악의적 사용

  • 공격자는 DDE를 악용하여 임의의 명령 수행 가능

  • MS Office 문서에 악성 DDE 명령을 삽입하여 사용자에게 Spearphishing 가능

  • Visual Basic for App(VBA) 매크로를 사용하지 않고도 명령행 실행 가능


(4) 기법 실습

 

4-1. Word 프로그램 실행 > 빠른 문서 요소 > 필드 > Formula

 

[그림 2] Word 프로그램 내용

 

  • Microsoft Word 프로그램 실행

  • 빠른 문서 요소

  • 필드

  • Formula를 선택하고, [확인]을 눌러 실습 진행

 

4-2. 필드 코드 토클 > 숨겨진 단어 확인

 

[그림 3] 필드 코드 토글 (숨겨진 단어)

 

  • 수식의 끝이 잘못되었습니다 > 드래그 (마우스 우클릭)

  • 필드 코드 토글

  • 숨길 단어 입력

  • 숨겨진 단어 확인

 

4-3. 실행

 

[그림 4] 실행

 

  • 파일 저장 > Word 파일 다시 열고, 확인

  • 다른 파일을 참조하는 링크 확인 > 예(Y)

  • 응용 프로그램 실행 > 예(Y)

  • 공격자가 의도한 악성코드가 실행되는 방식


(5) Dynamic Data Exchange 추가 내용

  • ID : T1173

  • 전술 : Execution

  • 플랫폼 : Windows

  • 필요 권한 : User

  • 데이터 소스

    • API 모니터링

    • DLL 모니터링

    • 프로세스 모니터링

    • 윈도우 레지스트리

    • 윈도우 이벤트 로그


# Reference

 

https://attack.mitre.org/techniques/T1173/

+ Recent posts