[1] OLE란? (Object Linking and Embedding)
ole란 쉽게 말해 다양한 애플리캐이션 파일들이 서로 공유해서 사용 가능하도록 해주는 기술로 생각하면 된다.
ex) 엑셀에서 표를 만들어서 그냥 워드 파일에 넣어도 같은 표형식으로 삽입이 된다.

우린 이제부터 이러한 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 |
|---|