Översikt
Hälsningar vänner!
Problemet som vår klient kom till oss med är ett BlackMatter.
Detta problem plågade kunden gång på gång, vilket tvingade kunden att ansöka om säkerhetsgranskningstjänster från oss.
I den här artikeln kommer vi att ge en teknisk analys av BlackMatter ransomware, med fokus på dess metoder, bibliotek och tekniker som används för att infektera och kryptera målsystem.
BlackMatter är en ransomware som först sågs i juli 2021. Det är en möjlig ommärkning av DarkSide, en rysktalande Ransomware-as-a-Service (RaaS) grupp baserad i Östeuropa.
BlackMatter-ransomware skrevs i C++ och kompilerades för Win32-plattformen. Precis som andra varianter av ransomware använder BlackMatter kryptering för att hindra åtkomst till offrets filer, och kräver en lösensumma i utbyte mot dekrypteringsnyckeln. BlackMatter använder en kombination av symmetrisk och asymmetrisk kryptering för att kryptera filerna. Ransomware skapar först en slumpmässig 256-bitars nyckel, som sedan används till att kryptera offrets data. Nyckeln krypteras sedan med en RSA-offentlig nyckel, som är unik för varje offer. Detta säkerställer att endast angriparna besitter den privata nyckeln som krävs för att dekryptera datan.
En anmärkningsvärd aspekt av BlackMatter är dess användning av Salsa20-algoritmen för symmetrisk kryptering.
Analys
För att analysera BlackMatter ransomware använde vi flera verktyg:
CFF Explorer (https://ntcore.com/?page_id=388)
x64Dbg (https://x64dbg.com/)
ProcessHacker (https://github.com/processhacker)
CFF Explorer användes för filanalys och för att extrahera nödvändig information från binärfilen.
IDA användes för att demontera koden och analysera funktionerna, variablerna och strängarna som användes i ransomware.
x64Dbg användes för att felsöka binärfilen och förstå körtidsbeteendet hos ransomware. DIE användes för att upptäcka packern som användes i ransomware.
ProcessHacker användes för att övervaka systemets processer och nätverksaktivitet under analysen.
Låt oss utforska hur BlackMatter fungerar!
Innan motorn startar utför BlackMatter förberedande arbete och, om det lyckas, börjar huvudarbetet:
Först laddar BlackMatter-appen bibliotek och hämtar adresser till API:er:
Som du kan se från listan över laddade moduler använder krypteraren bcrypt och ncrypt moduler för kryptering. Här är en lista över laddade moduler:
BlackMatter använder api-hashningstekniken som gör malware-analys lite svårare genom att dölja misstänkta importerade Windows API:er från importadress-tabellen i den portabla körbara filen. Hur API-hashningstekniken fungerar kan du hitta här: https://www.ired.team/offensive-security/defense-evasion/windows-api-hashing-in-malware
Innan API-hash avkrypteras:
Efter att ha dekrypterat API-hash:
BlackMatter-ransomware håller data i den packade och krypterade sektionen, och packar upp och dekrypterar vid starten av programmet. Detta för att göra analysen svårare för malwareanalytikern vid en statisk analys.
Packar upp och avkodar funktion:
Uppackningsprocess:
Ransomware kan inte arbeta med före detta USSR-länder och Syrien, eftersom det utvecklades av en rysktalande grupp baserad i Östeuropa. För att göra detta genomför de en språkkontroll.
Språkkontroller:
Tabell över ej understödda språk:
Skadprogrammet använder SHTestTokenMembership API för att kontrollera att användaren som startade processen är medlem i Administratörsgruppen på datorn.
Kontrollerar token:
Nästa steg malware kontrollerar OS-versionen.
Kontrollerar OS-version:
Om villkoren inte har uppfyllts kommer appen att försöka skaffa administratörsrättigheter via COM-exploiten. BlackMatter utnyttjar sårbarheten i COM för att höja rättigheter och maskerar också vår applikation som DllHost.exe via LdrEnumerateModulesCallback. Namnändringen kan lura debuggern att tro att en annan binär laddas, vilket i sin tur kommer att ta bort eventuella brytpunkter.
Försöker skaffa administratörsrättigheterna:
COM-exploiten för att skaffa administratörsprivilegier använder COM-gränssnitt och COM Elevation Moniker:
Ransomware maskerar applikationen som DllHost.exe via LdrEnumerateModulesCallback, vilket i sin tur går igenom alla moduler för vilka callback anropas. Och om moduladressen är densamma som vår process, då ersätter vi namnet:
Bevis på koncept för att byta namn:
Skadeprogrammet genererar en filändelse baserad på Machine GUID, som lagras i "HKLMSoftwareMicrosoftCryptography". I vårt fall fick vi filändelsen: "KmyLfX2Lb":
Nästa kommer krypteraren att generera en tillägg för README-filen, och vi får detta tillägg (“KmyLfX2Lb.README.txt”) på testmaskinen:
Skadeprogrammet aktiverar alla nödvändiga behörigheter. Lista över behörigheter:
- SeBackupPrivilege
- SeCreatePagefilePrivilege
- SeCreateSymbolicLinkPrivilege
- SeDebugPrivilege
- SeDelegateSessionUserImpersonatePrivilege
- SeIncreaseBasePriorityPrivilege
- SeIncreaseQuotaPrivilege
- SeIncreaseWorkingSetPrivilege
- SeLoadDriverPrivilege
- SeManageVolumePrivilege
- SeProfileSingleProcessPrivilege
- SeRemoteShutdownPrivilege
- SeRestorePrivilege
- SeSecurityPrivilege
- SeShutdownPrivilege
- SeSystemEnvironmentPrivilege
- SeSystemProfilePrivilege
- SeSystemtimePrivilege
- SeTakeOwnershipPrivilege
- SeTimeZonePrivilege
- SeUndockPrivilege
Aktiverar privilegier:
Nästa steg är att kryptorn höjer prioriteten för den aktuella processen, via NtSetInformationProcess API. Denna kod sätter processprioriteten till hög CPU-prioritet och medium I/O-prioritet, vilket kan förbättra processens prestanda i ett multitasking-system genom att tillåta den att använda fler CPU-resurser.
Höj processprioritet:
Om cryptor inte har tillräckliga rättigheter kommer den att injicera en shellcode i svchost.exe, vilket kommer att möjliggöra för den att höja rättigheterna.
Förberedelser innan injektion:
Injectera shellcode i svchost.exe:
Nästa steg är att skadprogrammet ställer in ES_CONTINUOUS | ES_SYSTEM_REQUIRED tillståndet för att inaktivera viloläge och paus av applikationer.
Ändrar trådens exekveringsstatus:
Sedan samlar och sparar skadeprogrammet information om enheter i JSON-formatet:
Nästa steg är att skadeprogrammet stoppar och raderar tjänster som finns på svartlistan. Listan är densamma som den i REvil-gruppens ransomware, och svartlistan inkluderar:
- Vss
- Sql
- Svc$
- Memtas
- Mepocs
- Sophos
- Veeam
- Backup
- GxVss
- GxBlr
- GxFWD
- GxCVD
- GxCIMgr
Stoppa och radera tjänster från svartlistan:
Nästa steg är att skadeprogrammet stoppar processer som finns på svartlistan. Listan är densamma som den som används i REvil-gruppens ransomware, och svartlistan inkluderar:
- 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
Stoppa processer från svartlistan:
Kryptor används Salsa20-algoritmen för att kryptera filer:
Detektion
För punktskydd mot detta hot använde vi:
vår YARA-regel för att upptäcka BlackMatter ransomware
vår lösning för att upptäcka aktivitet från BlackMatter
Beteendebaserad detektion kan användas för att upptäcka krypterad skadlig programvara. Vi kan sätta krokar på avsluta process och stoppa service API:er, för att upptäcka BlackMatter. Det är också möjligt att spåra arbetet med registret, utförandet av exploiten.
SToFU-teamet rekommenderar följande åtgärder som organisationer kan vidta för att skydda sig mot BlackMatter ransomware och andra liknande hot:
-
Säkerhetsrevisioner: Genomför regelbundet säkerhetsrevisioner av ditt företagsnätverk
-
Backuper: Se till att all viktig data regelbundet säkerhetskopieras och att backuperna lagras offline eller externt för att förhindra att de krypteras av ransomware.
-
Håll programvara uppdaterad: Uppdatera regelbundet all programvara och operativsystem för att säkerställa att kända sårbarheter åtgärdas.
-
Använd anti-malware-lösningar: Implementera anti-malware-lösningar på alla system för att upptäcka och förhindra malwareinfektioner.
-
Använd accesskontroller: Begränsa tillgången till känsliga system och data endast till de som behöver det. Detta hjälper till att begränsa spridningen av ransomware vid en infektion.
-
Utbilda anställda: Utbilda anställda i hur de kan identifiera och undvika phishingbedrägerier, misstänkta e-postmeddelanden och skadliga webbplatser.
-
Ha en plan: Utveckla och öva en incidenthanteringsplan för att effektivt kunna svara på en ransomware-attack.
-
Ha en kvalificerad cybersäkerhetspartner: Partnern kommer att hjälpa dig att säkerställa säkerheten för företagsnätverket och företagsmaskiner, undersöka befintliga säkerhetsproblem, föreslå lösningar och förhindra uppkomsten av nya säkerhetsproblem i tid, där det är möjligt.
Samarbete
Vänner,
För alla frågor angående samarbete inom områdena reverse engineering, analys av skadliga filer, säkerhetsrevision och cybersäkerhet för företagsnätverk, kan ni kontakta oss på: midgard@stofu.io
Vi är uppriktigt glada att samarbeta och välkomna nya partners!