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 #penetrationtest
Nella fase di enumerazione, la letteratura cita spesso e volentieri la PsTool Suite (https://docs.microsoft.com/en-us/sysinternals/downloads/pstools).
Il problema con questo prezioso insieme di strumenti è che gira su sistemi Microsoft; ma quando abbiamo una piattaforma di test basata su Linux (vedi Kali, BackBox, Parrot, ecc) questi strumenti non sono più utilizzabili (anche Wine ha i suoi limiti!)
Una possibile soluzione è la costruzione di analoghi strumenti mediante una serie di classi python realizzate dal progetto Impacket (https://github.com/SecureAuthCorp/impacket).
Fortunatamente, per noi, il progetto stesso ci offre degli esempi funzionanti che sono già un piccolo arseale che rimpiazza gli strumenti (o buona parte di essi) che potevamo vantare con PsTool Suite: li troveremo nella cartella "examples" del progetto a fine compilazione.Ci è sufficiente quel minimo di conoscenze per scaricare da github il progetto e compilarlo:
# git clone https://github.com/SecureAuthCorp/impacket.git # cd impacket # python setup.py # cd examples
Ogni script presente ha un proprio help in linea, quindi basta eseguirlo per scoprire scopi e modalità di impiego.
Buon test a tutti !
Pillole di #MalwareAnalysis
Mascherare un processo #Windows utilizzando la #PEB
Ho già spiegato in un post precedente cosa è la PEB e a cosa serve.
Tra i vari campi ne esiste uno chiamato #ProcessParameters, che si trova all’offset 0x020h, e che è a sua volta una struttura.
All’interno di questa struttura esiste il campo #ImagePathName, all’offset 0x60h, che viene utilizzato per memorizzare il path del file che ha originato al processo.
Ora a cosa può servire questa informazione?
Può essere utilizzata per modificare l'icona visualizzata dal processo all’interno di Task Monitor o Process Explorer.
Questo naturalmente è utile ad un processo, come un malware, che si vuole nascondere ad una analisi con uno degli strumenti che vi ho appena menzionato.
Se poi vogliamo modificare anche il nome visualizzato basta accedere al campo CommandLine, all’offset 0x70h
Si può utilizzare WinDbg per accedere a questi campi, ma molto più semplicemente si può utilizzare la primitiva GetProcAddress() applicata su NTDLL e sulla procedura NtQueryInformationProcess.
Questa primitiva permetterà di accedere alla Peb e in particolare a PebBaseAddress->ProcessParameters->ImagePathName.buffer consentendone la modifica.
Pillole di #MalwareAnalysis
LA PIRAMIDE DEL DOLORE DI #DAVIDBIANCO
David Bianco è un eccellente #MalwareAnalyst e #Cybersecurity Expert facente parte del famoso gruppo #Mandiant di#FireEye.
Ha sviluppato una sua teoria sul “dolore” inflitto all’attaccante a causa di azioni eseguite dal difendente.
Ad esempio, se un difendente si preoccupa di identificare i valori #hash dei malware per fornirli ai sistemi di protezione farà poco male all’attaccante in quanto questi potrà facilmente modificare quei valori, appunto per questo i #malware sono generalmente #metamorfici o #polimorfici.
Se si memorizzano gli ip dei siti dai quali partono gli attacchi si crea un leggero fastidio in quanto i #threat actors hanno infrastrutture, generalmente protette da #botnet con ip estremamente variabili.
Salendo lungo la piramide di arriva alla cima dove troviamo prima i Tools e poi le #TTPs.
Conoscere le TTPs (tattiche, tecniche e procedure) utilizzate dagli attaccanti è estremamente efficace per la difesa, in quanto si studiano le loro compentenze, strumenti utilizzati e modus operandi.
Avere queste conoscenze crea il maggior danno possibile all’attaccante in quanto per modificarle dovrebbe modificare i propri comportamenti e non dei semplici nomi di dominio, ip o hash.
La #Mitre #Att&ck nasce proprio per fornirci una matrice delle TTPs esistenti evidenziandoci anche quali vengono utilizzate dai singoli Threat Actors.
Se volete avere un’idea di cosa intendo visitate attack.mitre.org
Pillole di #MalwareAnalysis
Simulare una rete
Quando creiamo i nostri laboratori per eseguire malware analysis è fondamentale fare in modo che i #malware non siano connessi in rete e non possano contattare il proprio #C2.
Diventa fondamentale quindi simulare una rete per consentire al malware di operare e quindi analizzarlo. Ci sono diversi strumenti ma oggi mi voglio focalizzare su #ApateDns.
Grazie a questo tool possiamo simulare una risposta da parte del #DNS e fornire quindi al malware l’IP che noi vogliamo.
ApateDns è un tool gratuito fornito da #FireEye che esegue uno spoof delle risposte DNS con un ip specificato da noi andando a mettersi in ascolto sulla porta 53 locale.
In pratica quando il malware prova a contattare il proprio dominio, ammesso che non venga fatto direttamente con l’ip, ApateDns intercetterà la chiamata e risponderà, appunto, con l’ip sul quale noi vogliamo reindirizzare il traffico.
Su quell’IP poi metteremo uno sniffer come #Wireshark oppure proveremo ad intercettare il traffico con #Netcat, naturalmente se sappiamo su quale porta ascoltare.
A questo punto potremo catturare il traffico di rete fatto dal malware ed analizzarlo.
Pillole di #MalwareAnalysis
#APC INJECTION
APC è il sinonimo di #AsyncronousProcedureCalls e si riferisce a una funzione eseguita in maniera asincrona rispetto all’esecuzione di un #Thread.
In pratica ogni Thread ha una propria coda APC all’interno della quale trova tutta una serie di funzioni da eseguire. Queste funzioni vengono accodate al verificarsi di eventi asincroni come le #Interrupt. Una APC generata dal Sistema viene definita #KernelModeAPC, mentre se viene generata dall’utente #UserModeAPC.
Un Thread per eseguire una APC deve entrare in uno stato definito #Alertable, e lo fa quando vengono chiamate funzioni come #SleepEX, #WaitForSingleObjectEx etc…
Un #malware che vuole inserire una routine malevola all’interno di una coda APC deve:
1) Ricercare il processo vittima utilizzando le primitive #CraeteToolHelp32Snapshot e #Process32First/ #Process32Next
2) Scrivere la routine malevola nello spazio di memoria del processo utilizzando le primitive #WriteProcessMemory e #VirtualAllocEx
3) Scegliere il thread bersaglio all’interno del processo con le #API #Thread32First / #Thread32Next
4) Accodare la routine malevola alla coda APC del thread con #QueueUserAPC
5) Mettere il thread in sleep con SleepEx
Questo thread al suo risveglio dallo Sleep eseguirà la routine malevola inserita nella coda APC.
Questa #injection è definita dal #Mitre #Attack come tecnica #T1055 e viene utilizzata con successo da #malware come #InvisiMole, #Attor, #Carberp e #Pillowmint.
Per identificare malware con queste caratteristiche dobbiamo ricercare le primitive che vi ho indicato, con particolare attenzione a quelle che sospendono un thread, scrivono nell’area di memoria di un processo e QueueUserAPC
Pagina 356 di 358
Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.