Ricognizione delle Difese: Security Software Discovery (T1518.001)
La tecnica T1518.001 descrive la fase in cui un attaccante, ottenuto un primo accesso al sistema, cerca di mappare le difese installate: antivirus, EDR, firewall, agenti di monitoring cloud e strumenti di analisi. È un'attività di ricognizione post-compromissione classificata sotto la tattica TA0007 (Discovery) e rappresenta uno snodo decisionale: il risultato dell'enumerazione condiziona se procedere con il payload completo, se attivare routine di evasione, oppure se abbandonare la macchina per non bruciare capacità offensive.
L'ecosistema di attori che la impiega è vastissimo: 27 gruppi APT censiti, 105 famiglie di malware e 3 campagne documentate. La popolarità nasce dalla natura stessa dell'operazione, spesso realizzabile con binari nativi come tasklist, reg query, netsh o sc query, che difficilmente destano allarme se osservati isolatamente. Su macOS il pattern è analogo con controlli mirati a LittleSnitch e KnockKnock, mentre in ambienti cloud l'enumerazione riguarda agenti come CloudWatch, Azure VM Agent o Google Cloud Monitor.
L'impatto operativo è indiretto ma sostanziale: consente al malware di adattarsi dinamicamente, disabilitare selettivamente controlli, o modificare i propri artefatti per aggirare firme note. Comprendere come, dove e con quali strumenti gli attaccanti effettuano questa ricognizione permette ai difensori di intercettarli in una finestra temporale ancora ampia rispetto alla fase di impatto.
In un ingaggio red team, la ricognizione delle difese va condotta con la stessa cautela di un attaccante reale: comandi rumorosi possono generare alert che compromettono l'operazione. L'approccio raccomandato è procedere per livelli crescenti di invasività, partendo da query passive.
Su Windows, l'enumerazione base sfrutta WMI attraverso il namespace SecurityCenter2, che restituisce prodotti AV registrati nel Security Center. La sintassi replicata da numerosi malware, tra cui IcedID e Action RAT, è:
wmic /Node:localhost /Namespace:\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List
L'equivalente PowerShell, adottato da Kimsuky, è Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntiVirusProduct. Per verificare servizi EDR specifici, il pattern osservato in Storm-0501 consiste in sc query sense (Defender for Endpoint) e sc query windefend. L'enumerazione dei processi via tasklist /svc o Get-Process consente di correlare eseguibili come MsMpEng.exe, avp.exe (Kaspersky), ekrn.exe (ESET) con i vendor.
Per il firewall, il comando osservato in Naikon è netsh advfirewall firewall show rule name=all. La lettura del registro con reg query "HKLM\SOFTWARE\Microsoft\Windows Defender" rivela stato ed esclusioni del Defender.
In ambiente red team, framework come Empire (open source) e SILENTTRINITY (open source) offrono moduli dedicati all'enumerazione AV attraverso resolution di SID virtuali dei servizi. Brute Ratel C4 (a pagamento) è in grado di individuare hook userland tipici degli EDR, mentre Pacu (open source) copre l'enumerazione lato AWS di WAF rules e GuardDuty detectors.
Su Linux, l'approccio è più diretto: ps -ef | grep -Ei "clam|sophos|crowdstrike|falcon" e verifica dei servizi con systemctl list-units --type=service. Skidmap, ad esempio, verifica setenforce per determinare lo stato di SELinux.
Su macOS, i controlli tipici sono ps -ef | grep -i "littlesnitch|knockknock", ispezione di /Library/LaunchDaemons/, verifica delle system extensions con systemextensionsctl list e stato SIP con csrutil status (pattern osservato in XCSSET).
Su ESXi, l'enumerazione avviene tramite esxcli software vib list per moduli di sicurezza installati e esxcli network firewall ruleset list per le regole attive. La regola operativa: eseguire un solo comando per volta, distanziato nel tempo, e mai in sequenza automatizzata che generi pattern riconoscibili.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo