한글 문서에 포함된 매크로 악성코드 분석
1. 개요
한글 문서의 스크립트 매크로 기능은 사용자가 정의하는 키보드와 마우스 동작을 특정 단축키에 기록하여 매크로로 이용할 수 있는 기능이다. 악성코드 제작자는 이 기능을 악용하여 조작된 HWP 파일을 피싱 메일을 통해 유포하고, 사용자가 조작된 한글 문서를 열람할 때 악성코드가 실행되도록 만든다.
이번 보고서에서는 한글 문서에 포함된 매크로 악성코드에 대해 알아본다.
2. 한글 문서의 스크립트 매크로 기능
한글 프로그램에서 사용자가 정의한 매크로는 ‘도구 탭 – 매크로 - 스크립트 매크로 정의’에서 코드 편집이 가능하다.
[그림 1] 스크립트 매크로 코드 창
Document 내용에 코드를 작성하면 한글 문서를 열람할 때 스크립트가 실행된다. 이렇게 매크로 스크립트가 삽입된 한글 문서를 사용자가 열람할 때, 스크립트 매크로 실행 여부를 확인하는 알림 창이 뜬다.
[그림 2] 스크립트 매크로 실행 여부 알림 창
3. 스크립트 매크로 기능을 악용한 악성 한글 문서
최근 발견된 스크립트 매크로 기능을 악용해 악성 스크립트를 실행하는 한글 문서의 경우, 해당 악성 한글 문서의 스크립트 코드 창을 확인해보면 파워쉘을 이용해 Base 64로 인코딩된 악성 스크립트를 실행하게 되어있다.
[그림 3] 악성 코드가 삽입된 스크립트
이때, 파워쉘의 실행 창은 화면에 보이지 않도록 숨김 속성으로 설정되어 실행된다.
[그림 4] PowerShell을 이용한 악성 스크립트 실행
옵션 |
내용 |
-noP |
PowerShell 프로필을 로드하지 않는다. |
-sta |
Powershell 명령을 시스템의 단일 스레드로 시작한다. |
-w 1 |
Powershell이 백그라운드에서 명령을 실행하고 Powershell 실행창을 숨긴다. |
-enc |
Base64로 인코딩 된 명령이 해독되어 코드를 실행한다. |
[표 1] 커맨드 라인 설명
복호화 된 코드의 내용을 보면, 먼저 파워쉘의 보안 기능을 우회한다. 파워쉘 내에서 실행되는 스크립트를 감사할 수 있는 파워쉘 스크립트 블록 로깅 기능을 비활성화시키고, 악성코드의 탐지를 도와주는AMSI(antimalware scan interface) 기능을 우회한다.
[그림 5] 보안 기능 우회
이후 원격지에 접속해서 추가 악성 파일을 다운로드 시도한다. 현재 분석시점에서는 해당 원격지와 연결이 정상적으로 이루어지지 않는다.
[그림 6] 추가 악성코드 다운
4. 결론
이번 보고서에서는 매크로 기능을 악용해 삽입된 악성 스크립트를 실행하는 한글 문서에 대해 알아보았다. 사용자는 출처를 알 수 없거나 의심스러운 스크립트가 포함된 한글 문서를 열람할 때, 스크립트 매크로 실행 여부 확인 창이 뜨면 ‘취소’를 선택하고, 한글 프로그램의 ‘메뉴 탭 – 도구 – 스크립트 매크로 보안 설정’에 들어가서 스크립트 매크로 보안 설정을 ‘매우 높음’ 으로 설정하는 것이 안전하다. 또한 백신 제품을 설치하고 최신 업데이트 버전으로 유지해야 한다.
상기 악성코드는 잉카인터넷 안티바이러스 제품 TACHYON Internet Security 5.0에서 진단 및 치료가 가능하다.
[그림 7] 스크립트 매크로 보안 설정
[그림 8] TACHYON Internet Security 5.0 진단 및 치료 화면
'분석 정보 > 악성코드 분석 정보' 카테고리의 다른 글
[악성코드 분석]트위터 이미지 이용한 악성 프로그램 감염 주의 (0) | 2019.01.07 |
---|---|
[악성코드 분석]사용자 로그인 계정 정보를 탈취하는 악성코드 감염 주의 (0) | 2018.12.26 |
[악성코드 분석]경고 메시지 없이 실행되는 MS 워드 비디오 삽입 취약점 주의 (0) | 2018.11.12 |
[악성코드 분석] KONNI Malware의 변종으로 알려진 NOKKI Malware 주의 (0) | 2018.10.24 |
[악성코드 분석]유명 게임 치팅 프로그램으로 위장한 악성파일 유포 주의 (0) | 2018.10.18 |