안랩 분석팀은 11월 16일(금) 악성 매크로 스크립트를 포함하고 있는 신규 한글 HWP 파일을 수집하였다. 최근 지속해서 발견되고 있는 악성 한글 파일이 EPS를 이용하고 있는 상황에서, 이번 한글 파일은 매크로 스크립트 방식을 다시 이용 하였다는 점이 독특하다. 매크로 스크립트를 포함한 악성 한글 파일은 2007~2008년에 유행하였다가 2015년에 다시 발견되는 등 비정기적으로 수집되고 있는데, 향후 이와 같은 방식의 한글 파일이 다시 많아질지 주목할 필요가 있다.


[문서 정보]

- 생성 날짜: 2018년 11월 8일 목요일 오전 12:21:49

- 작성자: st454


제작자는 한글 문서를 실행했을 때 악성 스크립트가 바로 실행되도록 OnDocument_Open( ) 부분에 자바스크립트(JavaScript) 코드를 삽입하였다. 한글 프로그램에서도 해당 스크립트 코드를 볼 수 있는데, 이는 파일 구조상 Scripts 스토리지의 DefaultJScript 스트림에 위치한다. 이 파일은 zlib 으로 압축되어 있으며 압축 해제 시 코드를 확인할 수 있다.


악성 한글 문서 본문 내용

한글 프로그램에서 편집할 수 있는 매크로 코드

파일 내 매크로 코드 바이너리 (좌: 바이너리 스트림 / 우: 압축 해제 후)

매크로 스크립트가 실행되면 파워쉘(powershell) 프로세스가 실행되는데, 인코딩된 Base64 커맨드를 통해 수행하고자 하는 악성 행위를 전달한다. 아래 화면은 실행되는 파워쉘 명령으로 다음과 같은 4가지 기능을 수행하도록 하였다. 


Command line: powershell.exe -noP -sta -w 1 -enc  SQBmACgAJABQAFMAVgBFAFIAcwBJAG8AbgBUA.... (생략)



[파워쉘 커맨드의 악성 행위]

  • Powershell ScriptBlock Logging 기능 OFF
  • Proxy 설정하여 웹 접속
  • 지정된 User-Agent 와 세션 쿠키 정보를 포함하여 특정 주소 (http://내부주소/login/process.php) 에 접속 
  • 접속 후 받은 파일을 복호화한 후 IEX (Invoke Expression) 실행

그룹 정책으로 관리되는 파워쉘 커맨드의 스크립트의 로깅을 우회하고 최종 페이로드를 수행하기 위한 목적으로, 이미 비슷한 코드가 ScriptBlock Logging Bypass 등의 이름으로 GitHub 등에 공개되어 있다. 2018년 2월 평창올림픽을 대상으로 한 공격에 사용된 악성코드 중에서도 이와 같은 파워쉘 코드가 존재하였다. 다만 이번에 수집된 한글 파일은 실행되는 파워쉘 커맨드가 접속하는 웹 주소가 로컬 IP이고 문서 내용이 'ㅁㅁㅁ' 에 그치는 점을 미루어 보았을 때 테스트 목적으로 제작하였을 가능성이 높다. 


안랩에서는 악성 매크로 스크립트를 포함하고 있는 한글파일을 다음과 같이 진단하고 있다. 

- SHA2: 645f9c9cf41aefa864f89593acee46c0b32117867585090298fbbac2d7f17d23

- V3 진단: Dropper/Exploit-HWP (2018.11.17.00)


또한 한글 프로그램에서는 매크로 스크립트를 포함하고 있는 문서 파일을 실행하였을 때 기본적으로 스크립트를 바로 실행하지 않고 [도구-매크로-스크립트 매크로 보안 설정] 에 따라 실행 확인 절차를 포함하고 있다. 사용자는 의심스러운 한글 문서 파일일 경우 다음과 같은 메시지 창이 떴을 때 이를 실행하지 않아야 한다.


한글 프로그램의 스크립트 실행 확인

Posted by 분석팀