리뷰

[초급 분석가를 위한 OLE 및 oletools 분석 가이드]

cybersec 2025. 5. 26. 15:54

[1] OLE란? (Object Linking and Embedding)

ole란 쉽게 말해 다양한 애플리캐이션 파일들이 서로 공유해서 사용 가능하도록 해주는 기술로 생각하면 된다.

 

ex) 엑셀에서 표를 만들어서 그냥 워드 파일에 넣어도 같은 표형식으로 삽입이 된다.

excel to doc

 

우린 이제부터 이러한 ole 데이터를 하나의 "개체"라고 부르기로 한다.

 

[2] 그럼 이러한 ole 개체가 왜 위험한가?

 

OLE 자체 기능으로는 유용한 기능이지만 해당 기능을 이용하여 공격자들은 악성코드를 숨겨 실해하는데 사용한다.

  • 문서 안에 실행 파일, 스트립트를 숨길 수 있음
  • 사용자가 클릭 또는 문서를 열기만 해도 악성 행위 동작

[3] OLE 개체를 활용한 악성 행위 유형

 

공격 기법  설명
VBA 매크로 공격 문서에 악성 VBA 코드를 삽입해 실행 (예: AutoOpen, Document_Open)
OLE 개체 실행 공격 문서에 EXE, JS, BAT 등 실행파일을 삽입하여 사용자 클릭 유도
DDE(Dynamic Data Exchange) 공격 실시간 데이터 갱신 기능을 이용해 명령어 실행
암호화된 매크로 분석을 어렵게 하기 위해 매크로에 암호 설정

 

보통 "콘텐츠 사용" 허용하면 랜섬웨어, 백도어, 악성코드 등 이 실행되는 경우가 대부분이다.

 

[4] 그럼 어떻게 해당 악성파일을 탐지하는가?

 

악성 OLE 데이터를 탐지하려면 다음과 같은 분석 절차가 필요하다.

 

1.OLE 구조 메타데이터 확인

2.VBA 매크로 존재 여부 파악

3.자동 실행 매크로나 의심스러운 명령어 탐지

4.임베디드 개체(.exe, .bat 등) 추출

5.DDE 코드 여부 확인

 

그래서 이와 같은 절차를 수월하게 하기 위해  oletools을 자주 사용한다.

 

[5] oletools 란?

 

oletools는 악성 ole 문서를 분석하기 위한 python 기반의 분석 도구 모음이다. 

도구 기능 기능
olevba VBA 매크로 추출 및 악성 행위 분석
oleid 문서 위험 요소 요약 분석
oleobj 문서 안의 OLE 개체 추출

 

oleid 명령어를 통한 ole파일 분석 모습

 

 

olevba 명령어를 통한 ole파일 분석 모습

 

간단하게 oleid, olevba 만으로도 해당 악성 엑셀 파일에 macro를 이용한 악성 ole 개체가 삽입되었다는것을 알수 있음

Hex strings을 이용한다거나, auto_open 동작을 통해 자동 실행, xml 매트로 이용 하는것을 볼 수 있다.

 

 

'리뷰' 카테고리의 다른 글

픽픽(PicPic)이 뭔가요?  (2) 2025.03.29