본문 바로가기

Analysis

50. Kanti ransomware (nim language)

NIM 언어로 작성된 랜섬웨어가 새롭게 발견되었다. 본 글에서는 해당 샘플을 분석한다.

 

먼저, 해당 샘플은 비트코인 지갑이 Lock 되어있는 상태인 것 처럼 피해자를 속인다. 비트코인 지갑 주소를 풀기 위해서는 랜섬웨어 샘플과 같이 동봉된 LNK 파일을 실행하도록 유도하는데, 해당 LNK 파일은 아래 그림에 나타난 것처럼 "Locked_253_BTC.zip" 이름의 Kanti 랜섬웨어를 실행하는 명령로 연결된다.

Kanti 실행으로 연결

Kanti 랜섬웨어는 Nim 언어로 작성되었다. 아래 그림처럼 관련 정보를 열어보면 Nim 언어로 작성된 것을 알 수 있다.

Nim 언어로 작성된 Kanti 랜섬웨어

 

실행시 가장 먼저 %APPDATA% 아래에 key.txt 를 생성한다. key.txt 내용은 "Get Fucked!" 라는 문자열로 이루어진다.

key.txt

 

해당 랜섬웨어는 단순한 형태로 제작되어있다. 암호화를 준비하기 위해 각종 모듈을 로드하는 과정과 실제 PC 내의 파일들을 암호화 하는 과정이다.

준비/메인 함수

 

암호화 준비를 위한 모듈 로드 함수에서는 프로세스 생성, 시스템 정보 탈취 등을 수행한다. 또한, 암호화에 사용하기 위해 "BCryptGenRandom" 모듈을 로드한다. 또한, 피해자 PC의 ip 정보 등을 탈취하기 위해 인터넷 연결 모듈도 함께 로드한다.

모듈 로드

 

위 과정을 통해 모듈을 모두 로드하면 본격적으로 암호화를 시작한다. 이 때 암호화에서 제외되는 확장자들은 아래와 같다.

제외 확장자 중 일부

wpx, themepack, theme, sys, spl, shs, search-ms, scr, rtp, rom, regtrans-ms, ps1, prf, ocx, nomedia, nls, msu, msstyles, msp, msi, msc, mpa, mod, log2, log1, lock, lnk, lib, ldf, key, kanti, ini, idx, ico, icns, icl, hta, hlp, exe, drv, dll, diagpkg, diagcfg, diagcab, deskthemepack, dat, cur, dpl, com, cmd, cab, blf, bin, bat, ani, adv, 386

 

암호화를 수행하면서 각 경로마다 Kanti.html 파일을 생성한다. 파일 내용에는 협박문 및 암호화 된 파일 복구를 위해서는 본인들에게 연락할 것을 요구한다.

랜섬노트 생성

 

nim 언어를 사용해 만들어진 랜섬웨어답게, 내부에서 base64 디코딩 등을 위해 사용하는 모듈이 nim 언어로 이루어져있다.

base64.nim

 

내부에서 base64로 인코딩 된 문자열들은 아래와 같다.

Y21kLmV4ZSAvYyBwaW5nIDEyNy4wLjAuMSAtbiAzICYmIGRlbCA=

cmd.exe /c ping 127.0.0.1 -n 3 && del 
QXBwRGF0YVxca2V5LnR4dA==

AppData\\key.txt
aWhhdmVsaXZlZHRva2lsbG1ham9yaXR5b2ZodW1hbnM=

ihavelivedtokillmajorityofhumans
cHJpdmF0ZWdvZGlzaGVyZQ==

privategodishere

 

i have lived to kill majority of humans, private god is here 등의 문자를 확인할 수 있다. 본인이 신이 된 것 같은 심취와 테러리즘에 휩싸여 해당 랜섬웨어를 제작했을 가능성이 있다.

 

암호화된 파일들은 .kanti 확장자가 붙어 저장된다. 암호화 이후에는 html 형식의 랜섬노트가 실행된다.

암호화된 파일
랜섬노트

 

 

특이한 점은 최근 랜섬웨어들에서는 거의 필수로 탑재되어 있는 암호화 전 정보 탈취나 볼륨 섀도우 카피본 삭제, 자동 실행 등록 등이 존재하지 않는다.

암호화 이후 VSS
암호화 이후 RUN 레지스트리

 

 

랜섬노트에서도 정확한 날짜를 지정하거나, 날짜가 서서히 카운트다운 되고 있는 기능 등이 존재하지 않는 것으로 미루어보아 매우 초기 버전으로 제작된 랜섬웨어임을 알 수 있고, 앞으로 더 진화할 가능성이 존재함도 동시에 알 수 있다.

 

Nim 언어로 작성된 파일은 무언가 다른점이 있을까하여 분석해보았는데, 실제 디컴파일이나 디버깅 과정에서는 크게 다른점은 없었던 것 같다.

반응형

'Analysis' 카테고리의 다른 글

52. Konni's fake lnk  (0) 2023.08.17
51. Kimsuky's powershell keylogger  (0) 2023.08.02
49. Charming Kitten's POWERSTAR  (0) 2023.07.11
48. Skuld Stealer  (1) 2023.06.22
47. ransomware correlation  (0) 2023.06.14