본문 바로가기

공지사항

이스트시큐리티 소식을 알려드립니다.

비트코인 관련 내용으로 진행 중인 스피어피싱 공격 주의

보안공지 2017-07-05

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

최근 비트코인 등과 관련된 내용으로 악성파일이 여럿 유포된 정황이 포착되어 이용자 분들의 주의를 당부드립니다.


악성파일은 이메일에 첨부되어 특정인을 대상으로 한 이른바 스피어피싱(Spear Phishing) 공격 기법이 사용되었습니다. 공격에는 DOCX 문서와 HWP 문서 등에 삽입된 EPS(Encapsulated PostScript) 개체의 보안취약점을 이용하고 있습니다.

 

첫번째로 DOCX 악성문서를 악용한 사례입니다.

 


[그림 1] 악성 DOCX 문서가 실행된 후 보여지는 화면

 

DOCX 악성 문서의 word/media 하위 경로에 'image1.eps' 파일이 포함되어 있습니다. EPS(Encapsulated PostScript)는 Adobe 포스트스크립트 언어에서 사용하는 그래픽 파일 포맷으로 캡슐화된 형태를 통해 특정 개체내에 삽입이 가능합니다.

 


[그림 2] DOCX 내부에 악성 포스트스크립트가 삽입되어 있는 화면


악성 포스트스크립트는 4바이트의 특정 코드로 XOR 암호화가 되어 있으며, 복호화가 이뤄지면 명령어들을 육안으로 확인할 수 있게 됩니다.



[그림 3] 포스트스크립트 암복호화 비교 화면

 

복호화된 스크립트 내부에는 'shellcode32', 'shellcode64' 와 'payload32', 'payload64' 코드 부분이 포함되어 있습니다. 실제 EXE 파일은 'payload32', 'payload64' 부분으로 32비트용과 64비트용 코드가 하드코딩되어 있는 것을 확인할 수 있습니다.

 


[그림 4] 스크립트 내부에 포함된 EXE 코드 화면

 

내부에 포함된 악성파일은 다음과 같이 해외의 특정 명령제어서버(C2) 호스트로 암호화 통신을 시도합니다.

 

- 211.149.156.207 Port:443 (중국)

- 211.154.145.27 Port:443 (중국)

- 66.218.35.215 Port:443 (미국)

 


[그림 5] 명령제어(C2) 서버 코드 화면


더불어 보안 모니터링 등을 우회하기 위해 SNI(Server Name Indication) 값을 다음과 같은 도메인 중 하나로 사용하게 설정합니다. 이는 공격자가 명령제어서버(C2)와의 통신 트래픽 패킷이 마치 정상적인 사이트로 접속하는 내용처럼 조작하기 위해 사용합니다.

 


[그림 6] SSL 통신할 때 위장하기 위해 사용하는 SNI 도메인 화면


지금까지는 DOCX 악성문서 형태의 사례를 살펴보았습니다.

다음으로는 HWP 악성문서를 기반으로 한 형태로서, 2017년 6월 초에 금융감독원 사칭으로 비트코인 거래 업무를 보는 법인대표를 상대로 스피어피싱이 공격됐던 유형입니다.



[그림 7] 금융감독원 메일로 사칭해 사용된 공격 화면


이메일에 첨부되어 있는 악성 HWP 문서가 실행되면 다음과 같이 마치 금융감독원에서 작성한 내용처럼 위장하여 수신자를 현혹하게 됩니다. 특히, 공격 대상자는 실제 비트코인 거래 분야와 관계된 사람들이며, 지속적 공격을 수행하고 있으므로, 각별한 주의가 필요합니다. 



[그림 8] 금융감독원 내용으로 사칭한 악성 HWP 문서의 실행화면


해당 HWP 문서파일도 동일하게 'BIN0002.PS'  코드내부에 포스트스크립트 코드가 포함되어 있습니다. HWP 문서의 경우 zlib로 압축되어 있기 때문에 포스트스크립트가 바로 보여지진 않습니다.



[그림 9] 악성 HWP 문서 내부에 포함된 포스트스크립트 코드 화면


압축된 Zlib 코드를 해제하면 다음과 같이 내부에 포스트 스크립트가 포함된 것을 확인할 수 있습니다.


[그림 10] 'BIN0002.PS' 코드 부분 Zlib 압축 전후 비교 화면


압축을 해제한 코드 내부를 살펴보면, 포스트스크립트 명령에 의해 악성 EXE 파일을 생성하고, 시작프로그램에 'Android.exe' 파일명으로 등록하는 것을 알 수 있습니다. 시작프로그램에 등록되기 때문에 재부팅할 때 감염활동을 시작하게 됩니다.



[그림 11] 악성 스크립트 명령에 의해 생성되는 'Android.exe' 파일과 시작프로그램 등록 화면


악성 'Android.exe' 파일은 분석 및 탐지를 방해하기 위해 VMProtect 프로그램으로 패킹이 되어 있습니다. 해당 코드는 앞서 설명한 DOCX 유형의 파일과 명령제어서버(C2) 주소는 다르지만 명령을 수행하는 코드는 100% 동일함을 알 수 있습니다.


[그림 12] HWP 악성파일이 통신을 시도하는 명령제어(C2) 코드 화면


- 211.161.153.131 Port:443 (중국)

- 107.151.199.160 Port:443 (미국)

- 211.149.170.108 Port:443 (중국)


또한, SNI(Server Name Indication) 값을 다음과 같은 도메인 중 하나로 사용하게 설정하는데, 이는 DOCX 사례와 100% 동일하며, 두 사례 경우 모두 비트코인 도메인을 포함하고 있는 특징이 존재합니다.



[그림 13] SSL 통신할 때 위장하기 위해 사용하는 SNI 도메인 화면

 

DOCX 문서에 의해 생성된 EXE 악성파일과 HWP 문서에 의해 생성된 EXE 악성파일의 주요 함수를 비교해 보면 100% 동일한 루틴으로 제작된 것을 확인할 수 있으며, 이는 과거 2014년 미국 소니픽쳐스 공격에 이용된 악성파일 시리즈들과도 매우 유사한 부분입니다.

 


[그림 14] DOCX 파일과 HWP 파일에 의해 생성된 악성 EXE 파일의 함수 비교 화면

 

이처럼 최근에 비트코인과 관련된 스피어피싱 공격이 다수 발견되었으므로, 의심스러운 메일을 수신할 경우 각별한 주의가 필요합니다.


현재 알약 제품에서는 관련 악성파일을 'Exploit.HWP.Agent', 'Trojan.Downloader.DOC.gen', 'Backdoor.Agent.233472', 'Trojan.Agent.801280C' 등으로 진단 및 치료하고 있습니다.