Iscriviti ora al Webinar di presentazione del corso Ethical Hacker! Scopri di più
Iscriviti ora al Webinar di presentazione del corso CISO! Scopri di più
Pillole di #MalwareAnalisys
Una delle tecniche utilizzate dai malware per colpire un processo è quella dell’#IAT #hooking. Questa tecnica prevede la modifica dell’indirizzo di chiamata di una funzione nella Import Address Table del processo vittima. Il Malware apre il processo vittima, esegue una scansione della IAT sino a trovare l’indirizzo della funzione da colpire e sostituisce il suo indirizzo con quello della funzione malevola.
Questa tecnica è estremamente difficile da identificare con la classica malware analisi dinamica di base richiedendo ,infatti , capacità di #ReverseEngineering. Una funzione tipica che si può trovare all’interno di malware che eseguono queste operazioni è #VirtualProtect che permette di cambiare i diritti in lettura/scrittura delle pagine di memoria da modificare.
Se questo malware non fosse compresso o criptato da una analisi delle stringhe si potrebbe evincere questo comportamento.
Ma raramente un malware analyst è così fortunato!
#cybersecurity #zeroday #hacker #
Pillole di #MalwareAnalysis
Nella pillola precedente ho parlato del #DAG (domain algorithm generation) e ho detto che insieme alle tecniche di fluxing permette di proteggere il #Master di una #botnet.
Le tacniche di fluxing sono due: il #singleFlux ed il #doubleFlux.
Nel single flux nel server dns autoritativo viene cambiato costantemente il record A che associa il dominio da contattare (quello del #botmaster) all’ip.
Ogni vola che nel dns viene registrata un’associazione tra Dominio ed IP viene fatto con un TTL (time to live) estremamente basso. Questa associazione viene richiesta dagli #zombie della botnet, ed alla scadenza un nuovo zombie si registra. Il risultato è un ip associato al dominio in continua variazione.
Se a questo associamo che grazie al DAG anche il nome di dominio cambia costantemente si capisce come diventi difficile individuare i botmaster e spegnere una botnet.
#cybersecurity #malware #zeroday #hacker
Pillole di #MalwareAnalysis
Le #DLL sono dei particolari file utilizzati in ambiente #Windows con lo scopo di rendere disponibili ad altri programmi specifiche funzioni.
Questa caratteristica permette al programma fruitore di poter utilizzare funzioni fornite dalla DLL senza doverle riscrivere nuovamente .
Ad es. User32.dll fornisce tutte le API per poter lavorare con l’interfaccia grafica, come ad esempio MessageBox(), un programma che deve utilizzare questa primitiva potrà caricare User32.dll ed utilizzare la funzione per poter mostrare una finestra di messaggio senza la necessità di doverla riscrivere di nuovo.
Naturalmente i #malware approfittano di questa caratteristica vanno a manipolare le DLL per iniettare codice malevolo all’interno del programma fruitore.
Questo viene ottenuto con diversi tipi di attacchi, uno di questi è il DLL search order hijacking che prevede di ingannare Windows sfruttando l’ordine di ricerca delle DLL all’interno del file system.
In pratica Windows quando deve caricare una dll la ricerca secondo uno schema predefinito, se l’attaccante riesce a mettere nella catena di ricerca una DLL malevola prima di quella legittima il gioco è fatto.
#cybersecurity #cybersecurityup #hacker #dllsearchorderhijacking #zeroday
Pillole di #MalwareAnalisys
Durante l’analisi di un bot agent è fondamentale andare a ricercare il #DAG (Domain Algorithm Generation) ovvero l’algoritmo eseguito dallo zombie per identificare il nome di dominio al fine di contattare il #botMaster.
L’importanza di questi algoritmi risiede nella capacità di proteggere il #C2.
Pensate che nella versione C di #Confiker il suo DAG generava ben 50.000 domini al giorno!
Un efficace DAG affiancato a tecniche di #DoubleFluxing rende i botmaster quasi irrintracciabili.
… “quasi” non è stato scritto a caso 😉
Pillole di #MalwareAnalysis
Una delle principali tecniche utilizzate dai #malware è quella della #DLLinjection Da una semplice analisi dinamica è difficile individuare questo comportamento ma non impossibile. Le principali primitive utilizzate, e da ricercare eventualmente nelle stringhe sono #OpenProcess (utilizzata per ottenere l’handle del processo vittima), #VirtualAllcEx (per allocare spazio nell’area di memoria del processo vittima), #WriteProcessMemory(per scrivere nell’area di memoria creata in precedenza il nome della dll da iniettare), #LoadLibrary (per permettere di caricare in memoria la dll) ed infine #CreateRemoteThread (per creare un thread nel processo vittima che lanci LoadLibray e carichi la dll scritta nell’area creata da VirtualAllocEx).
Un gioco da ragazzi 😉
#Cybersecurity #CybersecurityUp #ZeroDay #Hacker
Pagina 354 di 359