포스팅 내용

악성코드 분석 리포트

Trojan.Ransom.Filecoder 악성코드 분석 보고서

안녕하세요? 이스트시큐리티입니다.


최근 Outsider로 명명된 랜섬웨어가 새롭게 등장해 사용자의 각별한 주의가 필요합니다. Outsider 랜섬웨어는 확장자에 관계없이 모든 파일을 암호화하고 특정 확장자에 따라 암호화 방식을 달리합니다. 또한, 사용자 시스템뿐만 아니라 사용자시스템과 연결된 네트워크 드라이브까지 검사해 감염시키는 것이 특징입니다. 공격자는 파일 복호화 대가로 $900의 비트코인을 요구하며 금전적인 이득을 노립니다



따라서, 본 보고서에서는 Outsider 랜섬웨어의 행위와 특징에 대해서 알아보고자 합니다.



악성코드 상세 분석


Outsider랜섬웨어는 사용자의 시스템 언어를 확인하여 암호화 여부를 결정합니다. 다음과 같은 언어를 사용 중일 경우에는 암호화를 진행하지 않으며, 이 외의 언어를 사용하는 시스템에 대해서만 암호화를 진행합니다

 

[그림 1] 사용자 시스템 언어 확인



1. 파일 암호화

암호화 대상 파일을 검색하고 암호화를 진행합니다. 다음과 같은 문자열이 포함되어 있는 경우 암호화에서 제외됩니다이는 시스템 운영에 필요한 폴더 및 파일을 암호화하지 않음으로써 정상적인 악성 행위를 유지하기 위함으로 보입니다또한, 중복 감염을 방지하기 위해 이미 암호화된 파일과 랜섬노트 파일도 암호화에서 제외됩니다. 다음은 암호화 제외 문자열 목록입니다


Windows

Program Files

Program Files (x86)

$Recycle.bin,

System Volume Information

[표 1] 암호화 제외 문자열 목록


다음은 암호화 대상 파일을 검색하는 코드입니다.

 

[그림 2] 암호화 대상 파일 검색 코드


파일 암호화는 모든 확장자를 대상으로 진행되며, 파일 확장자에 따라 암호화 방식이 상이합니다. 파일 암호화 방식은 다음과 같이 두가지 경우로 나뉩니다대상 파일이 ‘.txt, .rar, .zip’ 확장자를 가질 경우 데이터 전체를 암호화 합니다이는 압축 파일의 경우 헤더 수정을 통해 데이터 복원을 방지하고, 텍스트 파일의 경우 데이터 전체를 암호화함으로써 일부 내용을 유추할 수 없도록 하기 위함으로 보입니다


파일 끝부분에 ‘NANI’ 시그니처 문자열을 삽입하고, 암호화된 키값 (0x30)바이트를 추가하는 것은 확장자에 상관없이 모두 동일합니다.


확장자

차이점

공통점

.txt, .rar, .zip

데이터 전체 암호화

파일 끝부분 ‘NANI’ 시그니처 삽입 후 암호화된 키값 0x30바이트 추가

그 외

파일의 앞부분 0x2800 바이트만 암호화

[표 2] 파일 확장자에 따른 암호화 방식의 차이점과 공통점


호화된 파일은 다음과 같은 파일 구조를 가집니다


[그림 3] 암호화된 파일 구조


다음은 파일 암호화 코드의 일부입니다.


[그림 4] 파일 암호화 코드의 일부


암호화가 완료된 파일은 ‘.protected’ 확장자가 추가되며, 더 이상 정상 파일로서 동작하지 않습니다.


[그림 5] 파일 암호화 코드의 일부


다음은 암호화 되기 전과 후의 파일 비교 화면입니다. 확장자 예외없이 모두 암호화된 것을 알 수 있습니다.


호화 전

호화 후


 

[표 3] 파일 암호화 전 후 비교


2. 랜섬노트 작성

암호화가 진행된 폴더 내에는 ‘HOW_TO_RESOTRE_FILES.txt’의 랜섬 노트가 생성됩니다. 랜섬노트는 감염 사실을 알리고, 복호화를 위한 결제 방법을 안내합니다. 공격자들은 복호화를 대가로 $900의 비트코인을 요구하며, 본인들의 이메일과 비트코인 지갑 주소, 감염자 서버 ID를 안내합니다.

 


공격자 이메일: secureserver@memeware.net

지불 방법: 비트코인

비트코인 지갑 주소: 1CfMU2eKnajfpnYvLbWR3m7jZRXujtx8Cm

감염자 서버 ID: QH1AFcWJYufcs9CLr/H4csECFbmRqMgbalGwcwEBrZpJ2KYghaoMcOmD+E (생략)

[표 4] 랜섬노트에 안내된 복호화 시 필요한 정보


다음은 랜섬노트 화면입니다.


[그림 6] 랜섬노트 화면


공격자 비트코인 주소를 추적했을 때 총 13건의 거래가 발생했으며, 최근 2019114일까지 거래가 이루어진 것을 확인할 수 있습니다.


[그림 7] 공격자 비트코인 주소


3. 네트워크 드라이브 암호화  

Outsider 랜섬웨어는 로컬 시스템만 감염 시키는 것이 아니라 로컬과 연결된 네트워크 드라이브에 대해서도 암호화를 시도합니다. 연결된 시스템이 백업을 위한 폴더나 서버일 경우 더 큰 피해로 이어질 수 있습니다


[그림 8] 네트워크 드라이브 검색 및 암호화 코드의 일부


4. 시스템 복원 기능 무력화 

vssadmin.exe 프로세스 명령어를 통해 시스템 복원 파일인 볼륨 섀도우 복사본을 삭제합니다. 이를 통해 감염된 시스템의 복원 기능이 무력화 됩니다.


[그림 9] 볼룸 섀도우 복사본 삭제 코드


5. 특정 프로세스 종료
현재 실행 중인 프로세스 이름을 검색하여null.exe, nan.exe 프로세스가 실행 중일 경우 해당 프로세스를 종료합니다

[그림 10] 특정 프로세스 종료 코드



결론


공격자는 ‘.txt, .rar, .zip’ 확장자를 가진 파일에 대해서는 데이터 전체를 암호화함으로써 복구 가능성을 최소화시키는 치밀함을 보였습니다. 또한, Outsider 랜섬웨어는 사용자 로컬 시스템뿐만 아니라 연결된 네트워크 드라이브까지 감염시킵니다. 특히 기업의 경우 클라우드 같은 네트워크 연결형 백업을 자주 사용하기 때문에 그 피해는 더 치명적일 수 도 있습니다. 그렇기 때문에 사용자는 외부 저장매체를 이용해 중요 파일을 백업하거나 2가지 이상의 방식으로 백업을 해두는 노력을 기울이는 것이 좋습니다.


공격자 비트코인 주소를 확인해 봤을 때 이미 13건의 거래가 발생했습니다. 이는 실제 Outsider 랜섬웨어 감염자 일부가 복호화를 위해 비트코인을 결제했을 가능성이 높습니다. 하지만, 실제 비용을 지불한다고 해서 공격자가 파일을 복호화 해준다는 것은 보장할 수 없으므로 이는 지양해야 합니다


따라서, 사용자는 이를 예방하기 위해 메일로 첨부되는 파일에 대해서는 실행 시 주의해야 하고 백신을 최신 업데이트 상태로 유지하며 주기적인 검사를 실시해야 합니다.


현재 알약에서는 ‘Trojan.Ransom.Filecoder’ 로 진단하고 있습니다.