작은 메모장

악성 오피스 문서 식별 본문

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

악성 오피스 문서 식별

으앙내눈 2024. 7. 23. 11:08

악성 문서 분석 절차

트리아지

정상 Office 문서와 악성 Office 문서를 식별, 분류하는 작업을 의미한다.

침해사고가 발생한 PC 환경에는 단순이 악성 문서만 존재하는 것이 아닌, 정상 문서와 섞여있는 경우가 대부분이다.

때문에, 서로 섞여있는 문서들 속에서 악성 문서만을 식별하는 작업을 우선적으로 실행해야 분석 할 준비가 된다.

해당 과정에는 Office 파일 내에서 VBA 코드, DDE/DDEAUTO 명령어, 쉘 코드, OLE 객체 포함 여부를 확인하는 형식으로 악성 여부를 확인한다.

물론 이걸 수동으로 하면 시간이 상당히 오래 소모되므로, 여러 도구를 사용하여 이를 분류한다.

 

악성 스크립트/명령어 확보

악성 문서 안에 있는 VBA 코드 혹은 스크립트의 위치를 파악하고 추출하는 작업이다.

단순히 추출에서만 끝나는 것이 아닌, 분석까지 하여 어떤 식으로 침투하였는지를 분석하는 과정까지가 이 작업의 끝이다.

만약 난독화되어 있는 경우, 난독화를 해제하여 분석이 용이하도록 조치한다.

 

악성 개체 분석

시스템 상에 생성하거나 실행하는 파일, 추가로 다운로드 하는 파일, 악성코드 배포 서버의 도메인 등을 확인하는 작업이다.

코드 분석 과정에서 추가로 식별된 VBA 스크립트, 파워 쉘 스크립트, 실행 파일, 쉘 코드를 분석한다.

추가로, 악성코드 배포용 C2C 서버로부터 다운로드 되는 데이터가 있는 경우, 확보 후 추가 분석까지 진행한다.

 

 

악성 Office 문서의 이상 징후

쉘 코드 포함 여부

오피스 프로그램 자체의 취약점을 공격한 후 임의로 메모리 상에 쉘 코드를 매핑, 실행하는 경우다.

해당 경우, 공격자는 한정된 크기로 원하는 동작을 해야하기 때문에, 쉘 코드의 머신 코드 일부분은 패턴 매칭 될 가능성이 상당히 높다.

 

매크로 포함 여부

매크로는 MS 오피스에서 제공하는 기본 기능으로, 업무 자동화를 위해 사용될 수 있으나 악성 행위에도 자주 활용되는 특성이 있다.

이러한 이유로 매크로를 포함하고 있는 문서는 악성 행위를 할 가능성이 있는 문서라고 할 수 있다.

중요한 점은, 매크로가 있다고 반드시 악성 파일은 아니라는 점을 확실히 알아야 한다는 것이다.

 

DDE/DDEAUTO 포함 여부

DDE는 윈도우의 응용프로그램 간 실시간 데이터 공유를 위해 고안된 기술로, 일련의 명령을 실행할 수 있다.

이 DDE는 Office 프로그램 간 데이터 공유에 상당히 유용하며, 문서 작성에 도움이 된다.

DDEAUTO 함수는 이 정보 동기화에 사용하는 용도다.

문제는 DDEAUTO 함수가 시스템에 기존 설치되어 있는 명령어를 실행할 수 있다는 점이며, 공격자는 이를 이용해 DDE로 악성 행위를 명령할 수 있는 허점이 존재한다.

 

 

악성 Office 문서 식별 실습

실습 과정에는 KISA에서 제공한 악성 Office Word 문서를 받아 진행하였다.

malicious-a1029767 문서를 분석해보자.

 

해당 파일의 포맷은 zip 파일로 압축되어 있음을 확인했다.

즉, 해당 문서는 OOXML 포맷으로 되어 있으며, 내부에 파일 구조가 존재함을 알 수 있다.

 

Oledump를 이용하여 해당 파일을 분석한 결과, word/vbaProject.bin이 존재함을 확인할 수 있었다.

이 존재로 인해, 해당 문서는 매크로가 존재하는 문서임을 알 수 있다.

python [oledump.py PATH] -a -v [document PATH]

실제로, VBA 폴더 하위로 매크로가 있는 것을 확인할 수 있다.

 

해당 문서는 OOXML 포맷이므로, 압축 해제를 통해 그 내용을 추출할 수 있다.

임시 폴더를 하나 생성 후, 거기에 압축 해제를 한다.

 

앞서 문서를 분석하였을 때, 매크로의 존재를 확인했었다.

VBA 스크립트 위치로 이동하여 해당 매크로가 존재하는지 확인하고, 이에 해당하는 것을 알 수 있다.

 

해당 문서는 악성 문서임을 확인할 수 있다.


다른 문서를 확인해보자. malicious-ea677003.doc 문서다.

 

해당 파일의 포맷은 zip 파일로 압축되어 있음을 확인했다.

즉, 해당 문서는 OOXML 포맷으로 되어 있으며, 내부에 파일 구조가 존재함을 알 수 있다.

 

Oledump를 이용하여 해당 파일을 분석한 결과, word/vbaProject.bin이 존재함을 확인할 수 있었다.

이 존재로 인해, 해당 문서는 매크로가 존재하는 문서임을 알 수 있다.

 

해당 문서는 악성 문서임을 확인할 수 있다.