작은 메모장

악성 문서파일의 구성요소와 포맷 본문

KISA 사이버 보안 훈련/멀웨어 식별

악성 문서파일의 구성요소와 포맷

으앙내눈 2024. 7. 22. 15:20

스피어 피싱 유형

  • MS Office 문서
  • PDF 문서
  • HWP 문서
  • RTF 문서
  • 압축 파일 (ZIP)

스피어 피싱을 보내는 목적은 피해자의 소프트웨어 취약점을 공격, 파일에 내장된 객체(쉘 코드, 스크립트, 익스플로잇, 실행파일 등)를 강제로 실행 시키기 위함이다.

 

 

악성 문서파일의 일반적인 구성요소

익스플로잇

문서 파일을 처리하는 소프트웨어 (MS Office, 한컴 Office, Adobe PDF 등)의 비정상 동작을 유발하고 임의 코드를 강제로 실행 하도록 유도하는 역할을 하는 문서 내 데이터

즉, 악성 행위를 하도록 하는 코드 등의 데이터를 의미한다.

 

쉘 코드

취약한 소프트웨어의 메모리 상에서 임의로 실행되는 머신 코드 혹은 명령어

과거 주로 쉘 프롬프트를 획득하는 기능으로 시작하여 이런 이름이 붙었으나, 최근에는 다양한 기능을 포함하고 있음

쉘 코드의 주요 우선순위는 메모리 확보로, 취약한 소프트웨어의 메모리 공간에서 쉘 코드를 주입하여 실행하는 것이 공격자의 우선 목표다.

 

매크로/스크립트

악성 문서를 열람할 때 오피스 프로그램에 의해 직접 실행되는 VB 스클비트, 포스트 스크립트, 자바 스크립트 등을 의미

 

실행파일

악성 문서파일 내에 암호화된 형태로 내장되어 있는 파일

스크립트 혹은 쉘 코드에 의해 복호화 된 후 실행되는 것이 일반적인 동작과정

 

 

Office 문서의 포맷

CFBF (Compound File Binary Format)

FAT 디스크 파일 시스템과 비슷한 구조로, 하나의 파일 내에 다수의 파일들과 폴더 구조를 논리적으로 담을 수 있도록 구현한 포맷

복잡한 FAT 파일 시스템을 모사하여 만들었기 때문에, 구조가 상당히 복잡하고 직관적이지 않은 단점을 가지고 있다.

마이크로소프트에서 개발, 구 버전 MS Office에서 주로 사용했다.

해당 파일 포맷의 확장자는 DOC, PPT, XLS, HWP, MSI 등이 존재한다.

 

OOXML (Office Open XML)

XML 파일 기반의 ZIP 압축 파일 포맷

XML 파일과 다양한 바이너리 파일들이 압축되어 있으며, XML 파일은 각종 메타 데이터를 담고 있다.

마이크로소프트에서 개발, 2000년대부터 구 MS Office의 파일 포맷을 대체하기 위한 방법으로 사용하기 시작하였다.

해당 파일 포맷의 확장자는 DOCX, PPTX, XMLX, HWPX 등이 존재한다.

 

 

Office 문서 분석 도구

OLETOOLS

CFBF 포맷으로 이루어진 파일을 분석할 수 있는 파이썬 기반 도구 패키지

단순 분석 뿐만 아닌 OOXML 포맷, RTF 문서, Office 파일의 DDE(Dynamic Data Exchange) 분석 도구 등의 다양한 도구들을 포함하고 있다.

주로 악성 문서 파일을 식별(Triage)하고, 내장된 악성 개체(파일, 스크립트 등)를 탐지, 추출하는데 유용하게 사용한다.

 

 

Office 문서 포맷 실습

해당 문서 파일은 KISA에서 제공한 내용을 바탕으로 진행하였다.

 

해당 문서들은 다양한 확장자를 가지고 있으나, 헤더를 열여 정확한 정보를 확인하면 어떤 포맷으로 이루어졌는지 확인할 수 있다.

 

즉, 한개의 파일은 CFBF 구조, 나머지는 OOXML 구조의 포맷으로 되어 있다.

앞서 이야기하였듯, CFBF 포맷을 분석하기 위한 도구는 OLETOOLS를 사용한다.

해당 도구의 oledump를 이용하여 해당 문서의 파일을 파싱하면 된다.

 

OOXML 구조는 별다른 툴이 필요하지 않다.

CFBF 포맷과는 다르게 압축 형태이기 때문에, zip으로 확장자를 변경 후 압축 해제하면 된다.