지난 614Trickbot 악성코드가 악성 스팸메일 형태로 국내로 유포되고 있음을 안랩의 악성코드 위협 분석 및 클라우드 진단 시스템인 ASD(AhnLab Smart Defense)에서 확인되었다. Trickbot 201610월 국외에서 처음 발견, 보고되었다. 주로 호주, 독일, 영국, 북미지역 내 은행 및 결제 시스템 금융정보를 탈취하는 악성코드로 감염된 상태로 온라인 뱅킹 이용 시 입력한 정보가 은행이 아닌 다른 곳으로 유출 될 수 있다.

 

[그림 1] Trickbot 동작 과정

Trickbot 악성코드는 DOC 내의 다운로드 기능을 가지고 있는 매크로를 통해 감염된다.

[그림 2] 악성 매크로 일부 (암호화된 PE 다운로드 URL)

문서 파일을 실행 시 매크로 실행을 통해 특정 URL에 접근을 하여 암호화된 PE%temp%\kkloepp8 경로에 다운로드 한다. 다운로드 URL은 변형 마다 다른 값을 가지고 있다.

접속 주소

http://sa*****li.com/dfg4g4

http://78****************tm.net/af/dfg4g4

http://e6*************md.org/af/dfg4g4

http://st***************ia.com/dfg4g4

[1] 암호화된 PE 다운로드 주소

다운로드 된 암호화된 PE는 복호화 후 %temp%\proshuto8.exe로 저장하고 실행 한다.

Trickbot 악성 코드는 %appdata%\winapp 경로에 자신과 동일한 파일을 파일명을 시저 암호화 방법으로 생성하고 실행한다.

- %appdata%\winapp\qsptivup9.exe

 

그 후 작업 스케줄러에 등록하여 지속적으로 파일이 실행 되도록 설정한다.

[그림 3] 작업 스케줄러 등록

C2 연결을 통해 아래의 구성 파일들을 추가 생성한다.

생성 파일

%appdata%\winapp\cliend_id

%appdata%\winapp\group_tag

%appdata%\winapp\config.conf

%appdata%\winapp\Modules\systeminfo32

%appdata%\winapp\Modules\injectDll32

%appdata%\winapp\Modules\injectDll32_configs\dinj

%appdata%\winapp\Modules\injectDll32_configs\dpost

%appdata%\winapp\Modules\injectDll32_configs\sinj

[2] Trickbot이 생성한 파일

 

각 구성 파일의 기능은 아래와 같다.

구성 파일

기능

client_id

사용자 정보와 식별 값(ComputerName + OS Version + RanndomString 32)이 저장 되어 있다

group_tag

내부 데이터 (config.conf)gtag 태그에 위치한 값(mac1)이 저장되어 있다.

config.conf

Trickbot의 설정 파일로 암호화 되어 저장된다. Trickbot 버전, group_tag, C&C IP 등의 정보가 포함되어 있다.

systeminfo32

PC 의 시스템 정보를 수집하는 모듈로 암호화 되어 저장 되어있다. 윈도우    버전, CPU 타입, RAM, 사용자 계정, 설치된 소프트웨어, 서비스 목록 등을 수집하여 저장한다.

injectDll32

웹브라우저에 인젝션 되는 모듈로 인터넷 뱅킹을 모니터링 하고, 정보를 탈취 하는 기능을 가지고 있다.

dinj / sinj

injectdll 의 설정 파일로 공격 대상(온라인뱅킹)에 대한 정보를 저장하고 있다.

dpost

탈취한 정보를 전송할 IP 주소를 저장하고 있다. (http://91.206.4.216:8082)

해당 IP는 변형 마다 다른 값을 가지고 있다.

                                       [표 3] Trickbot 생성 파일 기능 정리

[그림 4] 공격 대상 정보가 포함된 dinj, sinj

Trickbot 악성코드는 공격 대상의 뱅킹 사이트에서 입력한 값을 공격자에게 전송하도록 하여 금융정보를 탈취한다.

 

현재 V3에서 Trickbot 은 다음 진단명으로 진단하고 있다.

- Trojan/Win32.Trickbot (2017.06.14.03)

저작자 표시 비영리 변경 금지
신고
Creative Commons License
Creative Commons License
Posted by cka5

우리말로 덩굴옻나무로 해석되는 Poisonivy는 정상 원격제어 프로그램으로 2005년부터 제작되었으며 서버 생성과 원격제어 기능을 가지고 있는 클라이언트를 생성한다. 200811월까지 업데이트가 되었으며 현재는 개발이 중단된 상태이다. 하지만 Poisonivy 제작자의 의도와는 다르게 뛰어난 기능 및 편리한 플러그인 설치 기능으로 인해 악의적인 목적으로 많이 사용되고 있다.

[그림-1] Poison Ivy 제작자 홈페이지 (현재는 폐쇄)

Poisonivy를 이용한 주요 공격 사례는 다음과 같다.

일시

내용

2008

해외 금융 서비스 업계

2009

미국 및 해외의 방위산업 계약자

20113

EMC RSA 해킹

2011

The Nitro Attacks

2012

Molerats (aka Gaza Hackers Team)에서 이스라엘 정부 공격

20172

몽골 정보 기관 공격

[-1] Poisonivy를 이용한 공격 사례


2008년도 경 해외 금융 서비스 업계 공격에 사용된 정황이 가장 먼저 확인되었으며 2009년에는 방위산업에 가담하고 있는 업체들 컴퓨터에서 Poisonivy가 발견되었다.

공격자에게 유용한 RAT(Remote Administration Tool)로 전세계에 이름을 알리게 된 것은 2011 3 EMC RSA가 해킹되어 OTP 생성 소스 코드가 유출된 사건이었다. 공격에 사용된 샘플은 2011 8월 핀란드 F-시큐어 블로그에 공개되었다. 기본적으로 문서 파일 취약점을 이용해 취약점이 존재하는 시스템에서 문서를 열어 볼 때 Poisonivy 백도어를 설치했다. 훔친 OTP 정보를 바탕으로 2011 5월 록히드마틴(Lockheed Martin) 내부 시스템에 접속해 정보를 유출했다. 2011 10월 미국 시만텍이 공개한 니트로 공격(The Nitro Attacks)과 2017년 2월 몽골 정보기관 공격에도 Poisionivy는 사용되었다.

 

특징

Poisonivy 서버 파일의 크기는 6~10KB 정도로 작은 게 특징이다. 크기가 이렇게 작은 이유는 서버가 어셈블리로 제작되었으며 주요 기능은 파일로 존재하지 않고 클라이언트에 접속 후 메모리에만 다운로드한다. 원격제어 기능만 보면 다른 프로그램과 크게 차이가 없지만 Poisonivy가 인기 끄는 이유는 모듈화, 스레드, 확장 기능으로 생각된다.

 

[그림-2] 인터넷 익스플로러 메모리에 삽입된 Poisonivy

서버를 생성할 때 실행 파일 이외에 쉘코드(shellcode) 형태로도 존재한다. 쉘코드는 C, 델파이, 파이썬 등으로 만들 수 있다. 쉘코드 형태로 제작해 스크립트 형태로 실행할 경우 화이트 리스트 기반 보안 제품도 우회할 수 있다.

 

기능

피해자의 컴퓨터에 설치할 프로그램을 빌드 할 때 레지스트리 Run 키 이름, 복제 위치(System 경로 or Windows 경로), 자가 삭제 기능 등을 설정할 수 있다.

[그림-3] 빌드 초기 설정

악성코드가 실행되면 스레드(Thread)로 동작하며 시스템 폴더나 윈도우 폴더에 복사 한 뒤 설정에 따라 원본 파일을 삭제하고 레지스트리에 등록한다.

[그림-4] 초기 설정 코드(파일 복사 및 파일 삭제)

설정에 따라 기본 브라우저나 자기 자신 또는 원하는 프로세스에 인젝션을 할 수 있다. 일반적으로는 시스템의 기본 브라우저를 찾아 해당 메모리 영역에 악성코드를 삽입한다.

[그림-5] 기본 웹 브라우저 확인 후 인젝션

이후 필요한 나머지 기능은 네트워크를 통해 받아 메모리에서 동작한다.

 

[그림-6] 주요 기능 및 시스템 정보 획득

Poisonivy의 주요 기능이다. 아래에 표로 내용을 정리하였다

주기능

세부 기능

제어

파일 삭제 및 복사, 레지스트리 등록 및 삭제, 프로세스 정보 획득 및 종료, 서비스 삭제 및 등록, 디바이스, 정보 획득, 실행창 정보 획득

도구

포트스캔, 리모트 쉘 실행, 저장된 암호 유출

감시

키로킹, 오디오, 스크린샷, 웹캠

관리

업데이트, 재시작, 자가 삭제

[-2] Poisonivy 기능

상기 [-2]이외에 플러그인 및 업데이트를 통해 새로운 기능 추가도 가능하다


암호화 된 통신

PoisonIvy 설명서에 따르면 통신 암호화는 256 비트 Camellia 암호화로 이뤄졌다. 일본에서 제작한 암호화로 관련 홈페이지에서 암호화 관련 소스 코드도 다운로드할 수 있다.

[그림-7] Camellia 홈페이지

지정된 암호 값(기본값은 admin)을 알면 패킷의 암호를 풀 수 있다.

[그림-8] 패킷으로 전송되는 PE

전송된 패킷을 복호화할 경우 위 그림과 같이 명령어를 통해 모듈별 PE가 전송되는 것을 확인할 수 있다.

현재 V3에서 Poisonivy 백도어는 다음 진단명으로 진단하고 있다.

-       Trojan/Win32.Poison (2011.11.14.00)




신고
Creative Commons License
Creative Commons License
Posted by JYP

2017년 6월 27일, 우크라이나에서 Petya 이름의 랜섬웨어 감염 피해가 보고되었다. 사실 Petya 랜섬웨어는 파일을 암호화하는 다른 랜섬웨어와 달리 부팅을 불가능하게 하는 유형(MBR, MFT 암호화)으로 이미 알려진 형태이다. 하지만, 이번에 이슈 된 Petya는 지난 5월 WannaCryptor 랜섬웨어에서 사용한 SMB 취약점(CVE-2017-0144)을 사용하여 네트워크 전파기능이 추가되면서 피해가 큰 것이 특징이다. 또한, 기존 형태와 달리 일부 확장자 파일들에 대한 암호화도 진행하는 등 다양한 기능이 추가된 것을 확인할 수 있다. SMB 취약점(CVE-2017-0144)은 MS 보안패치 MS17-010에 포함되었으므로 감염 확산을 막기 위해서는 보안패치 적용이 필요하다.

 

1. 동작과정

[그림-1] 랜섬웨어 동작과정

[그림-1]은 랜섬웨어의 전체적인 동작과정 및 내부 파일의 구조를 나타낸다. 최초 감염방식은 MEDoc (Ukraine Financial Software) 이름의 프로그램의 업데이트 과정에서 발생한 것과 MS 오피스 취약점(CVE-2017-0199)을 이용한 방식 2가지가 알려져 있다. 랜섬웨어는 DLL 형태로 제작되었으며, 네트워크 전파를 위해 SMB 취약점 외에 ‘Mimikatz’(Credential Dumping Tool) 이름으로 알려진 소스코드를 이용하여 원격지 접속을 위한 계정정보 획득을 시도한다. 악성코드 내부에 별도의 취약한 계정정보(ID/PW)를 갖고 있지는 않다. 아래는 Petya 랜섬웨어에서 수행하는 악의적인 기능들을 나타낸다.

- MBR 감염
- 네트워크 전파
- 파일 암호화
- 시스템 재부팅 시도
- MFT 암호화
- 부팅불가

아래의 [그림-2]는 랜섬웨어(ex. “2.dll”) 감염 시 발생하는 행위로그를 나타낸다. Action 항목에“Write physical disk” 라고 표시된 부분이 MBR 감염시도를 나타내며, “at.exe”를 실행한 부분은 재부팅을 위한 윈도우 작업스케줄 등록부분이다. %temp% 경로에 생성되는 “[랜덤숫자].tmp” 파일(ex. 1.tmp)은 ‘Mimikatz’ 툴로 계정정보 획득을 위한 악성코드이다. 이후 전파를 위한 네트워크 대역 내의 IP를 순회하면서 139/445 포트가 열려있는 시스템을 탐색하는 기능을 수행한다. 전파시도와 동시에 파일에 대한 암호화(AES-128) 작업도 이루어지며, [그림-2]에서는 바탕화면에 위치한 “TEST_Word.docx” 파일이 암호화된 것을 확인할 수 있다.

[그림-2] 행위로그

재부팅을 시도하기 위해 수행하는 윈도우 작업스케줄 등록작업은 아래와 같은 명령을 통해 이루어지며, 윈도우 버전에 따라 명령에 차이가 있다.

schtasks /RU “SYSTEM” /Create /SC once /TN “” /TR “C:\Windows\system32\shutdown.exe /r /f” /ST [H:M]

at [H:M] C:\Windows\system32\shutdown.exe /r /f

작업스케줄 등록을 통해 일정시간(1시간 내 가변)이 지난 후에는 시스템이 재부팅 되며, 이후 감염된 MBR 코드가 실행된다. 윈도우 작업스케줄을 이용한 방법 외에도 강제 BSOD 발생을 위해 “NtRaiseHardError” API 를 호출하는 경우도 존재한다. 재부팅 후에는 감염된 MBR(Master Boot Record) 코드에 의해 MFT(Master File Table)에 대한 암호화가 이루어진다.

원격지에 파일복사가 이루어진 후, 실행을 위해서는 MS에서 제공하는 PsExec(Sysinternals: 원격지 파일실행) 와 WMIC(WMIC.exe: Windows Management Instrumentation Command)라는 툴이 사용된다. 또한, Credential 정보를 이용한 원격지 복사가 실패한 경우, 마지막 단계에 SMB 취약점을 이용한 전파가 이루어진다. 재부팅 전 아래와 같은 명령을 통해 윈도우 이벤트 로그를 삭제하는 기능을 수행한다.

cmd.exe /c wevtutil cl Setup & wevtutil cl System & wevtutil cl Security & wevtutil cl Application & fsutil usn deletejournal /D <드라이브>:

[그림-1]에서 알 수 있듯이 DLL 파일 내부의 리소스 영역에는 총 4개의 RCDATA 이름의 항목이 존재하며, 각각 Mimikatz 툴(32비트/64비트)과 PsExec 툴, SMB 취약점관련 쉘코드로 구성된다.

 

2. 주요기능

(1) MBR 감염

랜섬웨어 실행 시, 가장 먼저 수행되는 작업이 MBR에 대한 감염이며 아래의 [그림-3]은 Petya에서 사용하는 MBR 감염코드를 나타낸다.

[그림-3] MBR 감염코드 부분

정상적인 부팅을 위해 필요한 원본 MBR 정보는 아래의 [그림-4]에서처럼 디스크의 0x4400 옵셋위치에 고정된 키 값(0x07)로 XOR 된 상태로 백업된다. MBR 정보는 단순한 암호화 방식으로 암호화 및 백업이 되어있어 복구가 가능한 구조이나, 이후에 진행되는 MFT에 대한 암호화 작업은 Salsa Stream 암호화라는 알고리즘을 통해 이루어지며 복구에는 키 정보가 필요한 구조이다.

[그림-4] MBR 백업코드 부분

아래의 [그림-5]는 실제 디스크 옵셋 0x4400 위치에 원본 MBR 코드가 암호화된 상태로 백업된 것을 확인할 수 있다.

[그림-5] MBR 백업데이터

 

(2) 네트워크 전파

원격지에 자신을 복사하기 위해서 크게 메모리상의 Credential 정보획득(CredEnumerate, Mimikaz)을 통한 ADMIN$ 공유폴더에 복사와 SMB 취약점을 이용한 전파 2가지가 이루어진다. ADMIN$ 에 복사된 DLL 형태의 랜섬웨어를 구동하기 위해 PsExec 혹은 WMIC 2가지 툴이 사용되며, 취약점을 이용한 경우 쉘코드를 통해 구동되는 특징을 갖는다. 또한, 전파방식 2가지 중 ADMIN$ 를 통한 복사가 실패한 경우에 한해 SMB 취약점을 시도하는 구조이다. 아래의 [그림-6]은 "EternalBlue" 취약점(CVE-2017-0144) 및 랜섬웨어 복사와 관련된 패킷 데이터 중 일부를 나타낸다. 

 

[그림-6] SMB 취약점 패킷

아래의 [그림-7]은 Credential 정보획득을 통해 원격지의 ADMIN$ 공유폴더에 복사 후 구동된 화면을 나타낸다. 테스트 시 랜섬웨어 파일을 “a.dll”로 실행하였으며 원격지의 %windows% 폴더에 “a.dll” 이름으로 복사 후 실행 시 확장자가 제거된 “a” 이름으로 존재함을 확인할 수 있다. 이러한 증상은 랜섬웨어 코드에 확장자 제거 및 실행 후 0바이트로 변경하는 기능에 의한 것으로 진단우회 및 기 감염여부 체크를 위한 것으로 판단된다.

[그림-7] 원격지 파일복사 및 실행

아래의 그림은 DLL 형식의 랜섬웨어를 구동 시, #1 통해 첫 번째 Export 함수호출을 통해 최초 동작이 이루어짐을 알 수 있다. 이후의 인자 값 60은 재부팅 시간(분)을 나타내는 것으로 디폴트 설정 값이 60으로 되어있다. 하지만, 실제 60분 뒤 재부팅이 이루어지는 것은 아니며, 해당 값을 가지고 연산을 통해 얻은 랜덤 시간에 재부팅이 수행된다. (최소 13분~최대 60분)

[그림-8] 원격지 랜섬웨어 구동

아래의 [그림-9]는 원격지에 파일복사 및 구동을 위해 사용하는 PsExec WMIC 관련 코드부분을 나타낸다. (아래의 표에서 “dllhost.dat” 파일은 PsExec 툴을 나타냄)

C:\WINDOWS\dllhost.dat \\192.168.209.3 -accepteula -s -d C:\Windows\System32\rundll32.exe ""C:\Windows\a.dll"",#1 60"

[그림-9] 원격지 파일복사 및 실행

 

(3) 파일 암호화

파일 암호화에는 CryptGenKey API 를 통해 생성된 하나의 대칭키(AES-128)를 사용하며, 해당 대칭키는 다시 공개키를 통해 암호화되어 "C:\ReadMe.txt" 파일에 저장된다. 즉, 해당 공개키에 매칭되는 개인키 정보가 없이는 복구가 불가능한 구조를 갖는다. WannaCryptor 복구에 언급된 메모리 상에 존재하는 키 정보를 활용한 복구도 Petya의 경우는 1시간 내에 강제 재부팅이 이루어짐으로 어려울 것으로 판단된다. 또한, 공개키가 공격자와 통신을 통해 네트워크로 받아지는 구조가 아님으로 악성코드 내부에는 별도의 C&C 주소가 존재하지 않는다. 아래의 [그림-10]에서 붉은색으로 표시된 “Your personal installation key” 부분이 공개키로 암호화된 AES-128 키를 BASE64도 다시 암호화한 값을 나타낸다.

[그림-10] ReadMe.txt 내용

 

(4) MFT 암호화

감염된 MBR 코드에 의해 부팅 시 아래의 [그림-11]과 같은 화면이 사용자에게 보여진다. 문구내용을 보면 CHKDSK 를 이용하여 시스템을 점검하는 정상적인 과정으로 인식할 수 있으나, 해당 문구는 악성코드 내에 존재하는 것으로 실제는 CHKDSK가 아닌 MFT에 대한 암호화 작업을 수행한다.

[그림-11] 부팅 시 화면 (허위 CHKDSK)

아래의 [그림-12]는 감염된 MBR 코드에서 MFT 테이블을 암호화하는 코드 중 일부를 나타낸다. Salsa20 암호화에서 사용하는 키 정보(Nonce, Key)를 통해 MFT 테이블에 대한 암호화가 수행된다. 키 정보는 디스크의 특정위치(0x4000)에 백업되어 있다.

[그림-12] MFT 암호화 코드

MFT에 대한 암호화 작업이 완료되면, 아래의 [그림-13]과 같은 화면이 사용자에게 보여진다. 사용자에게 $300 상당의 비트코인 결제를 유도하며, 결재 완료 시 제작자로 추정되는 메일주소를 통해 복구에 필요한 Key 정보를 전달받는 구조이다.

[그림-13] 비트코인 지불요청 화면

하지만, 분석결과 Key 정보를 전달받아도 복구가 불가능한 구조를 갖고 있음이 확인되었다. 실제 MFT 테이블 암호화에 사용된 키 정보(Nonce, Key)가 저장된 부분이 암호화가 완료된 후, 제거되는 것을 알 수 있다. 즉, 해당 Petya 랜섬웨어는 기존 랜섬웨어와 달리 파괴를 목적으로 제작한 것으로 추정할 수 있다.

아래의 [그림-14]는 디스크 옵셋 0x4000 위치에 MFT 암호화에 사용된 키 정보가 암호화 과정을 완료 후, NULL 값으로 채워진 것을 확인할 수 있다.

[그림-14] 복구불가 원인

 

3. V3 대응

Petya 랜섬웨어 관련 V3에서는 아래와 같이 진단하고 있다.

- md5: 71b6a493388e7d0b40c83ce903bc6b04 (V3: Trojan/Win32.Petya) - 랜섬웨어 본체
- md5: e285b6ce047015943e685e6638bd837e(V3: Trojan/Win32.Petya) - 랜섬웨어 본체
- md5: 2813d34f6197eb4df42c886ec7f234a1 (V3: Trojan/Win32.Petya) - Mimikatz x86 
- md5: 7e37ab34ecdcc3e77e24522ddfd4852d (V3: Trojan/Win64.Petya) - Mimikatz x64 

또한, 추가 감염피해를 막기위해 SMB취약점 관련 윈도우 보안패치를 적용하는 것이 필요하다.

SMB 취약점을 이용한 랜섬웨어 공격 주의 권고
- http://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=25703

SMB 취약점 관련 Windows XP, Server 2003 등 긴급 보안 업데이트 권고
- http://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=25704

SMB 취약점을 악용한 랜섬웨어 방지 대국민 행동 요령
- http://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=25723

윈도우 버전별 보안업데이트 다운로드
- http://www.catalog.update.microsoft.com/Search.aspx?q=KB4012598

신고
Creative Commons License
Creative Commons License
Posted by yhayoung

2017년 6월 10일 국내 모 유명 웹 호스팅 업체의 리눅스 웹 서버 및 백업 서버 153대가 랜섬웨어 에레버스(Erebus)에 감염되어 서버 내 주요 파일이 암호화되었다고 알려졌다. 이로 인해 현재까지 해당 업체에서 호스팅하는 일부 사이트의 정상적인 접속이 불가능하다.  

이번 공격에 현재까지 총 2개의 에레버스(Erebus) 랜섬웨어 파일이 확인되었으며, 각각 32비트 그리고 64비트 환경에서 동작하는 리눅스용 ELF 파일이다. 악성 파일 내부에 EREBUS 문자열과 암호화 관련 문자열을 다수 포함하고 있다. 악성코드 감염 직후에는 다음과 같은 증상이 확인된다. 

[그림1] 에레버스 랜섬웨어 파일

[그림2] 파일 내 암호화 관련 문자열 포함

- 암호화 대상 파일명 변경: "[영문과숫자조합].ecrypt"
- 랜섬노트 파일 생성: "_DECRYPT_FILE.txt" "_DECRYPT_FILE.html"
- 감염 화면: 

[그림3] 에레버스 랜섬웨어 감염 화면

암호화 대상 파일은 리눅스 운영체제 내에 존재하는 주요 확장자 파일로 .tar, .gz 등의 압축 파일, .jpg, .docx, .xlsx 등 문서 및 그림 파일이 포함된다. 다음은 암호화 대상이 되는 전체 확장자 모음이다.

tar, gz, tgz, taz, bz, tbz, bz2, lz, lzma, lz4, contact, dbx, doc, docx, jnt, jpg, mapimail, msg, oab, ods, pdf, pps, ppsm, ppt, pptm, prf, pst, rar, rtf, txt, wab, xls, xlsx, xml, zip, 1cd, 3ds, 3g2, 3gp, 7z, 7zip, accdb, aoi, asf, asp, aspx, asx, avi, bak, cer, cfg, class, config, css, csv, db, dds, dwg, dxf, flf, flv, html, idx, js, key, kwm, laccdb, ldf, lit, m3u, mbx, md, mdf, mid, mlb, mov, mp3, mp4, mpg, obj, odt, pages, php, psd, pwm, rm, safe, sav, save, sql, srt, swf, thm, vob, wav, wma, wmv, xlsb, 3dm, aac, ai, arw, c, cdr, cls, cpi, cpp, cs, db3, docm, dot, dotm, dotx, drw, dxb, eps, fla, flac, fxg, java, m, m4v, max, mdb, pcd, pct, pl, potm, potx, ppam, ppsm, ppsx, pptm, ps, pspimage, r3d, rw2, sldm, sldx, svg, tga, wps, xla, xlam, xlm, xlr, xlsm, xlt, xltm, xltx, xlw, act, adp, al, bkp, blend, cdf, cdx, cgm, cr2, crt, dac, dbf, dcr, ddd, design, dtd, fdb, fff, fpx, h, iif, indd, jpeg, mos, nd, nsd, nsf, nsg, nsh, odc, odp, oil, pas, pat, pef, pfx, ptx, qbb, qbm, sas7bdat, say, st4, st6, stc, sxc, sxw, tlg, wad, xlk, aiff, bin, bmp, cmt, dat, dit, edb, flvv, gif, groups, hdd, hpp, log, m2ts, m4p, mkv, mpeg, ndf, nvram, ogg, ost, pab, pdb, pif, png, qed, qcow, qcow2, rvt, st7, stm, vbox, vdi, vhd, vhdx, vmdk, vmsd, vmx, vmxf, 3fr, 3pr, ab4, accde, accdr, accdt, ach, acr, adb, ads, agdl, ait, apj, asm, awg, back, backup, backupdb, bank, bay, bdb, bgt, bik, bpw, cdr3, cdr4, cdr5, cdr6, cdrw, ce1, ce2, cib, craw, crw, csh, csl, db_journal, dc2, dcs, ddoc, ddrw, der, des, dgc, djvu, dng, drf, dxg, eml, erbsql, erf, exf, ffd, fh, fhd, gray, grey, gry, hbk, ibank, ibd, ibz, iiq, incpas, jpe, kc2, kdbx, kdc, kpdx, lua, mdc, mef, mfw, mmw, mny, moneywell, mrw, myd, ndd, nef, nk2, nop, nrw, ns2, ns3, ns4, nwb, nx2, nxl, nyf, odb, odf, odg, odm, orf, otg, oth, otp, ots, ott, p12, p7b, p7c, pdd, pem, plus_muhd, plc, pot, pptx, psafe3, py, qba, qbr, qbw, qbx, qby, raf, rat, raw, rdb, rwl, rwz, s3db, sd0, sda, sdf, sqlite, sqlite3, sqlitedb, sr2, srf, srw, st5, st8, std, sti, stw, stx, sxd, sxg, sxi, sxm, tex, wallet, wb2, wpd, x11, x3f, xis, ycbcra, yuv, mab, json, ini, sdb, sqlite-shm, sqlite-wal, msf, jar, cdb, srb, abd, qtb, cfn, info, info_, flb, def, atb, tbn, tbb, tlx, pml, pmo, pnx, pnc, pmi, pmm, lck, pm!, pmr, usr, pnd, pmj, pm, lock, srs, pbf, omg, wmf, sh, war, ascx, tif

단, 다음 경로 내에 존재하는 파일은 암호화되지 않는다.

/bin, /boot, /dev, /etc, /lib, /lib64, /proc, /run, /sbin, /srv, /sys, /tmp, /usr, /var, /.gem, /.bundle,
/.nvm, /.npm

파일 실행 직후 주요 데이터 파일이 암호화되고 랜섬 노트 파일이 생성된다. 암호화된 파일명은 [영문과숫자조합].ecrypt 으로 변경된다. 동일한 키로 암호화된 파일은 암호화된 원본 파일 데이터 앞에 동일한 암호화 키 정보, 사용자 고유 번호 등을 포함한 바이너리가 있다.

[그림4] 암호화 된 파일 바이너리 (0x0~0x470 동일)

에레버스 랜섬웨어는 실행 직후 네트워크 접속 여부와 상관없이 모두 암호화 행위를 수행한다. 파일 내에 존재하는 악성 C&C 주소는 .onion 도메인인 Tor 네트워크를 이용하고 있으며 확인된 주소는 다음과 같다. 

- C&C : 216.126.224.128/24
- Tor 네트워크:
7fv4vg4n26cxleel.onion.to
7fv4vg4n26cxleel.onion.nu
7fv4vg4n26cxleel.hiddenservice.net
7fv4vg4n26cxleel.gbe0.top
qzjordhlw5mqhcn7.onion.to
qzjordhlw5mqhcn7.onion.nu
qzjordhlw5mqhcn7.hiddenservice.net
qzjordhlw5mqhcn7.gbe0.top
7fv4vg4n26cxleel.onion
qzjordhlw5mqhcn7.onion

[그림5] 네트워크 접속이 되지 않을때(상) 암호화된 파일 바이너리 비교

현재 안랩 V3 제품군에서 다음과 같이 진단한다. 

- Linux/Erebus (2017.06.11.01)

신고
Creative Commons License
Creative Commons License
Posted by 컴수진

워너크립터(WannaCryptor)는 워너크라이(Wanna Cry), W크립트(Wcrypt) 등으로도 불리는 랜섬웨어(Ransomware)로 2017년 5월 12일(현지 시간 기준) 스페인, 영국, 러시아 등을 시작으로 전 세계에서 감염 보고되고 있다. 

* 현황

WannaCryptor는 2017년 2월 최초 발견 되었다. 악성코드 제작자는 ShadowBrokers가 NSA로부터 해킹 해 2017년 4월 공개한 SMB(Server Message Block) 취약점(MS17-010)  EternalBlue를 이용한 변형을 2017년 5월 제작했다. 관련 SMB 취약점은 마이크로소프트사가 2017년 3월 보안 업데이트를 공개했지만 보안 업데이트가 적용되지 않은 시스템은 위험에 노출되며 패치 되지 않은 시스템이 다수 존재한다. 2017년 5월 12일(현지 시간 기준) 이후 스페인, 영국을 시작으로 전 세계에 존재하는 시스템을 감염시키고 있다.


* 감염 경로

많은 랜섬웨어가 메일 첨부 파일이나 홈페이지 방문 할 때 감염되는데 반해 WannaCryptor 랜섬웨어는 MS17-010 (Microsoft Windows SMBv2 원격코드실행 취약점)을 통해 감염 된다. 즉, 윈도우 2017년 3월 보안 업데이트가 적용되지 않은 시스템은 별도의 사용자 동작 없이도 인터넷이 연결 되어 있다면 감염 될 수 있다.

                [그림-1] MS17-010 취약점을 이용하여 감염되는 WannaCryptor 실행 흐름도

WannaCryptor 랜섬웨어 유포와 관련된 Microsoft Windows SMB 취약점은 종류는 다음과 같다.

Windows SMB 원격 코드 실행 취약성(CVE-2017-0143)
Windows SMB 원격 코드 실행 취약성(CVE-2017-0144)
Windows SMB 원격 코드 실행 취약성(CVE-2017-0145)
Windows SMB 원격 코드 실행 취약성(CVE-2017-0146)
Windows SMB 정보 유출 취약성 (CVE-2017-0147)
Windows SMB 원격 코드 실행 취약성(CVE-2017-0148)

SMB 취약점 영향을 받는 시스템은 다음과 같다.

(윈도우 시스템이 공격 대상이며 리눅스, 맥 혹은 스마트폰은 공격 대상이 아니다.)


Windows 10 (취약점을 갖고 있으나, WannaCryptor의 공격대상은 아님)
Windows 8.1
Windows RT 8.1
Windows 7
Windows Vista
Windows XP
Windows Server 2016
Windows Server 2012 R2
Windows Server 2008 R2 SP1 SP2
Windows Server 2003

 

* 전파 방법

자신의 로컬 IP대역의 D클래스 대역을 (xxx.xxx.xxx.1~255) 을 스캔하거나 임의의 IP 로 SMB 프로토콜 패킷을 반복하여 전송한다.

[그림-2] SMB 원격실행코드 취약점이 발생하는 패킷

이후 수신되는 데이터를 검증하여 취약점이 발생하는 SMB 패킷 헤더에 실행코드를 추가한 데이터를 추가 전송한다. 타겟 시스템의 운영체제가 취약점 패치되지 않은 환경일 경우 악의적인 쉘코드가 동작한다.


이후 타겟으로 다음의 IPC$ 공유폴더 경로가 사용된다.


\\192.168.56.20\IPC$

[그림-3] \\IPC$ 로 공유된 폴더

취약점 발생 이후 실행되는 쉘코드는 다음 내용을 포함한다.

[그림-4] SMB 취약점 발생이후 실행되는 쉘코드

 

감염된 시스템에서 WannaCrypto 랜섬웨어가 실행된 이후 다시 SMB 취약점을 통한 유포를 수행하므

감염대상은 증가할 수 있다. WannaCryptor 랜섬웨어 최초 실행 이후 다음 중 시스템에 존재하는 경

로에 추가 악성코드 파일을 생성한다. 파일생성 경로는 Windows 운영체제 버전에 따라 상이할 수 있

다.

 

-       C:\ProgramData\[Random]\tasksche.exe

-       C:\Intel\[Random]\tasksche.exe

-   C:\Windows\tasksche.exe

-   C:\User\(사용자명)\AppData\Local\Temp\랜덤.tmp

 

 위 폴더 하위에 생성하는 [Random]명의 폴더명은 시스템정보를 조합하여 생성한 랜덤명으로 시스템

 마다 유일한 값이 생성된다생성된 tasksche.exe 파일은 실제 랜섬웨어 감염행위를 수행하며 드로퍼

 에 의해  “–i” 인자로 Install 모드가 실행된다.

 

* 증상



WannaCryptor에 감염되면 다음 확장자를 가진 파일을 암호화 시킨 후 확장자에 .WNCRY (변형에 따라 .WNCRYT 등으로 다를 수 있음)를 추가한다.


.der .pfx .key .crt .csr .p12 .pem .odt .ott .sxw .stw .uot .3ds .max .3dm .ods .ots .sxc .stc .dif .slk .wb2 .odp 

.otp .sxd .std .uop .odg .otg .sxm .mml .lay .lay6 .asc .sqlite3 .sqllitedb .sql .accdb .mdb .db .dbf .odb .frm 

.myd .myi .ibd .mdf .ldf .sln .suo .cs .c .cpp .pas .h .asm .js .cmd .bat .ps1 .vbs .vb .pl .dip .dch .sch .brd .jsp 

.php .asp .rb .java .jar .class .sh .mp3 .wav .swf .fla .wmv .mpg .vob .mpeg .asf .avi .mov .mp4 .3gp .mkv 

.3g2 .flv .wma .mid .m3u .m4u .djvu .svg .ai .psd .nef .tiff .tif .cgm .raw .gif .png .bmp .jpg .jpeg .vcd .iso 

.backup .zip .rar .7z .gz .tgz .tar .bak .tbk .bz2 .PAQ .ARC .aes .gpg .vmx .vmdk .vdi .sldm .sldx .sti .sxi .602 

.hwp .snt .onetoc2 .dwg .pdf .wk1 .wks .123 .rtf .csv .txt .vsdx .vsd .edb .eml .msg .ost .pst .potm .potx .ppam 

.ppsx .ppsm .pps .pot .pptm .pptx .ppt .xltm .xltx .xlc .xlm .xlt .xlw .xlsb .xlsm .xlsx .xls .dotx .dotm .dot .docm

.docb docx .doc  

파일을 암호화 시킨 후 바탕화면을 변경한다.

[그림-5] 파일 암호화 후 변경하는 바탕화면 이미지

300 달러 상당의 비트코인(Bitcoin)을 요구 창이 뜨며 28 개 언어로 작성되어 있다.

[그림-6] 파일 암호화 후 비트코인 지불을 요구하는 화면_한글

[그림-7] 파일 암호화 후 비트코인 지불을 요구하는 화면_영문

 

* 실행 후 증상

 

악성코드가 실행되면 http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com에 접속을 시도해 성공하면 악성코드는 종료된다. 악성코드 발견 당시 해당 도메인은 존재하지 않아 한 분석가가 도메인을 구매해 랜섬웨어의 전파를 차단했다. 5월13일 이후 다른 도메인이 4개가 더 확인 되었다. 파일에서 도메인명만 수정한 형태로 확인 되었다.

 

[그림-8] URL 접속여부 확인 코드

인터넷이 안되는 등의 이유로 해당 사이트 접속이 안되면 악성코드와 관련된 파일을 생성하고 파일 암호화가 진행된다.

실행 후 Microsoft 정상 서비스를 위장하여 시스템에 등록되며, 시스템이 재시작 될 때마다 자동으로 실행되도록 한다. 등록하는 서비스 정보는 Microsoft 의 정상 서비스 명을 위장한 형태로“mssecsvc2.0” 이름을 사용하며 서비스로 동작 시 “-m security” 인자로 실행된다.

이후 서비스로 동작할 경우 SMB 취약점을 통한 자체 유포 루틴이 수행된다. 공격대상은 자신의 시스템 로컬IP 및 랜덤으로 조합한 IP 대역을 스캔하여 SMB 패킷(445포트) 을 전송한다. 이 과정에서 과도한 패킷이 발생하게 되며 네트워크에 트래픽 부하가 발생할 수 있다
 

주) 변형에 따라 생성되는 폴더나 파일이름이 다소 바뀔 수 있다.

[그림-9] tasksche.exe 가 생성하는 파일목록

 

생성하는 파일 정보는 다음과 같다.

b.wnry

 파일 암호화 후 바탕화면으로 설정하는 이미지 파일

c.wnry

 tor 관련 설정파일 (접속URL, 다운로드 URL)

 f.wrny

 샘플로 복호화 해주기 위한 파일들의 목록을 저장 

r.wnry

 readme.txt

s.wnry

 tor 모듈 ZIP 압축파일

t.wnry

 암호화된 암호화 모듈

u.wnry

 비트코인 결재를 유도하는 @WanaDecryptor@.exe 프로그램과 동일파일

taskdl.exe

 .WNCRYPT 확장자 파일목록 조회 목적의 프로그램

taskse.exe

 시스템 원격세션 관련 조회 프로그램

 00000000.eky

 암호화된 개인키 파일

 00000000.pky

 공개키 파일

[표-1] tasksche.exe 가 생성하는 파일 정보

msg 폴더에는 언어별 메시지 파일을 생성한다.

                         [그림-10] msg 폴더내 생성하는 랜섬노트 언어별 메시지 파일목록

TaskData 폴더에 온라인 상에서 익명을 보장해 주는 토르(Tor) 관련 파일을 생성한다. Tor를 사용해 추적을 어렵게 한다.

[그림-11] TaskData 폴더내 생성하는 토르(Tor) 파일목록

 

WannaCryptor 의 암호화 방식의 흐름은 다음과 같다.

[그림-12] WannaCryptor 암호화 방식 흐름

 

암호화된 파일들은 . “WANACRY!” 시그니쳐 + AES Key 암호화 Size + AES Key 암호화 DATA + Key Size Length + 원본파일 Length + 암호화된 파일 Data로 구성되어 있고 추후 복호화 될 경우 아래의 DATA 구조를 사용하여 파일이 복호화 될 수 있다.

다음은 암호화된 파일구조로 위에서 설명한 t.wnry 파일을 예로 한 것이다. 해당 파일과 동일한 구조로 다른 파일들도 암호화 된다.

                                 [그림-13] 암호화된 파일의 구조 (t.wnry 파일 예)

 

* 안랩 대응

안랩 V3 제품군에서 다음과 같이 진단한다.

Trojan/Win32.WannaCryptor.C1951322
Trojan/Win32.WannaCryptor.C1951351
Trojan/Win32.WannaCryptor.R200571
Trojan/Win32.WannaCryptor.R200572
Trojan/Win32.WannaCryptor.R200579
Trojan/Win32.WannaCryptor.R200580 등

변형이 계속 등장하고 있어 미진단 변형이 존재할 수 있으므로 최신 윈도우 보안 업데이트 적용이 필요하다.


* 참고


-    SMB 취약점을 이용한 랜섬웨어 공격 주의 권고 (http://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=25703)

-    SMB 취약점 관련 Windows XP, Server 2003 등 긴급 보안 업데이트 권고 (http://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=25704)


- SMB 취약점을 악용한 랜섬웨어 방지 대국민 행동 요령 (

http://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=25723)


- 윈도우 버전별 보안업데이트 다운로드 (http://www.catalog.update.microsoft.com/Search.aspx?q=KB4012598)

 

 


저작자 표시
신고
Creative Commons License
Creative Commons License
Posted by mstoned7

지난 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)

신고
Creative Commons License
Creative Commons License
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)

 

 

 

신고
Creative Commons License
Creative Commons License
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] 감염 파일 (위) 및 복구 파일 (아래)


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

다운로드

신고
Creative Commons License
Creative Commons License
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)성 프로그램의 증가가 뚜렷하다. 인터넷에서 프로그램을 다운로드 할 때는 가급적 해당 프로그램의 평판을 확인할 필요가 있다. 몇몇 업체는 평판까지 속이기 위해 좋은 평의 내용을 올리는 경우도 있으므로 프로그램 다운로드 사이트 댓글 뿐 아니라 검색 엔진을 통해 얼마나 많은 사람들이 해당 앱의 제거를 원하는지도 확인할 필요가 있다.






저작자 표시
신고
Creative Commons License
Creative Commons License
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)


신고
Creative Commons License
Creative Commons License
Posted by 이보원