분석 정보/랜섬웨어 분석 정보

[악성코드 분석] MBR 변조로 정상부팅을 막는 satana 랜섬웨어 주의

TACHYON & ISARC 2016. 7. 18. 14:43

MBR 변조로 정상부팅을 막는 satana 랜섬웨어 분석 보고서 



 

 

1. 개요

satana 랜섬웨어는 컴퓨터 부팅에 필요한 정보를 저장하는 하드디스크의 MBR(Master Boot Record)영역을 변조하여 부팅이 불가능하게 만들며 사용자 파일을 암호화한다. 


감염된 컴퓨터가 부팅될 때 *랜섬노트 출력으로 인해 커스텀 부트로더(Bootloader, 윈도우 부팅을 위해 실행되는 명령어)가 정상 작동하지 않으며, 내부 변수 값들이 디버그 메시지로 상세하게 출력되는 등 개발 단계 소프트웨어의 특징이 나타난다.


해당 랜섬웨어의 랜섬노트를 보면 아래 창과 같이 0.5비트코인(2016.07.07일 기준 약 400,000 KRW)지불을 조건으로 복호화 소프트웨어를 전송해 주겠다는 메시지를 담고있다.


*랜섬노트(Ransom note): 일반적으로 유괴범이 쓴 몸값을 요구하는 편지를 의미하는데, 랜섬웨어에서도 비슷한 의미로 암호화된 파일을 인질로 돈을 요구하는 메시지로 통용된다.



[그림] satana의 랜섬노트




                                                  

2. 분석 정보

2-1. 파일 정보

구분

내용

파일명

satana.exe

파일크기

50,861 byte

진단명

Ransom/W32.Satana.50861

악성동작

MBR 변조, 파일 암호화

네트워크

185.xxx.xxx.186 – 감염정보 수신 서버






 


2-2. 유포 경로

satana 랜섬웨어는 아직 유포되지 않은 개발 단계인 것으로 보이는데, 커스텀 부트로더가 정상적으로 랜섬노트를 출력하지 못한다는 점과 디버그 메시지를 통해 아래와 같이 실행 중 내부 변수 값을 상세하게 출력해주는 점이 그 이유이다.

대게 악성코드 제작자들은 최종 결과물에서 이런 디버그 메시지를 남기지 않는 것이 일반적이다.



[그림] 동작 중 출력되는 디버그 메시지





2-3. 실행 과정

satana 랜섬웨어는 http://185.***.**.186/add.php로 아래와 같은 감염 정보를 송신한다.

- sdata: [커널 버전].[빌드 번호] [서비스팩] [사용자 이름]

- name: 최초 실행된 바이너리 이름

- dlen: 해커의 감염자 식별 코드



[그림] 감염 정보 패킷 송신



이후 %TEMP% 폴더 하위에 랜섬노트 !satana!.txt 를 생성하고, 임의의 파일명으로 자가 복제 후 실행시킨다. 복제된 파일 실행 시 사용자 계정 컨트롤(UAC)창이 나타난다. UAC 알림 창은 관리자 권한을 요구하는 어플리케이션이 실행될 때 실행해도 되는 파일인지 한번 더 확인 시켜주는 정책이다. 권한 요청을 허용하지 않아 실행되지 않도록 해도 숙주 파일(satana.exe)이 반복해서 복제된 파일을 실행시키기 때문에 UAC창은 지속적으로 나타난다.


[그림] UAC 알림 메시지



이후 악성 동작은 관리자 권한을 얻은 복제된 파일에서 수행된다.


 



3. 악성 동작

3-1. MBR 변조

MBR을 자신의 랜섬노트를 출력하기 위한 커스텀 부트로더로 변경한다.


[그림] satana의 커스텀 부트로더


 

[그림] 부트로더에 포함된 랜섬 노트


 



3-2. 파일 암호화

윈도우가 하드디스크 볼륨의 스냅샷을 백업해 놓은 파일인 볼룸 섀도우 복사본(Volume Shadow Copy)을 삭제하기 위해 %SystemRoot%\system32\VSSADMIN.EXE을 “Delete Shadows /All /Quiet” 옵션으로 실행시킨다.


파일 암호화가 진행되면 파일명은 아래 그림과 같이 “이메일___원본파일명.확장자” 형식으로 변경된다.


[그림] 변경 전(좌)과 변경 후(우)의 파일명



암호화 된 파일은 아래 그림처럼 원본과 동일한 패턴을 보인다. 일반적으로 암호화 전후 패턴이 같은 경우 블록 암호화 방식 또는 XOR연산을 기반으로 암호화 방식이 쓰인 경우가 많다.



[그림] 변경 전(좌)과 변경 후(우)의 파일명




4. 결론

satana 랜섬웨어는 악성 동작을 행할 때 관리자 권한을 필요로 하므로 UAC 창을 출력시킨다. 권한을 얻을 때까지 계속해서 UAC창을 출력하기 때문에 사용자는 감염을 피하기 어렵게 느낄 수 있다. 이 때 실행되어 있는 숙주 파일의 프로세스를 종료시키고 허용을 거부하면 피해를 막을 수 있다. 하지만 아직 유포되기 전인 미완성 악성코드인 만큼, 이후 UAC우회 기능이 추가될 가능성이 있기 때문에 각별한 주의가 필요하다.


대부분의 기능이 제대로 작동하는 점에서 랜섬웨어 유포 가능성이 매우 높다. 사용자는 랜섬웨어 감염을 피하기 위해서 수시로 OS와 응용 프로그램을 최신 버전으로 업데이트하고 출처가 불분명한 파일을 받지 않는 등 미리 감염 예방을 해야 할 것이다.


상기 악성코드는 잉카인터넷 안티바이러스 제품 nProtect Anti-Virus Spyware V3.0과 nProtect Anti-Virus/Spyware V4.0에서 진단 및 치료가 가능하다.



(※랜섬웨어 치료는 악성코드를 치료한다는 의미로, 암호화된 대상을 복호화하는 의미는 아닙니다.)


[그림] nProtect Anti-Virus/Spyware V4.0 진단 및 치료 화면

 


[그림] nProtect Anti-Virus/Spyware V3.0 진단 및 치료 화면