10.3 – Indicatori de Atac și Interogări SPL pentru Detectarea lor
În primul rând, să analizăm evenimentele din Sysmon și semnificația lor într-un atac de tip ransomware:
Event ID | Descriere | Semnificație în Atac |
10 | Process Access (Injectare, Creare de Thread-uri) | Posibilă injectare de proces (ransomware modificând procese de sistem). |
23 | File Deletion | Ștergere de fișiere la scară largă, sugerează criptare sau eliminarea copiilor din shadow copy. |
11 | File Creation | Posibile note de răscumpărare sau payload-uri malițioase. |
13 | Registry Modification | Persistență (dezactivarea măsurilor de securitate, chei registry auto-start). |
3 | Network Connection | Conexiuni outbound către servere C2 (Command & Control). |
12 | File Modification | Criptarea fișierelor înainte de ștergere. |
1 | Process Creation | Execuția malițioasă a PowerShell, cmd.exe sau rundll32.exe. |
22 | DNS Query | Ransomware-ul poate rezolva domeniile C2 înainte de a le contacta. |
1. Detectarea Injectării de Procese (Event ID 10)
Ransomware-ul începe întotdeauna prin execuția unui proces pe mașina victimei. Acesta poate fi lansat prin:
- Descărcarea și rularea unui fișier infectat (ex: invoice.pdf.exe).
- O macrocomandă malițioasă într-un document Word care declanșează PowerShell.
- Exploatarea unei vulnerabilități pentru a rula cod la distanță fără interacțiunea utilizatorului).
Cum se Execută Ransomware-ul
Etapa 1: Execuție Inițială
- Execuție directă a LockBit.exe.
- Execuție remote prin PsExec.
- Execuție de macrocomandă prin winword.exe care lansează cmd.exe.
Etapa 2: Rulare în Memorie
- Folosește rundll32.exe sau Regsvr32.exe pentru a executa payload-uri.
- Ransomware-ul fileless se injectează în explorer.exe sau svchost.exe.
Etapa 3: Generarea de Procese Adiționale
- Criptează fișiere prin instanțe multiple de PowerShell.
- Creează procese copil care rulează criptarea în paralel.
Ce Detectăm în Acest Pas
- Identificarea execuției PowerShell, cmd.exe sau rundll32.exe cu comenzi suspecte.
- Găsirea relațiilor suspecte părinte-copil între procese.
- Monitorizarea utilizării LOLBins (Living-Off-The-Land Binaries) pentru a rula scripturi suspecte.
Tehnici de Analiză
- Căutarea proceselor suspecte (cmd.exe, powershell.exe, rundll32.exe).
- Verificarea argumentelor din linia de comandă (ex: -ExecutionPolicy Bypass, vssadmin delete).
- Monitorizarea relațiilor părinte-copil între procese (ex: winword.exe → powershell.exe).
- Detectarea execuțiilor din foldere temporare (C:\Users\admin\AppData\Local\Temp).
Detectarea execuției ransomware-ului într-un stadiu timpuriu oferă cea mai bună șansă de a opri atacul înainte de criptarea fișierelor.
Splunk Query:
index=ransom EventID=10 | search TargetImage=”*svchost.exe” OR TargetImage=”*explorer.exe” OR TargetImage=”*cmd.exe” OR TargetImage=”*winword.exe” OR TargetImage=”*powershell.exe” SourceImage!=”C:\\Program Files\\Aurora-Agent\\aurora-agent.exe” SourceImage!=”C:\\Program Files\\SplunkUniversalForwarder\\bin\\splunkd.exe” TargetImage!=”C:\\Program Files\\SplunkUniversalForwarder\\bin\\splunk-powershell.exe” SourceImage!=”C:\\Windows\\system32\\svchost.exe” SourceImage!=”C:\\Windows\\system32\\lsass.exe” SourceImage!=”C:\\Windows\\Explorer.EXE” SourceImage!=”C:\\Windows\\system32\\csrss.exe” SourceImage!=”C:\\Windows\\system32\\taskhostw.exe” SourceImage!=”C:\\Windows\\system32\\conhost.exe” SourceImage!=”C:\\Windows\\system32\\mmc.exe” | table _time User SourceImage TargetImage GrantedAccess CallTrace | sort – _time
- Dacă svchost.exe sau explorer.exe este accesat de un proces necunoscut, este posibil să fie o injectare de proces.
- rantedAccess=0x40 indică acces de scriere, ceea ce poate sugera o posibilă injectare DLL.
Observatii Cheie
Parent Process | Child Process | Why is this suspicious? |
ConfirmEmail.exe | Svchost.exe | Malware often hides inside svchost.exe. |
Prin rularea acestei analize, identificăm metoda inițială de execuție a ransomware-ului, ceea ce ne permite să urmărim comportamentul său în etapele ulterioare.
2. Detectarea Conexiunilor la Servere de Command & Control (C2) (Event ID 3)
Înainte de a cripta fișierele, ransomware-ul contactează adesea un server de Command & Control (C2) pentru:
- Descărcarea cheilor de criptare.
- Trimiterea informațiilor despre sistem către atacator.
- Verificarea dacă victima se află pe o listă „de evitat”.
- Primirea comenzii de a începe criptarea.
Exemplu real:
- Ransomware-ul LockBit interoghează un server extern înainte de a cripta fișierele.
- Unele variante de ransomware generează chei unice per victimă, ceea ce necesită contactarea serverului atacatorului înainte de criptare.
Cum se Conectează Ransomware-ul la C2
- Comunicare directă prin IP
- Utilizează adrese IP hardcodate pentru a comunica direct cu atacatorul.
- Comunicare bazată pe domenii
- Rezolvă nume de domenii dinamice folosind nslookup sau dnsapi.dll.
- Canale criptate
- Utilizează HTTPS sau protocoale personalizate pentru a ascunde traficul.
- Conexiuni prin proxy
- Trimite traficul prin TOR sau tuneluri VPN pentru a evita detectarea.
Ce Detectăm în Acest Pas
- Identificarea conexiunilor outbound către IP-uri externe.
- Găsirea proceselor care inițiază multiple conexiuni într-un timp scurt.
- Detectarea conexiunilor pe porturi neobișnuite (8080, 8443, 65432).
- Coroborarea cu feed-uri de inteligență privind amenințările ransomware..
Tehnici de Analiză
- Excluderea adreselor locale/interne (10.x.x.x, 192.168.x.x, 172.16.x.x).
- Verificarea proceselor care efectuează conexiuni externe.
- Corelarea cu interogările DNS pentru a vedea dacă ransomware-ul a rezolvat un domeniu înainte de conectare.
- Monitorizarea conexiunilor pe porturile des utilizate de ransomware (443, 8080, 8443, 80).
Splunk Query:
index=ransom EventID=3
| search NOT (DestinationIp=”10.*” OR DestinationIp=”192.168.*” OR DestinationIp=”172.16.*” OR DestinationIp=”0:0:0:0:0:0:0:1″ OR DestinationIp=”fe80:0:0:0:5d46:b69e:195c:9972″ OR DestinationIp=”ff02:0:0:0:0:0:1:2″)
| table _time User DestinationIp DestinationPort Image
| sort – _time
- Exclude IP-urile interne pentru a ne concentra pe activitatea de rețea externă.
- Conexiunile către IP-uri neobișnuite (ex: 185.x.x.x) pot indica comunicații cu un server C2.
- Conexiunile către porturi neobișnuite (ex: 80) pot sugera activitate suspectă)
Observatii cheie
Process | Destination IP | Port | Why is this suspicious? |
C:\Windows\System32\svchost.exe | 72.21.91.29 | 80 | IP is Reported on the AbuseIPDB |
C:\Windows\System32\svchost.exe | 72.21.81.240 | 80 | IP is Reported on the AbuseIPDB |
3. Detectarea Creării Notelor de Răscumpărare (Event ID 11)
După criptarea fișierelor, ransomware-ul creează note de răscumpărare pentru a informa victimele despre modalitățile de plată.
Unde sunt create notele de răscumpărare
- Desktop-ul utilizatorului: C:\Users\Public\Desktop\Restore-My-Files.txt
- Foldere de sistem: C:\Windows\System32\README.txt
- Fiecare folder criptat: C:\Documents\Important-Files\DECRYPT_FILES.txt)
Ce Detectăm în Acest Pas
- Urmărirea fișierelor nou create care ar putea fi note de răscumpărare.
- Identificarea procesului care a creat fișierul (ex: LockBit.exe).
- Corelarea creării notei de răscumpărare cu activitatea de criptare.
Tehnici de Analiză
- Monitorizarea creării fișierelor în directoare cheie (C:\Users\Public\Desktop).
- Căutarea numelelor cunoscute de note de răscumpărare (ex: README.txt, DECRYPT_FILES.txt).
- Verificarea procesului care a creat nota (ex: LockBit.exe).
- Corelarea creării notei cu execuția ransomware-ului (Pasul 2).
Splunk Query
index=ransom EventID=11
| search TargetFilename=”*Restore-My-Files.txt” OR TargetFilename=”*README.txt” OR TargetFilename=”*DECRYPT_FILES.txt”
| table _time User TargetFilename Image
| sort – _time
Observatii Cheie
Ransom Note File | Created By | Why is this suspicious? |
cHpfiXA9s.README.txt | ConfirmEmail.exe | Common ransomware behavior. |
Detectarea creării notelor de răscumpărare confirmă un atac ransomware activ.
4. Detectarea Ștergerii Backup-urilor și a Copiilor Shadow (Event ID 23)
Ransomware-ul trebuie să se asigure că victimele nu pot recupera fișierele criptate fără a plăti răscumpărarea. Pentru a face acest lucru, el:
- Șterge Volume Shadow Copies (VSS) din Windows folosind vssadmin.exe.
- Dezactivează serviciile de backup pentru a preveni recuperarea.
- Șterge punctele de restaurare Windows utilizând bcdedit.exe.
- Șterge cataloagele de backup Windows cu wbadmin.exe.
Dacă detectăm aceste acțiuni înainte ca criptarea să înceapă, putem preveni daunele ireversibile.
Cum Șterge Ransomware-ul Backup-urile
- Ștergerea directă a copiilor shadow
- vssadmin delete shadows /all /quiet
- wmic shadowcopy delete
- Dezactivarea funcțiilor de recuperare
- bcdedit /set {default} recoveryenabled no
- wbadmin delete catalog -quiet
- Oprirea serviciilor de backup
- net stop vss
- sc stop wuauserv
- Distrugerea punctelor de restaurare ale sistemului
- exe advapi32.dll,ProcessIdleTasks
Ce Detectăm în Acest Pas
- Tentative de ștergere a backup-urilor (vssadmin.exe, wbadmin.exe, bcdedit.exe).
- Procesele care execută aceste comenzi (cmd.exe, powershell.exe).
- Corelarea acestor acțiuni cu execuția ransomware-ului (Pasul 2).
Tehnici de Analiză
- Căutarea comenzilor care șterg copiile shadow.
- Verificarea dacă vssadmin.exe a fost rulat de cmd.exe sau powershell.exe.
- Investigarea dacă ștergerea backup-ului a fost urmată de criptarea fișierelor.
- Corelarea acestor acțiuni cu execuția ransomware-ului.
Splunk Query:
index=ransom EventID=23
| search Image=”*vssadmin.exe” OR Image=”*wbadmin.exe” OR Image=”*bcdedit.exe” OR Image=”*wmic.exe”
| table _time User Image CommandLine
| sort – _time
Obseravatii cheie
Process | Command Executed | Why is this suspicious? |
Cmd.exe | vssadmin delete shadows /all /quiet | Deletes all shadow copies. |
Powershell.exe | wbadmin delete catalog -quiet | Prevents Windows backups from working. |
Rundll32.exe | advapi32.dll,ProcessIdleTasks | Clears Windows System Restore Points. |
Notă: Așa cum se întâmplă în scenarii reale, uneori căutările nu vor returna niciun eveniment.
5. Detectarea Interogărilor DNS către Servere C2 (Event ID 22)
Înainte ca ransomware-ul să înceapă criptarea fișierelor, acesta rezolvă frecvent un domeniu de Command & Control (C2).
Acesta poate:
- Solicita o cheie de criptare de la serverul atacatorului.
- Descărca payload-uri suplimentare.
- Verifica dacă sistemul victimei trebuie criptat.
Dacă detectăm interogări DNS suspecte din timp, putem bloca comunicarea C2 înainte ca criptarea să înceapă.
Cum Utilizează Ransomware-ul DNS
- Domenii C2 predefinite
- Domenii hardcodate în codul ransomware-ului.
- DNS Dinamic (DDNS)
- Folosește servicii precum no-ip.com pentru a schimba frecvent adresele IP.
- Fast-flux DNS
- Rezolvă frecvent adrese IP noi pentru a evita detectarea.
- Algoritmi de Generare a Domeniilor (DGA)
- Creează mii de domenii pentru a evita blocarea.
Ce Detectăm în Acest Pas
- Interogări DNS neobișnuite (lockbit.cc, xyz123.no-ip.com).
- Domenii care rezolvă IP-uri suspecte.
- Procesele care inițiază aceste interogări DNS..
Tehnici de Analiză
- Identificarea interogărilor către domenii necunoscute (QueryName).
- Verificarea dacă sunt efectuate multiple interogări într-un timp scurt.
- Corelarea cu conexiunile de rețea outbound (Pasul 3).
- Compararea cu indicatorii cunoscuți de ransomware (Threat Intelligence)).
Splunk Query:
index=ransom EventID=22
| table _time User QueryName QueryResults Image
| sort – _time
Observatii Cheie
Process | Query Name | Resolved IP | Why is this suspicious? |
Lockbit.exe | Lockbit.cc | 185.220.101.45 | Ransomware C2 Domain |
Powershell.exe | Xyz123.no-ip.com | 203.0.113.7 | Dynamic DNS used by malware |
Notă: Observațiile cheie sunt orientative, deoarece în acest caz atacatorul nu a efectuat nicio interogare DNS.