새로운 서비스형 랜섬웨어 도구 '타노스', '학빗'과의 연관성 확인

새로운 서비스형 랜섬웨어 도구 '타노스', '학빗'과의 연관성 확인

insikt-logo-blog.png
편집자 주: 다음 글은 전체 보고서에서 발췌한 내용입니다. 전체 분석을 읽으려면, Click Here 를 클릭하여 보고서를 PDF로 다운로드하세요.

Recorded Future의 Insikt Group® 은 Thanos에 대한 새로운 탐지 방법을 개발했습니다. 랜섬웨어 심층 조사の一環として. 데이터 소스에는 Recorded Future의® 플랫폼, 온라인 멀티스캐너 저장소, 및 다양한 OSINT 도구.

이 연구의 대상에는 새로운 랜섬웨어 위협에 관심이 있는 보안 실무자, 네트워크 방어자, 위협 인텔리전스 전문가가 포함됩니다.

Executive Summary

2020년 1월, 인식트 그룹은 레코디드 퓨처® 플랫폼을 사용하여 RIPlace 기술의 무기화를 모니터링하던 중 익스플로잇 포럼에서 판매 중인 새로운 랜섬웨어 제품군인 타노스(Thanos)를 발견했으며, 이 랜섬웨어는 "노소포로스"라는 가명을 가진 위협 행위자가 개발했습니다.

노소포로스는 43가지 구성 옵션을 기반으로 새로운 타노스 랜섬웨어 클라이언트를 생성할 수 있는 기능을 갖춘 비공개 랜섬웨어 빌더로 타노스를 제공했습니다. 레코디드 퓨처는 타노스 랜섬웨어 빌더를 분석하여 타노스 랜섬웨어가 지원할 수 있는 광범위한 기능을 탐지, 이해 및 실행했습니다. 타노스 클라이언트는 전체적인 구조와 기능이 단순합니다. C#으로 작성되어 난독화가 되어 있어도 이해하기 쉽지만, RIPlace 기법과 같은 고급 기능이 포함되어 있습니다.

이 연구 중에 저희는 학빗이라는 랜섬웨어 계열과 탐지된 내용이 겹치는 것을 발견했습니다. 코드 유사성, 문자열 재사용, 핵심 기능을 기반으로 인싯트 그룹은 학빛으로 추적된 랜섬웨어 샘플이 노소포로스에서 개발한 타노스 랜섬웨어 빌더를 사용하여 제작된 것으로 높은 확신을 가지고 평가합니다.

레코디드 퓨처는 여러 지하 포럼에서 이 멀웨어의 인기가 높아지는 것을 관찰한 결과, 타노스의 사용 편의성은 제작자에게 큰 자산이 되었습니다. 이는 바로 사용할 수 있는 랜섬웨어를 찾는 위협 공격자들의 지속적인 추세를 보여주는 것이라고 생각합니다. 노소포로스는 지난 6개월 동안 정기적인 업데이트와 새로운 기능을 통해 타노스를 지속적으로 개발해 왔습니다. 타노스는 서비스형 랜섬웨어(RaaS) 모델과 유사한 "랜섬웨어 제휴 프로그램"으로 광고됩니다. 타노스는 위협 행위자들이 개별적으로 또는 제휴 프로그램의 일부로 집단적으로 계속 무기화할 것입니다.

주요 판단

배경

2019년 11월, 보안 기업 Nyotron은 RIPlace라는 이름의 랜섬웨어 기술에 대한 개념 증명(Proof of Concept)을 공개했습니다. 출시 당시 RIPlace는 대부분의 기존 랜섬웨어 방지 방법을 우회했으며, 테스트된 안티바이러스(AV) 제품들을 통과했고, 엔드포인트 탐지 및 대응(EDR) 제품들의 탐지를 회피했습니다. Nyotron은 해당 결함을 Microsoft를 포함한 해당 업체들에게 공개했습니다. 그러나 마이크로소프트가 BleepingComputer에 제공한 성명에 따르면, RIPlace가 해당 시점까지 랜섬웨어에서 실제로 관찰되지 않았기 때문에 “이 기술은 취약점으로 간주되지 않으며, CFA는 다층 방어 기능이기 때문에 우리 보안 서비스 기준을 충족하지 않습니다.” BleepingComputer에 따르면, 2019년 11월에 마지막으로 보고된 바와 같이, 이 기술을 실행하지 못하도록 소프트웨어를 수정된 업체는 카스퍼스키와 카본 블랙뿐입니다. 그러나 2020년 1월부터 Insikt Group은 다크 웹과 지하 포럼의 회원들이 RIPlace 기술을 구현하는 것을 관찰해 왔습니다.

thanos-랜섬웨어-빌더-1-1.png
그림 1: 랜섬웨어 판매에 RIPlace 기술이 등장한 시점을 보여주는 타임라인. (출처: Recorded Future)

인식트 그룹은 2020년 2월 위협 행위자 노소포로스(Nosophoros)가 XSS 포럼에서 타노스 랜섬웨어를 광고하는 것을 처음 발견했는데, 이는 RIPlace 기술을 포함한 기능 업데이트로 인한 것이었습니다. 노소포로스에서는 타노스 빌더에 월간 '라이트' 또는 평생 '회사' 구독권을 제공했습니다. 회사 버전에는 라이트 버전에 비해 루트킷, RIPlace 기술, 제휴 프로그램을 위한 클라이언트 만료 설정, LAN을 통한 확산 등의 추가 기능이 포함되어 있습니다. 이 보고서는 타노스 랜섬웨어의 전체 기능을 다루는 평생 "회사" 버전에 대한 분석을 기반으로 합니다.

위협 분석

빌더 분석

타노스 랜섬웨어 빌더는 랜섬웨어 운영자에게 다양한 옵션으로 랜섬웨어 클라이언트를 생성할 수 있는 기능을 제공합니다. 전체 빌더 사용자 인터페이스는 그림 2에서 확인할 수 있습니다. 빌더는 몇 가지 기본 옵션을 제공하지만, 랜섬노트에 포함될 비트코인 주소와 같은 다른 옵션은 운영자가 직접 구성해야 합니다. 운영자의 재량에 따라 다른 옵션을 활성화할 수 있습니다.

thanos-랜섬웨어-빌더-2-4.png
그림 2: Thanos 랜섬웨어 빌더 옵션. (출처: Recorded Future)

운영자가 구성 단계를 완료하면 빌더는 운영자가 선택한 디렉터리에 .NET 실행 파일을 생성합니다. 생성된 바이너리는 선택한 구성 옵션에 따라 템플릿 바이너리의 문자열을 실제 부울 값이 아닌 "YES" 및 "NO" 문자열 값을 사용하는 구성 옵션에 따라 대체한 결과인 것으로 보입니다. 구성 옵션이 포함된 난독화되지 않은 샘플의 예는 그림 3에서 확인할 수 있습니다. 빌더에서 각 옵션 위로 마우스를 가져가면 해당 옵션에 대한 도움말 메시지가 표시됩니다. 전체 옵션 목록과 해당 도움말 메시지는 부록 A에서 확인할 수 있습니다.

thanos-랜섬웨어-빌더-3-1.png
그림 3: 샘플 81e81f0bbbdb831eda215033b7a7dbf2eed3812f4e58118f181a8e99e613179e에서 구성되었습니다. (출처: Recorded Future)

빌더는 최종 바이너리의 난독화 관리도 담당합니다. 오브퓨스케이션이 활성화되지 않은 경우, 생성된 .NET 실행 파일에는 평문 문자열이 포함되지만, 변수, 메서드, 클래스 및 네임스페이스의 이름은 여전히 무작위로 생성됩니다. 빌더는 두 가지 난독화 방법을 제공합니다. 주요 방법은 Redgate사에서 개발한 상업용 난독화 도구인 SmartAssembly의 해킹된 버전을 사용하는 것입니다. 제2의 방법은 클라이언트를 내장된 리소스 파일로 포함하는 Inno Setup 설치 프로그램 파일을 생성하는 구성 옵션입니다.

랜섬웨어 클라이언트 개요

타노스 클라이언트는 C#으로 작성되었습니다. 생성된 클라이언트는 모두 메서드 이름, 변수 이름, 클래스 이름에 대해 무작위 문자열을 사용했습니다.

타노스 클라이언트에는 빌드 단계에서 선택한 옵션과 설정에 따라 12~17개의 클래스가 포함됩니다. 프로그램 및 암호화와 같은 일부 클래스는 모든 빌드에 포함되어 있습니다. 네트워크 확산 및 LAN에서 깨우기 등의 다른 옵션은 관련 옵션이 선택된 경우에만 최종 바이너리에 포함됩니다. 아래 표에는 핵심 클래스와 그 목적에 대한 설명이 나와 있습니다.

클래스 이름
설명
AMSI
Windows 안티맬웨어 검사 인터페이스(AMSI)를 우회하려는 시도
안티킬
작업 관리자 사용을 비활성화하고 프로세스가 종료되지 않도록 보호합니다.
안티_분석
디버거 사용, 샌드박시 실행, 가상 머신 사용, Windows XP 또는 소형 하드 드라이브 실행을 확인합니다.
암호화
무작위로 생성된 문자열을 생성한 다음 Base64로 인코딩합니다.
암호화 도우미
암호화를 위한 도우미 기능이 포함되어 있습니다. 또한 AES 암호화/복호화 키를 해독하는 데 사용되는 공개 키가 포함되어 있습니다.
비활성화
Windows Defender 비활성화
비어 있음
휴지통 비우기
암호화
파일의 암호화/복호화를 수행하는 주요 기능
FTP
FTP 서버에 데이터 업로드
Kill
실행 중인 경우 AVG 또는 MalwareBytes 바이러스 백신 엔진을 종료합니다.
잠긴 파일
암호화 전에 잠긴 파일을 해제하려는 시도
뮤텍스 도우미
뮤텍스 생성
NativeMethods
절전 및 실행 상태 메서드
네트워크 확산
다른 컴퓨터에 클라이언트를 설치하려면 SharpExec_x64.exe 또는 SharpExec_x86.exe를 사용합니다.
프로세스 크리티컬
타노스 프로세스를 '중요 프로세스'로 설정하여 프로세스가 종료될 경우 시스템이 재부팅되도록 합니다.
프로그램
타노스 클라이언트의 주요 기능
배경 화면
이 옵션을 설정하면 사용자 지정 데스크톱 배경화면이 기본 데스크톱 배경화면으로 설정됩니다.

인식트는 타노스 클라이언트 기능 분석 섹션에서 몇 가지 흥미로운 클래스에 대한 추가 분석을 제공했습니다.

타노스 클라이언트 실행 흐름

타노스의 일반적인 실행 경로는 아래 그림 4에 표시된 세 가지 주요 활동으로 구성됩니다.

  1. 고급 옵션: 구성 설정과 관련된 작업을 수행합니다.
  2. 종료 및 복구 방지: 백업 파일 및 섀도 복사본의 실행 및 삭제 기능을 방해하는 서비스 및 프로세스를 중지합니다.
  3. 암호화 및 업로드: 빌드 시 파일을 암호화하고 FTP에 업로드하도록 구성한 경우 랜섬 메모를 표시합니다.
thanos-랜섬웨어-빌더-4-1.png
그림 4: Thanos 클라이언트 실행 중에 생성된 프로세스. (출처: Recorded Future)
고급 옵션

첫 번째 단계는 대부분 빌드 중에 설정한 고급 옵션을 실행하는 것으로 구성됩니다. 킬 디펜더, 안티-VM, AMSI 바이패스 등의 작업이 여기에 포함됩니다. 클라이언트 자체 내에서 구성 설정은 프로그램 클래스 끝에 있는 변수 목록과 문자열 배열을 통해 결정할 수 있습니다. 그림 5는 클라이언트 내에서 구성 설정이 "예" 또는 "아니오"로 설정되는 방법을 보여줍니다.

thanos-랜섬웨어-빌더-5-1.png
그림 5: Thanos 클라이언트에서 구성 옵션이 클래스 변수로 사용됩니다. (출처: Recorded Future)
종료 방지 및 복구

클라이언트가 구성 작업을 수행한 후, 클라이언트는 다음으로 일련의 작업을 수행하여 성공적으로 실행되도록 하고 백업 및 섀도 복사본을 삭제합니다. 이러한 작업은 각각 다른 인수를 가진 여러 하위 프로세스를 생성하며, 이 프로세스는 net.exe, taskkill.exe로 전달됩니다, del.exe 및 vssadmin.exe. 부록 B에서는 이러한 조치에 대해 자세히 설명합니다.

암호화 및 업로드

마지막으로 타노스 클라이언트는 연결된 스토리지 드라이브를 탐색하고 빌더에 구성된 파일 확장자를 가진 파일을 검색하고 암호화를 시도합니다(기본 확장자는 부록 C에서 확인할 수 있습니다). FTP 서버에 파일을 업로드하는 옵션이 활성화된 경우(빌더에서 "데이터실러"라고 함), 빌드 시 구성된 목록과 일치하는 확장자를 가진 파일이 암호화 전에 업로드됩니다. 업로드할 수 있는 기본 확장자는 ".docx", ".pdf", ".xlsx" 및 ".csv"입니다. 암호화된 파일의 확장자는 빌드 유형에서 설정한 값으로 변경되며 기본값은 ".crypted"입니다.

파일을 암호화한 후 랜섬노트(그림 6 참조)가 바탕화면과 파일이 암호화된 모든 폴더에 저장됩니다. 기본 랜섬 파일 이름은 "HELP_ME_RECOVER_MY_FILES.txt"입니다. 또한 타노스 클라이언트는 위협 행위자가 설정한 HTTP 서버에서 다운로드한 이미지로 배경화면을 변경할 수 있는 기능이 있습니다.

thanos-랜섬웨어-빌더-6-1.png
그림 6: 기본 랜섬 노트. (출처: Recorded Future)

타노스 클라이언트는 완료된 암호화 프로세스의 로그를 생성하고 해당 로그를 위협 행위자의 FTP 서버에 업로드하도록 구성할 수 있습니다. 타노스 클라이언트에는 FTP 기능과 웹 서버에서 배경화면을 다운로드하는 기능 외에 명령 및 제어(C2) 통신을 위한 기능이 내장되어 있지 않습니다.

이렇게 설정하면 이전 단계가 모두 완료된 후 타노스 클라이언트가 스스로 삭제됩니다.

타노스 클라이언트 기능 분석

레코디드 퓨처는 타노스 랜섬웨어의 기능을 파악하기 위해 다양한 구성 옵션을 활성화한 80개 이상의 클라이언트를 생성했습니다. 이 섹션에서는 랜섬웨어의 주요 특징 6가지를 중점적으로 설명합니다.

암호화 프로세스

Thanos 클라이언트는 사용자 파일을 암호화하기 위해 AES-256을 CBC 모드로 사용합니다. AES 암호화에 사용되는 키는 Windows의 rfc2898DeriveBytes 함수 호출을 통해 비밀번호와 소금(salt)에서 파생됩니다. 클라이언트가 해당 키를 사용하여 발견한 모든 파일을 암호화한 후, 클라이언트는 내장된 2048비트 RSA 공개 키를 사용하여 사용된 AES 비밀번호를 암호화합니다. 이 암호화된 비밀번호의 Base64 문자열이 랜섬 노트에 추가되며, 피해자에게 이 암호화된 비밀번호 문자열을 위협 행위자에게 전송하여 파일을 복호화하도록 지시합니다. 공개 키와 짝을 이룬 개인 키는 AES 비밀번호를 복호화하기 위해 필요합니다. Thanos 클라이언트를 구축한 운영자만 개인 키에 접근할 수 있어야 합니다.

이 비밀번호는 바이너리에 정적으로 포함되거나 런타임에 동적으로 생성됩니다. 정적 비밀번호 사용 여부는 빌더 옵션에 따라 결정됩니다. 이 옵션에 대한 도움말 텍스트는 다음과 같습니다: "동일한 네트워크에 있는 모든 컴퓨터는 동일한 암호화 비밀번호를 사용하여 암호화됩니다." 동적 키를 선택한 경우, 타노스 클라이언트는 암호화 프로세스를 시작하기 전에 Windows RNGCryptoServiceProvider를 사용하여 AES 비밀번호로 사용될 임의의 32바이트 base64 문자열을 생성합니다. 타노스 클라이언트가 정적 비밀번호를 사용하도록 구성된 경우 비밀번호는 바이너리 자체에 저장됩니다. 즉, 타노스 클라이언트가 암호화가 발생한 후 복구되면 피해자가 몸값을 지불하지 않고도 파일을 복구할 수 있는 가능성이 있습니다.

Thanos 클라이언트는 각 파일의 일부만 암호화하는 "빠른" 암호화 모드를 지원합니다. 암호화된 부분의 크기는 빌드 시점에 설정됩니다. 이 모드가 활성화되면 클라이언트는 파일에서 구성된 양의 데이터를 암호화한 후, 최종적으로 파일의 시작 부분부터 암호화된 내용으로 파일을 덮어씁니다. 또한 파일의 시작 부분에 "Thanos--" 형식의 문자열을 추가합니다. 이 현상을 유발하는 코드는 그림 7에 표시되어 있습니다.

thanos-랜섬웨어-빌더-7-2.png
그림 7: 타노스 문자열이 부분 암호화 "빠른" 모드 기능에 포함되었습니다. (출처: Recorded Future)
RIPlace

'회사' 계층 기능 중 하나는 타노스 클라이언트 암호화 프로세스를 변경하여 RIPlace 기술을 사용하도록 변경하는 기능입니다. 앞서 언급했듯이 RIPlace는 2019년 11월 보안 회사 Nyotron이 특정 랜섬웨어 방지 완화 기능을 회피하기 위해 공개한 기술입니다.

이 기술에 대한 자세한 내용은 Nyotron의 웹사이트에서 확인할 수 있습니다. 고수준에서 이 기술은 MS-DOS 장치 이름을 통해 심볼릭 링크를 활용하여 대상 파일을 암호화하고, 암호화된 파일의 복사본을 원본 파일 위치로 복사하는 과정을 설명합니다.

타노스 빌더에서 활성화하면 생성된 클라이언트는 추가 클래스와 암호화 워크플로우를 수정하여 RIPlace 기술을 사용하게 됩니다.

thanos-랜섬웨어-빌더-8-1.png
그림 8: RIPlace 클래스 항목 함수. (출처: Recorded Future)

수정된 워크플로는 상대적으로 간단합니다. RIPlace 워크플로우를 담당하는 기능은 그림 8에 표시되어 있습니다. 먼저 Thanos 클라이언트는 대상 파일의 내용을 임시 디렉토리에 복사한 후 파일의 내용을 암호화하고, 암호화된 파일 내용을 임시 디렉토리 내의 파일에 저장합니다. 그런 다음 클라이언트는 그림 9에 표시된 코드를 실행합니다. 이 코드에서는 대상 파일의 경로와 함께 MS-DOS 장치 이름이 생성되며, 이 장치 이름은 "Resolve"로 지정됩니다. MoveFileExW 함수는 임시 디렉토리에 있는 암호화된 파일을 새로운 MS-DOS 장치로 이동합니다. 이 MS-DOS 장치는 대상 파일 경로로 작동하는 심볼릭 포인터 역할을 합니다. 최종 결과는 대상 파일이 해당 파일의 암호화된 복사본으로 덮어쓰여집니다.

thanos-랜섬웨어-빌더-9-1.png
그림 9: RIPlace 기술을 실행하는 기능. (출처: Recorded Future)
측면 이동

Thanos 클라이언트의 측면 이동 기능은 주로 측면 이동을 위해 특별히 설계된 공격용 보안 도구인 SharpExec 도구의 사용에 의해 주로 구동됩니다. 고객은 GitHub 저장소에서 SharpExec 도구를 다운로드합니다(다운로드 URL은 탐지 및 완화 섹션에 제공됩니다).

먼저 타노스 클라이언트가 로컬 네트워크를 스캔하여 온라인 호스트 목록을 가져옵니다. 그런 다음 타노스는 원격 컴퓨터에서 타노스 클라이언트를 실행할 수 있는 SharpExec의 PSEXEC과 유사한 기능을 사용합니다.

thanos-랜섬웨어-빌더-10-2.png
그림 10: SharpExec를 사용한 네트워크 확산 기능. (출처: Recorded Future)
WoL(Wake on LAN)

타노스는 피해자의 로컬 네트워크에서 측면으로 확산하기 위해 호스트가 켜지도록 하는 일부 컴퓨터의 하드웨어 기능인 "WoL(Wake on LAN)"을 이용합니다. 부록 D에 설명된 형식의 WoL "마법 패킷"을 전송하여 이를 수행합니다.

이를 위해 클라이언트는 먼저 ARP(주소 확인 프로토콜)를 사용하여 IP 주소와 MAC(미디어 액세스 제어) 주소의 매핑을 수집합니다. 이 정보는 ARP 테이블에 포함되어 있습니다.

클라이언트는 IP 주소와 MAC 주소로 '매직 패킷'을 생성하여 원격 호스트에 전송할 수 있습니다. 그러면 타노스 클라이언트는 "관리자" 또는 "관리자"라는 사용자 이름을 사용하여 원격 호스트 드라이브에 연결을 시도합니다. 연결이 성공하면 원격 드라이브가 암호화할 드라이브 목록에 추가됩니다.

thanos-랜섬웨어-빌더-11-2.png
그림 11: 원격 부팅(Wake on LAN) 기능. (출처: Recorded Future)

WoL 기능은 Ryuk에서 관찰된 WoL 구현과 유사합니다.

데이터 도용

민감한 파일을 공개적으로 배포하겠다고 협박하여 피해자를 갈취하는 랜섬웨어의 일반적인 경향에 따라, 타노스 클라이언트는 지정된 확장자 집합을 가진 모든 파일을 추출하는 기능을 통합합니다. 업로드할 수 있는 기본 확장자는 '.docx', '.pdf', '.xlsx', '.csv'이지만 빌드 시점에 변경할 수 있습니다. 유출은 FTP 웹 클라이언트를 통해 이루어집니다. 일부 난독화 작업 후에도 최종 클라이언트에서 FTP URL, 사용자 이름 및 비밀번호의 기본 매개변수를 모두 볼 수 있습니다. 이를 관리하는 코드는 그림 12에서 볼 수 있습니다.

thanos-랜섬웨어-빌더-12-1.png
그림 12: FTP 파일 도용 기능. (출처: Recorded Future)

전망

Recorded Future는 2020년 2월에 다음의 랜섬웨어 트렌드를 예측하는 보고서를 발표했습니다.

이러한 예측은 타노스가 앞으로 나아갈 길을 잘 보여준다고 생각합니다. RaaS 모델은 위협 행위자에게 운영을 아웃소싱하는 가장 빠른 지불 수단으로 다른 운영자에게 널리 성공했습니다. 인식트 그룹은 노소포로스가 익스플로잇 포럼의 원본 게시물 제목을 "타노스 랜섬웨어 제휴 프로그램"이라고 붙인 것을 확인했습니다. 앞서 언급했듯이 타노스의 "라이트" 빌드를 구매하거나 획득한 사람은 제휴 프로그램에 참여할 수 있지만, 제휴 회원이 될 수 있는 자격은 아직 알려지지 않았습니다. 그러나 다른 사람들은 타노스의 전체 '회사' 버전을 구매하여 자체 제휴사 또는 RaaS 운영을 시작할 수 있습니다. 인식트 그룹은 노소포로스 도구가 "완벽하게 작동한다"는 평가와 함께 "업데이트를 계속해 달라"는 요청을 받는 등 커뮤니티에서 긍정적인 지지를 받고 있다고 밝혔습니다. 타노스는 노소포로스에서 활발하게 개발 중입니다. 레코디드 퓨처는 타노스가 위협 행위자들에 의해 개별적으로 또는 제휴 프로그램의 일부로 집단적으로 계속 무기화될 가능성이 높다고 평가합니다.

마지막으로, 학빗 샘플이 타노스 랜섬웨어 계열에 속하는 것으로 확인됨에 따라 타노스가 지난 6개월 동안 지속적으로 배포되었다는 것이 분명해졌습니다. 앞서 설명한 바와 같이, 관찰된 새로운 샘플은 시간이 지남에 따라 추가 기능을 통합하고 있으며, 이는 노소포로스가 랜섬웨어를 적극적으로 개발하고 있으며 이러한 추세가 곧 멈추지 않을 것임을 시사합니다.

편집자 주: 이 게시물은 전체 보고서에서 발췌한 내용입니다. 전체 분석을 읽으려면, Click Here 를 클릭하여 보고서를 PDF로 다운로드하세요.