포스팅 내용

악성코드 분석 리포트

문서파일 취약점을 활용한 파일리스(Fileless) 악성코드의 스텔스 위협



안녕하세요? 이스트시큐리티 시큐리티대응센터(ESRC)입니다.


며칠 전 국내 특정 기관에서 공지한 '북한 2018년 신년사 분석' 내용으로 사칭한 HWP 취약점 기반 악성파일이 발견되었습니다.


수년 전부터 유사한 형태의 스피어 피싱(Spear Phishing) 추정 공격이 지속적으로 발견되고 있으므로, 이용자분들의 각별한 주의가 요망됩니다.



[그림 1] 북한 2018년 신년사 분석으로 위장한 악성파일 실행 화면



해당 문서파일 포맷 내부에는 밀봉형 포스트스크립트(Encapsulated PostScript)인 'BIN0004.eps' 데이터가 포함되어 있습니다.


기본적으로 HWP 문서파일은 zlib 공개 압축 라이브러리를 사용하고 있는데, 압축된 부분을 해제하면 아래 비교화면과 같이 내부의 코드를 확인할 수 있습니다.


Hwp Documnet File Formats 5.0



[그림 2] 'BIN0004.eps' 데이터 zlib 압축 전후 비교 화면



압축을 해제한 EPS 코드를 분석해 보면 Shellcode 부분과 PostScript 명령이 조합된 것을 확인할 수 있습니다.



[그림 3] EPS 파일 내부에 포함되어 있는 Shellcode 화면



Shellcode 하단 부분에는 암호화되어 있던 C2 도메인 주소가 포함되어 있으며, 복호화가 완료되면 다음과 같은 한국의 특정 웹 사이트에 등록된 PNG 형식의 파일을 로드하게 됩니다.



접속 주소 : 60chicken.co.kr/wysiwyg/PEG_temp/logo1.png



[그림 4] Shellcode 내부에 은밀하게 숨겨져 있는 명령제어서버



실제 해당 서버로 접속해 보면 아래 화면의 적색 화살표가 지시하고 있는 것처럼 PNG 포맷을 가지고 있는 이미지 파일을 확인할 수 있습니다. 물론, 특별한 이미지 내용을 보여주고 있지는 않습니다. (현재는 제거된 상태)



[그림 5] 실제 이미지 포맷을 가지고 있는 PNG 파일



하지만 해당 PNG 포맷 내부에는 일종의 스테가노그래피(Steganography) 기법과 같이 악의적인 Shellcode 명령어가 은밀히 포함되어 있습니다.



[그림 6] PNG 포맷 내부에 숨겨져 있는 Shellcode 화면



이미지 포맷에 포함되어 있던 Shellcode 데이터는 쓰레드를 생성해 특정 메모리 함수로 맵핑되지만, 로컬에 별도의 파일로 생성되지는 않습니다.



[그림 7] Shellcode 메모리 로드 화면



Shellcode 명령어가 메모리에 로드되면 다음과 같은 복호화 루틴에 의해 코드 내부에 암호화되어 있던 데이터 영역이 복호화되어 실행됩니다.


실제 로컬에는 파일이 생성되지 않고 바로 메모리에 맵핑되기 때문에 파일리스(Fileless) 기반의 악성프로그램으로 작동하게 됩니다.



[그림 8] 복호화 루틴에 의해 메모리에 로드되는 EXE 악성코드 화면



로딩되는 PE구조의 EXE 악성파일은 2018년 01월 02일 오전 11시 35분(KST)에 제작되었으며, 분석환경에서 실행되지 않도록 'Anti-VM' 기능을 보유하고 있습니다.



[그림 9] Anti-VM 기능 코드 화면



보통 파일리스(Fileless) 기반의 공격은 일회성 페이로드의 휘발성 성격을 띄게 됩니다. 따라서 공격자는 환경조건 및 설정에 따라 추가 명령을 내려 또 다른 파일을 생성하게 됩니다.


악성파일은 기본적으로 해외의 특정 클라우드 서비스 등에 접속해 공격자의 추가 명령을 받게 되며, 파일리스(Fileless) 기반의 공격은 보통 신규 악성파일이 맞춤형으로 추가 다운로드되어 실행되는 과정을 거치게 됩니다.


아래는 공격자의 명령에 따라 유입되어 실행될 수 있는 파일들 입니다.



- ADI.bin

- DDI.bin

- ADX.enc

- DDX.enc

- ERSP.enc



그런데 여기에 사용된 공격 파일 중 지난 2017년 04월 국내에 다수 유포된 바 있었던 '홍준표의 「당당한 안보외교통일 구상」.hwp' 악성파일 시리즈의 경우도 거의 동일한 형태의 공격코드를 가지고 있었습니다.


또한, 다음과 같은 PDB 경로를 가지고 있으며, 다수의 변종이 보고된 바 있는데, 주로 한국의 특정 기관 및 대북단체 등에 대한 표적공격에서 발견이 됩니다.



D:\HighSchool\version 13\First-Dragon(VS2015)\Sample\Release\DogCall.pdb



해당 스피어 피싱(Spear Phishing) 공격은 19대 대통령선거와 관련된 내용으로 여러 기관 등에 유포된 바 있었고, 일부 선거캠프 트위터에서는 주의 안내 공지를 올린 바 있습니다.



[그림 10] 스피어 피싱 이메일 주의 안내 트위터



당시 발견됐던 'ERSP.enc' 파일은 하드디스크의 마스터 부트 리코드(MBR) 영역을 파괴하는 기능을 가진 것이 확인된 바 있는데, 이 파일의 약어가 'Eraser Partition'으로 추정되고 있습니다.



[그림 11] 물리드라이브 파괴 기능을 수행하는 코드 화면



악성코드 분석가 들의 가상환경이 부합되어 파괴동작 코드가 동작하면 다음과 같이 1분내 운영체제가 강제종료되도록 진행되고, 'Are you Happy?' 라는 문구를 재부팅할 때 출력하게 됩니다.


이러한 방식은 2014년 11월 국내 전력기관을 공격하던 때와도 유사한 점이라 할 수 있습니다.



[그림 12] VMwre 환경에서 강제종료 및 MBR 파괴 후 보여지는 메시지 화면



이처럼 공격자는 이전부터 다양한 HWP 취약점을 이용한 공격을 수행하고 있습니다.


현재 악용되는 고스트 스크립트 기반 취약점은 이미 해당 문서 소프트웨어의 최신 버전에서 취약점이 제거된 보안업데이트가 제공되고 있는 상태입니다.


이용자분들은 반드시 최신 버전으로 업데이트하여 사용해 주시길 당부드리며, 파일리스(Fileless) 기반의 지능적 보안위협에 노출되지 않도록 각별한 주의가 필요합니다.


공격자들은 신뢰할 수 있는 지인이나 협력업체를 우선 공격해 거점을 만든 후 실제 주고받던 메일의 회신으로 사칭한 공격을 수행하는 경우도 있으므로, 첨부파일이 있는 경우 항상 의심하고 주의하는 것이 좋습니다.


현재 알약에서는 이번 해킹 공격에 사용된 악성 문서를 ‘Exploit.HWP.Agent’ 등으로 탐지하고 있습니다.

 

또한 스피어피싱 피해를 예방하기 위한 ‘보안 수칙 3선’을 권고 드립니다.



<스피어피싱 피해 예방 보안 수칙 3선>

1. 출처가 불분명한 이메일의 첨부 파일은 절대 열지 않는다.

: 출처를 알 수 없는 이메일의 첨부 파일은 열람을 지양하고, 확인이 필요한 경우 미리보기 기능을 이용해서 문서를 확인하는 것이 안전합니다.

 

2. 사용중인 문서작성 프로그램의 보안업데이트를 항상 최신으로 유지한다.

: 정상적인 문서 파일로 위장하였으나, 실제로는 문서 파일의 취약점을 악용한 악성 파일이 빈번히 발견되고 있습니다.


3. 알약 등 신뢰할 수 있는 백신을 사용하고, DB업데이트 상태를 최신으로 유지한다.

: 백신프로그램과 함께 취약점 공격에 대비한 보안솔루션을 함께 설치하면, 해킹 공격으로부터 더욱 안전하게 사용자PC를 지킬 수 있습니다.






티스토리 방명록 작성
name password homepage