본문 바로가기

Analysis

14. Nemty

2019년 08월 27일 Nemty 랜섬웨어가 발견되었다. 본 글에서는 해당 악성코드를 상세분석한다.

Malware Nemty ransomware
Environment OS Windows 7
Action File encryption

 

가장 먼저 넴티(Nemty) 랜섬웨어는 실행되면 중복 실행 방지를 위해 "hate"라는 이름의 뮤텍스를 생성한다. 이후 base64로 인코딩 되어있는 랜섬노트 내용을 복호화 한다.

 

뮤텍스 생성
뮤텍스 생성
base64로 인코딩 된 랜섬노트 내용

 

이어서 감염 PC에서 논리 드라이브를 탈취하고 드라이브 타입을 알아낸다. 드라이브 타입이 USB와 같은 "REMOVABLE" 타입인지, 일반 HDD와 같이 "FIXED" 타입인지, NAS와 같이 "NETWORK" 타입인지를 알아낸다. 드라이브 타입을 알아낸 이후에는 해당 디스크에 공간이 얼마나 남아있는지에 대한 정보를 탈취한다.

 

논리 드라이브 탈취
드라이브 타입 조사
USB와 같은 "REMOVABLE" 타입 조사
HDD와 같은 "FIXED" 타입 조사
NAS와 같은 "NETWORK" 타입 조사
디스크 남은 공간 조사
디스크 남은 공간 조사

 

이후 행위에서 특이한 점을 발견했는데, 굳이 "Chrome"을 사용해서 인터넷 연결을 한다는 것이다. 인터넷 연결은 감염 PC의 IP와 해당하는 국가를 알아내기 위해 사용되었다. 아래 그림과 같이 "Chrome"을 이용해 연결한다.

 

"Chrome"을 이용한 인터넷 연결
"Chrome"을 이용한 인터넷 연결
"Chrome"을 이용한 인터넷 연결

 

넴티(Nemty) 랜섬웨어는 "Chrome"을 이용해서 총 두 곳에 연결을 진행한다. 아래 두 곳이 연결되는 URL이다.

http://api[.]ipify[.]org

http://api[.]db-ip[.]com/v2/(IP address)/countryName

 

 

먼저 연결되는 "http://api[.]ipify[.]org"의 경우에는 감염 PC가 사용하고 있는 IP 주소를 알아내기 위해 연결하며 두번째의 "http://api[.]db-ip[.]com/v2/free/countryName"의 경우에는 감염 PC의 국가 정보를 알아내기 위해 연결하게 된다. 아래 그림은 랜섬웨어에서 연결해 받아온 IP주소와 국가 정보이다.

 

IP 정보
국가 정보
접속 시 화면

 

이후 감염 PC의 유저명, 컴퓨터 명을 탈취한다. 심지어 kernel32.dll 파일의 버전까지도 탈취한다.(유저명, 컴퓨터명 정도는 전형적이라 그러려니 했는데 kernel32.dll 버전 탈취는 신박했다)

 

유저명 탈취
컴퓨터명 탈취
"kernel32.dll" 버전 탈취

 

이어서 현재 파일이 실행되고 있는 감염 PC가 윈도우의 어느 버전인지를 조사하고 하드웨어 프로파일까지 정보 탈취를 진행한다.

 

윈도우 버전 조사
하드웨어 프로파일 탈취
하드웨어 프로파일 탈취

 

이전에 탈취했던 국가 정보를 가지고 현재 감염 PC가 "러시아", "벨라루스", "카자흐스탄", "타지키스탄", "우크라이나" 인지를 조사하는데.. 이 국가에 속해있다고 해서 랜섬웨어 행위를 진행하지 않는건 아니다. 뭘 목적으로 조사하는지는 모르겠다.

 

국가 조사
국가 조사

 

이후 암호화를 진행할 준비를 한다. 파일 암호화에 사용할 키를 생성한다.

암호화 준비
암호화 준비

 

그리고 base64로 인코딩 된 정보들을 다시 복호화 하는데 대략적으로 컴퓨터 정보, IP 정보 등을 C&C 서버로 보내기 위한 것으로 보여진다.

 

base64 인코딩 된 모습
base64 디코딩 후 모습

해당 base64 디코딩해 C&C로 보내는 정보 기록은 전체적으로 아래와 같다.

{"General":{"IP":"infected PC IP","Country":"South Korea","ComputerName":"WIN-ECLJRF3K6KM","Username":"Administrator","OS":"Windows 7","isRU":false,"version":"1.0","CompID":"{846ee340-7039-11de-9d20-806e6xxxxxx}","FileID":"_NEMTY_qmurgqp_","UserID":"5d5c4664cf838e0a80d025b2","key":"AxfjVK6AmGWHT9ZUESPstfImPcvlK0GE","pr_key":"BwIAAA......83E5nvbsK/3h5hdMpU="},"Disks":{"C:\\":{"DriveType":"FIXED","TotalSize":"29GB","UsedSize":"12GB","FreeSize":"17GB"},

 

실제 파일 암호화 행위는 쓰레드를 생성해 이루어지게 된다. 행위의 가장 첫번째로 파일 암호화를 진행하는 폴더에 랜섬 노트를 생성한다.

쓰레드 생성
랜섬노트 생성
랜섬노트 생성
생성된 랜섬노트

 

암호화 하지 말아야 할 파일이나 확장자는 문자열을 비교하면서 이루어지게 된다. 아래 그림은 비교하는 루틴이고 아래 표 안의 것들이 암호화 하지 말아야 할 것으로 등록된 것들이다. 부팅과 관련하거나 시스템 중요 파일들은 암호화 하지 않도록 설정한 것으로 보인다.

 

문자열 비교

$RECYCLE.BIN  rsa NTDETECT.COM ntldr MSDOS.SYS IO.SYS boot.ini AUTOEXEC.BAT
ntuser.dat desktop.ini CONFIG.SYS RECYCLER BOOTSECT.BAK bootmgr programdata
appdata windows DECRYPT.txt

암호화 제외 확장자
nemty log LOG CAB cab CMD cmd COM com cpl CPL exe EXE ini INI
dll DLL lnk LNK url URL ttf TTF

 

친절하게 토르 브라우저까지 설치해준다.(돈 내라는 협박 같..음..)

 

토르 브라우저 설치

 

이후에는 블라디미르 푸틴 대통령 사진이 있는 곳으로 연결하는데, 현재는 닫혀있지만 발견 당시까지만 해도 열려있었다고 한다. 제작자가 러시아 쪽을 혐오하는 것으로 보여지기도 하고 혹은 러시아 쪽과 연관되어 있을 가능성이 보인다.

 

이미지 연결

 

이후 "cmd.exe" 명령 프롬프트를 이용해서 볼륨 쉐도우 카피본을 제거한다. 아래 그림은 볼륨 쉐도우 카피본을 제거하는 루틴이고 아래 테이블의 내용은 전체 명령어이다.

cmd 실행
볼륨 쉐도우 카피본 제거

/c vssadmin.exe delete shadows /all /quiet & bcdedit /set {default} bootstatuspolicy ignoreallfailures & bcdedit /set {default} recoveryenabled no & wbadmin delete catalog -quiet & wmic shadowcopy delete

 

아래 그림은 configure 파일이다.

configure 파일

 

아래는 파일들이 암호화 된 모습이다.

파일이 암호화 된 모습

 

전체적으로 제작자, 공격자는 러시아와 연관되어 있을 것이라고 추정되고 일반 랜섬웨어와 크게 다르지 않은 양상을 띄고 있다.

반응형