Koxic 랜섬웨어 국내 유포 중

Koxic 랜섬웨어의 국내 유포 정황이 확인되었다. 올해 초 최초로 수집되었지만 파일 외형과 내부 랜섬노트가 변형된 파일이 최근 ASD 인프라를 통해 탐지 및 차단된 이력을 확인하였다.

감염 시 암호화된 파일의 이름에 “.KOXIC_[랜덤문자열]” 확장자가 추가되며, 각 디렉터리에 TXT 파일의 랜섬 노트를 생성한다. 랜섬노트의 파일명은 다음과 같다.

  • WANNA_RECOVER_KOXIC_FILEZ_[랜덤문자열].txt
그림1. 암호화된 파일 및 랜섬노트 예시

최근 수집된 샘플의 랜섬 노트는 한 때 국내에 활발하게 유포되었던 BlueCrab(Sodinokibi, REvil) 랜섬웨어와 유사하다.

BlueCrab의 경우 별도의 웹 사이트를 제작하여 TOR 브라우저를 사용하여 접속할 것을 명시하지만, Koxic 랜섬웨어는 이메일을 통해 연락을 유도한다는 차이점이 있다.

이전에 수집된 Koxic 랜섬웨어 샘플 중에서는 전혀 다른 형태의 랜섬노트를 가진 샘플도 존재하고, BlueCrab과 거의 동일한 형태의 랜섬노트를 가진 샘플도 확인된다. 코드 간의 유사성도 찾아볼 수 없는 점에서 두 랜섬웨어간 직접적인 연관 관계는 없어보인다.

그림2. Koxic, BlueCrab 랜섬노트 비교

본 샘플의 랜섬노트에서는 사용자의 중요 파일을 다운로드하였고, 협상하지 않을 경우 해당 데이터를 외부로 유출할 수 있다는 내용의 협박이 있지만, 외부로의 정보 유출 행위는 없었다.

또 다른 특징으로는, UPX 패킹을 숨기기 위해 섹션 이름을 의도적으로 변경하였다. UPX Trick 으로 칭해지는 이 기법은 UPX로 패킹된 파일을 조작하여 분석을 방해하거나 AV 제품의 자동 언패킹 기능을 우회하기 위해 종종 사용되는 기법이다.

그림3. 섹션명 변조 (UPX Trick)

랜섬웨어 실행 시 본격적으로 파일들을 암호화하기 전 아래와 같은 다양한 사전 작업을 수행한다.


[디버깅 검사]

디버깅을 체크하는 API 두 개를 사용하여 디버깅 중이라면 현재 함수를 무한 반복(재귀 호출)한다. 디버깅 중일 경우 스택 오버플로우가 발생하게 된다.

그림4. 디버깅 탐지 함수


[시스템 레지스트리 수정]

cmd 명령을 통해 시스템 레지스트리를 수정한다. 디펜더를 종료하고 알림을 종료하는 등의 값을 조작하며, 원격 세션 만료 시간을 최대치로 늘려주는 항목도 존재한다.

HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\MaxDisconnectionTime
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\MaxIdleTime  HKLM\SOFTWARE\Policies\Microsoft\Windows\HomeGroup\DisableHomeGroup    
HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\DisableAntiSpyware        
HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\AllowFastServiceStartup   
HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\ServiceKeepAlive 
HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableRealtimeMonitoring HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableBehaviorMonitoring HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableOnAccessProtection      HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableScanOnRealtimeEnable   HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableIOAVProtection HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\HideSCAHealth         HKCU\Software\Policies\Microsoft\Windows\Explorer\DisableNotificationCenter     
표1. 변경 대상 레지스트리


[프로세스 종료]

다음 명령 실행으로 특정 프로세스와 서비스 종료를 시도한다. 하지만 명령간 구분이 “&”연산자가 아닌 개행으로 처리되어있기 때문에 사실상 첫 번째 줄 밖에 실행되지 않는다. 공격자의 실수로 판단된다.

cmd.exe /c taskkill /F /IM MSASCuiL.exe
taskkill /F /IM MSMpeng.exe
taskkill /F /IM msseces.exe
표2. 프로세스 종료 명령어


[VSC 삭제 및 서비스 종료]

볼륨 섀도 복사본(Volume Shadow Copy)를 삭제하는 명령어와 다수의 서비스의 상태를 수정하는 명령어를 실행한다. 위와 마찬가지로 첫 줄만 실행되어 사실상 VSC삭제 행위만 발현된다.

cmd.exe /c vssadmin delete shadows /all /quiet
sc config browser
sc config browser start=enabled
sc stop vss
sc config vss start=disabled
sc stop MongoDB
sc config MongoDB start=disabled
sc stop SQLWriter
sc config SQLWriter start=disabled
sc stop MSSQLServerOLAPService
sc config MSSQLServerOLAPService start=disabled
sc stop MSSQLSERVER
sc config MSSQLSERVER start=disabled
sc stop MSSQL$SQLEXPRESS
sc config MSSQL$SQLEXPRESS start=disabled
sc stop ReportServer
sc config ReportServer start=disabled
sc stop OracleServiceORCL
sc config OracleServiceORCL start=disabled
sc stop OracleDBConsoleorcl
sc config OracleDBConsoleorcl start=disabled
sc stop OracleMTSRecoveryService
sc config OracleMTSRecoveryService start=disabled
sc stop OracleVssWriterORCL
sc config OracleVssWriterORCL start=disabled
sc stop MySQL
sc config MySQL start=disabled
표3. VSC 삭제 및 서비스 종료 명령어


[시스템 정보 수집]

시스템 정보를 수집하여 %temp% 디렉토리에 랜덤 파일명으로 작성하지만 해당 데이터를 외부로 전송하는 루틴은 찾을 수 없다. 수집 항목으로는 IP주소, 시스템 계정 정보, 디스크 정보, 네트워크 어댑터 정보, 하드웨어 정보, OS 정보 등이 포함되어 있다.

그림5. 수집 시스템 정보 예시


[프로세스 우선순위 변경 및 권한 부여]

자기 자신의 프로세스 우선순위를 “높음”으로 상향시키며, 프로세스 토큰 권한을 검사 후 수정(추가)한다. 추가되는 권한은 아래 표와 같다.

그림6. 프로세스 우선순위 변경
SeBackupPrivilege, SeRestorePrivilege, SeManageVolumePrivilege, SeTakeOwnershipPrivilege
표4. 변경 대상 토큰 권한


[파일 암호화]

암호화 대상 목록을 작성하는 스레드와 실제 암호화를 수행하는 여러 스레드가 동시에 동작하며 목록에 존재하는 대상 파일을 차례로 암호화한다. 암호화 과정은 원본 파일의 이름을 변경한 뒤 파일 매핑 함수를 사용하여 암호화된 데이터를 덮어쓴다. 이때 사용되는 함수 호출 흐름은 다음과 같다.

MoveFileExW – CreateFileMappingW – MapViewOfFile – [암호화] – UnmapViewOfFile
표5. 파일 암호화 흐름

암호화 알고리즘은 AES CBC 모드이며 32바이트 길이의 키와 16바이트 IV를 사용한다.

특징적인 부분으로, 파일 암호화 시 16바이트 바이트 블록 단위로 암호화를 수행하지만 마지막블록에서 패딩을 사용하지 않는다. 때문에 파일 끝 16바이트로 나누어 떨어지지 않는 부분은 암호화 되지 않으며 원본 데이터가 그대로 보존되어있다.

암호화와 관련된 코드는 오픈 소스인 libtomcrypt를 그대로 사용한 것으로 보인다.

파일 암호화에 사용된 AES 키는 RSA 암호화하여 랜섬노트 하단에 저장한다. IV값은 암호화된 키 뒤에 평문으로 추가하여 최종적으로 다음과 같은 형태가 된다.

그림7. 랜섬노트에 저장된 암호화된 AES 키 및 IV(밑줄) 예시

파일 암호화가 완료되면 랜섬노트를 %TEMP% 디렉토리에 생성 후 메모장 통해 실행한다.


[암호화 예외 항목]

  • 확장명

“.ps1.”, “rtp” 등 결점으로 보이는 항목이 존재한다.

.386, .adv, .ani, .bat, .bin, .cab, .cmd, .com, .cpl, .cur, .deskthemepack, .diagcab, .diagcfg, .diagpkg, .dll, .drv, .exe, .hlp, .hta, .icl, .icns, .ico, .ics, .idx, .key, .ldf, .lnk, .lock, .mod, .mpa, .msc, .msi, .msp, .msstyles, .msu, .nls, .nomedia, .ocx, .pdb, .prf, .ps1., .rom, rtp, .scr, .shs, .spl, .sys, .theme, .themepack, .wpx,
표6. 암호화 제외 확장명
  • 경로
., .., windows, System Volume Information, $Recycle.Bin, $SysReset, Config.Msi, bootfont.bin, boot.ini, ntuser.dat, desktop.ini, $windows.~bt, intel, msocache, $recycle.bin, $windows.~ws, tor browser, boot, system volume information, perflogs, google, application data, windows, programdata, windows.old, appdata, mozilla, iconcache.db, ntldr, ntuser.dat.log, thumbs.db, bootsect.bak, ntuser.ini, autorun.inf, All Users, microsoft,
표7. 암호화 제외 경로

안랩 제품군에서는 Koxic 랜섬웨어를 다음과 같이 진단 중이다.


[파일 진단]
– Ransomware/Win.KoxicCrypt.R533926 (2022.11.11.00)
– Trojan/Win.Wacatac.C5290617 (2022.11.04.00)
– Trojan/Win.Generic.C4963639 (2022.02.11.01)


[행위 진단]
– Ransom/MDP.Delete.M2117
– Malware/MDP.Behavior.M2771
– Ransom/MDP.Decoy.M4475


[IOC 정보]
MD5
e9fdad2df8f8b95398f3c8f27e940f5d
3c4fa896e819cb8fada88a6fdd7b2cc7
01a4208ab9d4b2cfa87ffbdef2f8ab78

연관 IOC 및 관련 상세 분석 정보는 안랩의 차세대 위협 인텔리전스 플랫폼 ‘AhnLab TIP’ 구독 서비스를 통해 확인 가능하다.

5 1 vote
별점 주기
Subscribe
Notify of
guest

0 댓글
Inline Feedbacks
View all comments