Skip to main content
  1. Concetti/

Malware Classification - Virus, Worm, Trojan, RAT, Rootkit

·5 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Malware Classification - Mappa Globale
#

Concetto base
#

Il malware (malicious software) e' qualsiasi codice creato per compromettere, danneggiare o accedere senza autorizzazione a sistemi e dati. La classificazione si basa su due assi distinti: il propagation method (come si diffonde) e il payload (cosa fa una volta dentro). Conoscere la differenza e' fondamentale per riconoscere gli indicatori di attacco e scegliere la risposta corretta.

malware-types-panel-1.webp

malware-identification-flowchart.webp

Virus - richiede un host
#

Un virus e' codice che si aggancia a un file eseguibile host e non puo' girare autonomamente: ha bisogno che l'utente esegua il file infetto per attivarsi e replicarsi.

Distinzione chiave: virus = ha bisogno di un host file. Il payload arriva dopo la replica massima, non subito.

TipoCaratteristica discriminanteKeyword esame
PolymorphicCambia firma, cifra payload, struttura resta"cambia codice ad ogni infezione"
MetamorphicRiscrive l'intero corpo del virus"riscrittura totale del codice"
Boot SectorSi installa nel MBR, parte prima dell'OS"infetta il processo di avvio"
MacroDentro documenti Office"allegato Office con macro"
HoaxNON e' malware: avviso falso che spinge l'utente a fare danni"avviso di infezione inesistente"

Worm - autonomo in rete
#

Un worm e' malware self-replicating che si propaga senza host file e senza interazione utente: sfrutta vulnerabilita' nei servizi esposti (SMB, SQL, RDP) e si diffonde autonomamente da sistema a sistema.

malware-worm-self-propagating.webp

WannaCry kill chain:

  1. Scanner di rete: cerca porta 445 (SMB) aperta
  2. EternalBlue (MS17-010): buffer overflow nel kernel Windows via SMBv1
  3. DoublePulsar: backdoor kernel-level invisibile all'AV
  4. Payload: cifra file + genera nuovi IP da scansionare
  5. Ransom note: $300 in Bitcoin con countdown 72h

Il kill switch era intenzionale: WannaCry controllava se un dominio fosse registrato prima di attivarsi (meccanismo anti-sandbox). Marcus Hutchins lo registro' per ~$10 e fermò la diffusione globale.

Trojan - inganno senza replica
#

Un Trojan e' malware che si maschera da software legittimo e utile per convincere l'utente a installarlo volontariamente. A differenza del virus, non si replica autonomamente: la forza e' nell'inganno iniziale.

malware-trojan-distribution.webp

Backdoor C2 reverse beacon: il malware fa una connessione uscente verso il server dell'attaccante. Il firewall non la blocca perche' sembra traffico normale. L'attaccante non deve aprire porte: e' il malware che "telefona a casa".

RAT - controllo remoto live
#

Un RAT (Remote Access Trojan) e' un sottoinsieme del Trojan il cui payload e' il controllo remoto interattivo completo: l'attaccante vede lo schermo, attiva webcam e microfono, accede ai file e usa le credenziali di rete della vittima come se fosse seduto davanti alla macchina.

malware-rat-remote-access-trojan.webp

Backdoor vs RAT: backdoor = porta lasciata aperta. RAT = l'attaccante si siede alla scrivania della vittima e controlla tutto in tempo reale.

Rootkit - kernel-level hiding
#

Un rootkit e' malware che opera a livello kernel per ottenere accesso amministrativo e nascondere la propria presenza: usa hooking per intercettare le chiamate al sistema operativo, rendendo invisibili i propri processi anche all'antivirus.

malware-rootkit-hooking-registry.webp

Registry = database gerarchico di Windows (come /etc/ su Linux ma centralizzato). I rootkit modificano HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run per persistenza a ogni boot.

Come si rileva (difficile): scansione da media esterno pre-boot (rootkit non ancora caricato), analisi RAM, File Integrity Monitor (FIM). Un "tutto ok" dall'AV NON e' sufficiente.

Spyware, Adware e PUP
#

Lo spyware e' malware che monitora silenziosamente l'attivita' utente e invia le informazioni raccolte a terzi senza consenso. L'adware mostra pubblicita' indesiderate. I PUP (Potentially Unwanted Program) sono borderline: tecnicamente "consensuali" ma con consenso ottenuto in modo ingannevole.

malware-spyware-data-harvesting.webp

Drive-by download: il malware si installa automaticamente visitando un sito web compromesso, senza click. Non e' un tipo di malware - e' un canale di consegna (come phishing email o USB). Il sito sfrutta una vuln nel browser o plugin.

Tabella comparativa
#

Il modo piu' rapido per distinguere i tipi di malware in una domanda d'esame:

TipoSi replicaRichiede utenteNasconde da OSPayload principaleKeyword esame
VirusSi (file)SiNoDanno locale, replica"attaches to host", "requires execution"
WormSi (rete)NoNoSpread + payload"spreads automatically", "no user interaction"
TrojanNoSiNoBackdoor, C2"disguised as legitimate", "appears useful"
RATNoSiNoControllo remoto live"remote control", "webcam", "keystrokes live"
RootkitNoNo1SiPersistenza invisibile"hidden processes", "not visible to OS"
SpywareNoNoNoData harvesting"collects data silently", "sent to third party"
RansomwareVariaNo2NoCifratura + estorsione"files encrypted", "ransom demand"
Logic BombNoNoNoTrigger su evento"dormant until", "fires on condition"

[Dev parallel] Un worm trova una porta SMB aperta e si copia esattamente come una dipendenza npm mal configurata che sfrutta un path traversal per iniettarsi in produzione: zero click dall'utente, automazione totale. Un Trojan invece e' una dipendenza npm malevola che sembra legittima (npm install cool-lib) ma in postinstall lancia uno script che apre un reverse shell. Il rootkit e' invece come un monkeypatching del kernel Node fatto da codice iniettato: require.load intercettato, ogni chiamata a process.list() restituisce una lista ripulita.


  1. Il rootkit richiede un vettore iniziale (exploit o Trojan dropper) per installarsi. ↩︎

  2. Il ransomware moderno e' spesso un worm (WannaCry) o arriva via phishing. ↩︎

Related