logo

개요

안녕하세요, 친구들!

저희 고객이 저희에게 가져온 문제는 BlackMatter입니다.

이 문제가 고객을 계속해서 괴롭혔기 때문에, 고객은 저희에게 보안 감사 서비스를 신청하도록 강요받았습니다.

이 기사에서는 BlackMatter 랜섬웨어의 기술적 분석을 제공할 것이며, 대상 시스템을 감염시키고 암호화하는 데 사용된 방법, 라이브러리, 및 기술에 초점을 맞출 것입니다.

BlackMatter는 2021년 7월에 처음 발견된 랜섬웨어입니다. 이는 동유럽에 기반을 둔 러시아어 사용 Ransomware-as-a-Service (RaaS) 그룹인 DarkSide의 재브랜딩일 가능성이 있습니다.

BlackMatter 랜섬웨어는 C++로 작성되어 Win32 플랫폼용으로 컴파일되었습니다. 다른 랜섬웨어 변종들처럼, BlackMatter도 피해자의 파일 접근을 방지하기 위해 암호화를 사용하며, 복호화 키를 얻기 위한 몸값을 요구합니다. BlackMatter는 파일을 암호화하기 위해 대칭 암호화와 비대칭 암호화의 결합을 사용합니다. 랜섬웨어는 먼저 무작위 256비트 키를 생성하고, 이 키를 사용하여 피해자의 데이터를 암호화합니다. 그 다음 이 키는 각 피해자에게 고유한 RSA 공개 키를 사용하여 암호화됩니다. 이는 데이터를 복호화하기 위해 필요한 개인 키를 공격자만이 소지하고 있음을 보장합니다.

BlackMatter의 주목할 만한 특징 중 하나는 대칭 암호화를 위해 Salsa20 알고리즘을 사용한다는 것입니다.

 

분석

BlackMatter 랜섬웨어를 분석하기 위해, 우리는 여러 도구를 사용했습니다:

CFF Explorer는 파일 분석과 바이너리에서 필요한 정보를 추출하기 위해 사용되었습니다.

IDA는 랜섬웨어에서 사용된 코드를 분해하고 함수, 변수, 문자열을 분석하는 데 사용되었습니다.

x64Dbg는 랜섬웨어의 바이너리를 디버깅하고 런타임 동작을 이해하는 데 사용되었습니다. DIE는 랜섬웨어에 사용된 패커를 감지하는 데 사용되었습니다.

ProcessHacker는 분석 중 시스템의 프로세스와 네트워크 활동을 모니터링하는 데 사용되었습니다.

 

BlackMatter가 어떻게 작동하는지 알아봅시다!

엔진을 시작하기 전에, BlackMatter는 준비 작업을 수행하고, 성공적이면 주요 작업을 시작합니다:

처음에 BlackMatter 앱은 라이브러리를 로드하고 API의 주소를 가져옵니다:

로드된 모듈 목록에서 알 수 있듯이, cryptor는 암호화를 위해 bcrypt와 ncrypt 모듈을 사용합니다. 로드된 모듈의 목록은 다음과 같습니다:

BlackMatter는 실행 가능 포터블의 가져오기 주소 테이블에서 의심스러운 가져온 Windows API를 숨기는 것으로 맬웨어 분석을 조금 더 어렵게 만드는 api-hashing 기술을 사용합니다. API 해싱 기술이 어떻게 작동하는지는 여기에서 확인할 수 있습니다: https://www.ired.team/offensive-security/defense-evasion/windows-api-hashing-in-malware

API 해시를 해독하기 전:

API 해시를 해독한 후:

BlackMatter 랜섬웨어는 데이터를 압축 및 암호화된 섹션에 보관하고, 프로그램 시작 시 압축 해제 및 복호화합니다. 이는 정적 분석에서 악성 코드 분석가의 분석을 더 어렵게 만들기 위함입니다.

Unpacks and decode function:

개봉 과정:

해당 랜섬웨어는 동유럽에 기반을 둔 러시아어를 사용하는 그룹이 개발하여, 구 소련 국가들과 시리아에서는 작동하지 않습니다. 이를 위해 그들은 언어 검사를 수행합니다.

언어 검사:

지원되지 않는 언어 목록:

이 멀웨어는 사용자가 프로세스를 시작한 사람이 컴퓨터의 관리자 그룹의 멤버인지 확인하기 위해 SHTestTokenMembership API를 사용합니다.

토큰을 확인합니다:

다음 단계에서 맬웨어는 OS 버전을 확인합니다.

OS 버전을 확인합니다:

조건이 충족되지 않은 경우, 앱은 COM 익스플로잇을 통해 관리자 권한을 획득하려고 시도할 것입니다. BlackMatter는 COM의 취약점을 이용하여 권한을 상승시키며, 또한 우리의 애플리케이션을 DllHost.exe로 가장하고 LdrEnumerateModulesCallback을 통해 이름을 변경합니다. 이름 변경은 다른 바이너리가 로드되고 있다고 디버거를 속여서 중단점을 제거하게 할 수 있습니다.

관리자 권한을 획득하려고 합니다:

관리자 권한을 획득하기 위한 COM 익스플로잇은 COM 인터페이스와 COM Elevation Moniker를 사용합니다:

랜섬웨어는 LdrEnumerateModulesCallback을 통해 응용 프로그램을 DllHost.exe로 가장하며, 이 콜백이 호출되는 모든 모듈을 검토합니다. 그리고 모듈 주소가 우리의 프로세스와 동일하다면, 이름을 다음과 같이 교체합니다:

이름 변경 개념 증명:

해당 멀웨어는 "HKLMSoftwareMicrosoftCryptography"에 저장된 머신 GUID를 기반으로 파일 확장자를 생성합니다. 우리의 경우, 확장자 "KmyLfX2Lb"를 얻었습니다:

다음으로, cryptor는 README 파일에 대한 확장자를 생성하며, 테스트 기계에서 이 확장자("KmyLfX2Lb.README.txt")를 얻습니다:

해당 맬웨어는 필요한 모든 권한을 활성화합니다. 권한 목록:

  • SeBackupPrivilege
  • SeCreatePagefilePrivilege
  • SeCreateSymbolicLinkPrivilege
  • SeDebugPrivilege
  • SeDelegateSessionUserImpersonatePrivilege
  • SeIncreaseBasePriorityPrivilege
  • SeIncreaseQuotaPrivilege
  • SeIncreaseWorkingSetPrivilege
  • SeLoadDriverPrivilege
  • SeManageVolumePrivilege
  • SeProfileSingleProcessPrivilege
  • SeRemoteShutdownPrivilege
  • SeRestorePrivilege
  • SeSecurityPrivilege
  • SeShutdownPrivilege
  • SeSystemEnvironmentPrivilege
  • SeSystemProfilePrivilege
  • SeSystemtimePrivilege
  • SeTakeOwnershipPrivilege
  • SeTimeZonePrivilege
  • SeUndockPrivilege

권한을 활성화합니다:

다음으로 cryptor는 NtSetInformationProcess API를 통해 현재 프로세스의 우선 순위를 높입니다. 이 코드는 프로세스의 우선 순위를 높은 CPU 우선 순위와 중간 I/O 우선 순위로 설정하여 멀티태스킹 시스템에서 더 많은 CPU 자원을 사용할 수 있게 하여 프로세스의 성능을 향상시킬 수 있습니다.

프로세스 우선 순위 높이기:

cryptor에 충분한 권한이 없다면, 권한을 상승시킬 수 있도록 svchost.exe에 쉘코드를 주입할 것입니다.

주입 전 준비:

svchost.exe에 쉘코드를 주입하세요:

다음으로, 맬웨어는 ES_CONTINUOUS | ES_SYSTEM_REQUIRED 상태를 설정하여 최대 절전 모드와 애플리케이션 중단을 비활성화합니다.

스레드 실행 상태를 변경합니다:

그러면 맬웨어는 JSON 형식으로 드라이브에 대한 정보를 수집하고 저장합니다:

다음으로, 맬웨어는 블랙리스트에 있는 서비스를 중지하고 삭제합니다. 이 목록은 REvil 그룹의 랜섬웨어에 있는 것과 동일하며, 블랙리스트에는 다음이 포함됩니다:

  • Vss
  • Sql
  • Svc$
  • Memtas
  • Mepocs
  • Sophos
  • Veeam
  • Backup
  • GxVss
  • GxBlr
  • GxFWD
  • GxCVD
  • GxCIMgr

블랙리스트에서 서비스를 중지하고 삭제하세요:

다음으로, 맬웨어는 블랙리스트에 있는 프로세스를 중지합니다. 이 리스트는 REvil 그룹의 랜섬웨어에 있는 것과 동일하며, 블랙리스트에는 다음이 포함됩니다:

  • Sql
  • Oracle
  • Ocssd
  • Dbsnmp
  • Synctime
  • Agntsvc
  • Isqlplussvc
  • Xfssvccon
  • Mydesktopservice
  • Ocautoupds
  • Encsvc
  • Firefox
  • Tbirdconfig
  • Mydesktopqos
  • Ocomm
  • Dbeng50
  • Sqbcoreservice
  • Excel
  • Infopath
  • Msaccess
  • Mspub
  • Onenote
  • Outlook
  • Powerpoint
  • Steam
  • Thebat
  • Thunderbird
  • Visio
  • Winword
  • Wordpad
  • Notepad

블랙리스트에서 프로세스 중지:

The cryptor는 파일 암호화를 위해 Salsa20 알고리즘을 사용합니다:

 

탐지

이 위협에 대한 포인트 보호를 위해 우리는 다음을 사용했습니다:

  • BlackMatter 랜섬웨어 감지를 위한 우리의 YARA 규칙

  • BlackMatter 활동 감지를 위한 우리의 솔루션

행위 기반 탐지는 암호화된 맬웨어를 탐지하는 데 사용될 수 있습니다. BlackMatter를 탐지하기 위해 프로세스 종료 및 서비스 중단 API에 훅을 설정할 수 있습니다. 레지스트리 작업 추적 및 익스플로잇 실행도 가능합니다.

SToFU 팀은 조직이 BlackMatter 랜섬웨어 및 기타 유사한 위협으로부터 자신을 보호하기 위해 취할 수 있는 다음과 같은 조치를 권장합니다:

  1. 보안 감사: 회사 네트워크의 보안 감사를 정기적으로 실시하십시오

  2. 백업: 모든 중요 데이터가 정기적으로 백업되고 백업본이 오프라인이나 외부 장소에 저장되어 랜섬웨어에 의해 암호화되는 것을 방지하도록 합니다.

  3. 소프트웨어 최신 상태 유지: 모든 소프트웨어 및 운영 체제를 정기적으로 업데이트하여 알려진 취약점이 수정되도록 합니다.

  4. 악성 소프트웨어 방지 솔루션 사용: 모든 시스템에 악성 소프트웨어 방지 솔루션을 구현하여 맬웨어 감염을 탐지하고 예방합니다.

  5. 접근 제어 사용: 민감한 시스템과 데이터에 대한 접근을 필요한 사람들에게만 제한합니다. 이는 감염 시 랜섬웨어의 확산을 제한하는 데 도움이 됩니다.

  6. 직원 교육: 직원들이 피싱 사기, 의심스러운 이메일, 해로운 웹사이트를 식별하고 피하는 방법을 교육합니다.

  7. 계획 수립: 랜섬웨어 공격에 효과적으로 대응하기 위한 사고 대응 계획을 개발하고 실행해 봅니다.

  8. 숙련된 사이버보안 파트너 보유: 파트너는 회사 네트워크와 기업 기기의 보안을 확보하고, 기존 보안 문제를 조사하며, 해결책을 제안하고, 가능한 한 시기적절하게 새로운 보안 문제의 출현을 예방하는 데 도움을 줍니다.

 

협력

친구들,

리버스 엔지니어링, 악성 파일 분석, 보안 감사 및 기업 네트워크의 사이버보안과 관련된 모든 협력 문의는 다음 연락처로 주시기 바랍니다: midgard@stofu.io

우리는 진심으로 협력과 새로운 파트너들을 환영합니다!