Vulnerabilitățile de tip Remote Code Execution pot permite unui atacator să treacă de la o aplicație vulnerabilă la sistemul de operare care o găzduiește. Deși vulnerabilitatea inițială poate diferi de la un produs la altul, activitatea de post-exploatare produce adesea relații între procese similare, pe care apărătorii le pot monitoriza.
Un semnal deosebit de util este un proces de aplicație sau de server web care lansează în mod neașteptat un shell de comandă, un motor de scripting sau un utilitar de sistem. Pe Windows, acest lucru poate oferi vizibilitate asupra punctului în care exploatarea aplicației devine execuție pe gazdă.
De la exploatarea aplicației web la comenzile de sistem
Detecția se concentrează pe procese de server precum IIS, WSUS, Tomcat, Java, Apache, Nginx, PHP și Node.js. Aceste procese au în mod normal tipare de execuție previzibile. Atunci când încep să creeze procese-copil precum cmd.exe, powershell.exe, pwsh.exe, wscript.exe, mshta.exe, rundll32.exe, certutil.exe, bitsadmin.exe sau curl.exe, activitatea merită investigată.
Sursa asociază acest comportament cu RCE care afectează SharePoint, WSUS, aplicații găzduite de IIS, SAP pe Windows, console de management web și vulnerabilități care implică deserializare sau încărcare de fișiere.
Un lanț de procese suspect poate arăta astfel:
w3wp.exe → powershell.exe
sau:
java.exe → cmd.exe
Relația dintre procese în sine nu constituie o dovadă de compromitere, dar poate indica faptul că o aplicație de server a început să execute comenzi în afara fluxului său normal de aplicație.
Interogare de detecție
data.win.system.eventID:1 and data.win.eventdata.parentImage:(*\w3wp.exe or *\wsusservice.exe or *\tomcat*.exe or *\java.exe or *\httpd.exe or *\nginx.exe or *\php-cgi.exe or *\php.exe or *\node.exe) and data.win.eventdata.image:(*\cmd.exe or *\powershell.exe or *\pwsh.exe or *\wscript.exe or *\cscript.exe or *\mshta.exe or *\rundll32.exe or *\regsvr32.exe or *\certutil.exe or *\bitsadmin.exe or *\curl.exe)
Sursa a înregistrat 15.523 de potriviri în ultimele 30 de zile.
De ce contează numărul de rezultate
Un număr mare de potriviri nu înseamnă automat că au avut loc mii de atacuri. Serverele de aplicații execută uneori scripturi sau utilitare de linie de comandă din motive operaționale legitime. Aplicațiile Java pot apela comenzi de shell, aplicațiile Node.js pot invoca interpretoare de comenzi, iar sistemele găzduite de IIS pot rula scripturi administrative.
Din acest motiv, această interogare funcționează bine ca punct de plecare pentru threat hunting. Primul obiectiv ar trebui să fie înțelegerea combinațiilor părinte-copil care generează volumul.
Grupări utile includ:
procesul-părinte;
procesul-copil;
numele gazdei;
contul de serviciu sau utilizatorul;
linia de comandă;
calea de execuție;
frecvența.
Dacă majoritatea evenimentelor provin de la un server de aplicații cunoscut care lansează în mod repetat același script aprobat, acel comportament poate fi documentat. Un eveniment rar w3wp.exe → powershell.exe pe un server expus la internet poate merita însă o investigație imediată.
Investigarea evenimentelor suspecte
Linia de comandă este unul dintre cele mai importante câmpuri de analizat. Un script administrativ cunoscut are un profil de risc foarte diferit față de o comandă PowerShell codificată neașteptată, o adresă URL de descărcare externă sau o comandă care efectuează descoperire.
Analiștii ar trebui, de asemenea, să examineze activitatea imediat înainte și după evenimentul de creare a procesului. Întrebări utile includ:
A primit aplicația solicitări neobișnuite înainte de pornirea procesului?
A creat procesul-copil procese suplimentare?
A scris fișiere în directoare temporare sau de aplicație?
A realizat conexiuni de rețea de ieșire?
A modificat setări de securitate sau mecanisme de persistență?
A avut loc activitate similară pe alte sisteme?
Cu cât dovezile din jur sunt mai solide, cu atât SOC-ul poate avea mai multă încredere în detecție.
Reglarea detecției
Detecția ar trebui reglată cu atenție. Excluderile largi, precum ignorarea fiecărui eveniment java.exe → cmd.exe sau w3wp.exe → powershell.exe, ar putea elimina o vizibilitate de securitate valoroasă.
O abordare mai bună este crearea unor excepții restrânse folosind combinații precum:
gazdă cunoscută + cale de proces cunoscută + linie de comandă cunoscută + cont de serviciu cunoscut
Aceasta păstrează detecția bazată pe comportament, reducând totodată zgomotul operațional așteptat.
De la regulă de hunting la regulă de detecție
Odată ce activitatea normală din mediu este înțeleasă, aceeași interogare poate fi transformată într-o alertă mai precisă. Variantele de mare valoare se pot concentra pe relații părinte-copil rare, gazde neașteptate, linii de comandă neobișnuite, descărcări externe sau execuție din locații în care utilizatorul poate scrie.
Principiul cheie este simplu: serviciile web și de aplicații nu ar trebui să se comporte în mod neașteptat ca utilizatori interactivi. Monitorizarea momentului în care încep să lanseze shell-uri sau utilitare de sistem poate oferi un semnal valoros pentru detectarea RCE și a activității de post-exploatare.

