본문 바로가기

벌새::Analysis

바이너리(Binary)가 포함된 JavaScript 파일을 이용한 Locky 랜섬웨어 유포 (2016.7.24)

반응형

메일을 통해 감염을 유발하는 Locky 랜섬웨어(Ransomware)는 지금까지 첨부된 JavaScript 파일(.js), MS Word 문서(.doc / .docm), Windows 스크립트 파일(.wsf)을 실행 시 웹 서버에서 악성 파일을 다운로드하여 동작하는 구조였습니다.

 

 

그런데 최근에 첨부된 JavaScript 파일(SHA-1 : 153d4cc2da095967f8a60f3ae0f015ff40bbffd4 - 알약(ALYac) : Trojan.JS.Agent.MJE)의 경우에는 코드 내부에 바이너리(Binary) 코드가 추가되어 추가적인 다운로드없이 파일 암호화가 진행되도록 변경된 부분이 확인되었기에 살펴보도록 하겠습니다.

 

 

"Financial statement" 제목으로 수신된 메일에는 ZIP 압축 파일 내에 기존과 마찬가지로 JavaScript 파일(.js)이 동봉되어 있으며, 사용자가 실행 시 "C:\Windows\System32\wscript.exe" 시스템 파일(Microsoft Windows Based Script Host)을 통해 내부 코드를 실행하도록 구성되어 있습니다.

 

 

그런데 JavaScript 파일(.js)의 난독화된 코드를 확인해보면 내부에 Base64로 인코딩된 바이너리(Binary) 코드가 포함되어 있는 것을 확인할 수 있으며, 해당 코드를 확인해보면 EXE 실행 파일임을 알 수 있습니다.

 

 

내부 코드를 추출하여 파일 속성값을 확인해보면 "Yahoo! Widgets" 파일(SHA-1 : f32c124e8bfd1478e1b55a398e2b6ea3735a1fde - Trend Micro : Ransom_LOCKY.DLXFV)로 등록된 실행 파일임을 알 수 있지만, 사용자가 파일을 실행할 경우에는 정상적으로 실행되지 않도록 실행 변수가 필요한 상태임을 알 수 있습니다.

 

 

실제 감염 방식으로 JavaScript 파일(.js) 실행을 통해 재현해보면 임시 폴더(%Temp%) 영역에 추출한 파일과 동일한 "C:\Users\%UserName%\AppData\Local\Temp\wfbBHGRBGzuOf.exe (SHA-1 : f32c124e8bfd1478e1b55a398e2b6ea3735a1fde - Trend Micro : Ransom_LOCKY.DLXFV)" 파일을 생성하며, 추가적으로 XOR 암호화된 "C:\Users\%UserName%\AppData\Local\Temp\wfbBHGRBGzuOf.exe.bin (SHA-1 : aa5f49dbf195261cddc09e3d514d204f6f2af66c - Microsoft : Ransom:Win32/Locky)" 파일을 함께 생성합니다.

 

JavaScript 파일(.js)에서 드랍(Drop)된 파일은 ["C:\Users\%UserName%\AppData\Local\Temp\wfbBHGRBGzuOf.exe" 321] 실행 변수를 추가하여 실행되도록 구성되어 있습니다.

 

이를 통해 "194.1.236.126/upload/_dispatch.php" C&C 서버와 정상적으로 통신이 이루어질 경우 키교환을 통해 파일 암호화가 진행됩니다.

 

Locky 랜섬웨어(Ransomware)에 의해 암호화된 파일은 랜덤(Random)한 파일명과 .zepto 파일 확장명이 포함된 형태로 변경되며, 금전을 요구하는 _(숫자)_HELP_instructions.html / _HELP_instructions.bmp / _HELP_instructions.html 메시지 파일을 다수 생성합니다.

 

 

또한 파일 암호화 완료 단계에서는 바탕 화면 배경을 "C:\Users\%UserName%\Desktop\_HELP_instructions.bmp" 그림 파일로 변경합니다.

 

파일 암호화 마지막 단계에서는 암호화 행위를 수행한 악성 파일 흔적을 제거할 목적으로 "C:\Users\%UserName%\AppData\Local\Temp\wfbBHGRBGzuOf.exe" 파일을 랜덤(Random)한 임시 파일(.tmp)로 변경한 후 [cmd.exe /C del /Q /F "C:\Users\%UserName%\AppData\Local\Temp\sys580C.tmp"] 명령어를 통해 자동 삭제합니다.

 

위와 같이 JavaScript 파일 내부에 바이너리(Binary) 코드를 추가함에 따라 외부 서버에 업로드된 EXE 파일을 추가 다운로드하지 않아도 감염이 이루어질 수 있도록 감염 성공률을 높였습니다.

 

■ .zepto 파일 확장명으로 암호화하는 Locky 랜섬웨어(Ransomware) 대응 방법

 

 

Locky 랜섬웨어(Ransomware)의 감염 방식과 상관없이 .locky / .zepto 파일 확장명으로 암호화하는 Locky 랜섬웨어 변종에 대하여 AppCheck 안티랜섬웨어는 암호화 행위 차단/제거 및 일부 암호화된 파일도 자동 복원까지 지원하고 있으므로 백신에서 차단하지 못하는 변종이 있을 수 있다는 점에서 함께 사용하여 피해를 입지 않도록 하시기 바랍니다.

728x90
반응형