Acronimo di Living-Off-the-Land BinariesCyber Threat Intelligence, LOLBins CTI-Driven è un progetto ideato per supportare gli analisti InfoSec nella ricostruzione di come i binari LOLBin vengano utilizzati dagli attacker durante un’intrusione. Il software è in grado di ricostruire il workflow percorso dai processi generando e mostrando un formato grafico compatibile con le piattaforme TIP e con lo standard STIX.
Di recente, alla piattaforma è stato aggiunto il supporto per il processo regsvr32.exe:
Perché proprio regsvr32.exe? Poiché viene comunemente utilizzato (abusato!) dagli attacker per avviare l’esecuzione di codice malevolo tramite proxy. Il suo utilizzo malevolo coinvolge attività come: – il bypass degli agent di sistemi XDR ed EDR – l’esecuzione di scriptlet COM per scaricare dinamicamente backdoor da iniettare in memoria – l’avvio di script dannosi – l’utilizzo di librerie .dll malevole – la distribuzione di payload – l’avvio di script remoti in grado di rilasciare ed eseguire file – la persistenza dei malware all’avvio dei sistema operativi – l’esecuzione di file con estensione .sct
La Securities and Exchange Commission statunitense di recente ha rivolto accuse contro la nota Corporation di sviluppo software SolarWinds, con sede in Texas, e contro il suo responsabile della Cybersecurity, Timothy G. Brown, per frodi relative a rischi e vulnerabilità di sicurezza informatica taciute agli investitori e consumatori. La denuncia sostiene che, dall’offerta pubblica iniziale dell’ottobre 2018 e almeno fino al momento dell’annuncio nel dicembre 2020, SolarWinds sarebbe stata l’obiettivo di un massiccio attacco informatico durato quasi due anni, soprannominato “SUNBURST”: la Corporation e Brown hanno frodato gli investitori sopravvalutando SolarWinds in malafede, nascondendo anche ai consumatori finali dei loro software i reali rischi informatici a cui andavano incontro. Dai documenti depositati presso la SEC si evince che durante quel periodo SolarWinds avrebbe ingannato gli investitori rivelando solo rischi generici e ipotetici, in un momento storico in cui, invece, la società e Brown erano perfettamente consapevoli delle carenze informatiche strutturali nelle architetture ICT e nelle policy di sicurezza informatica dell’azienda (volutamente omesse nei rapporti con l’esterno), nonché dei rischi sempre più elevati che la Corporation stava affrontando all’epoca.
Come sostiene la denuncia, le dichiarazioni pubbliche di SolarWinds sulle pratiche di Cybersecurity interne – e soprattutto sui rischi dei possibili incidenti informatici – erano apertamente in contrasto con le loro analisi tecniche, inclusa una presentazione del 2018 preparata da un ingegnere e condivisa internamente anche con Brown, secondo cui le configurazioni per l’accesso remoto ai sistemi e ai servizi SolarWinds “non erano molto sicure” (per usare un sottile eufemismo!), e che “qualcuno che dovesse sfruttare la vulnerabilità può praticamente fare qualsiasi cosa prima che noi lo scopriamo, finché non sarà troppo tardi”, il che potrebbe portare a “gravi perdite sia di reputazione che finanziarie”. Allo stesso modo, come affermato nella denuncia della SEC, le presentazioni interne del 2018 e del 2019 di Brown evidenziavano, rispettivamente, che “l’attuale livello della Cybersecurity espone le nostre risorse critiche ad un potenziale stato molto vulnerabile“, e che “l’accesso privilegiato ai sistemi critici nonché ai dati è inappropriato“. (puoi continuare l’approfondimento sul testo originale della denuncia seguendo questo link)
Perché continuare ad usare i prodotti di una software house che evidentemente, in un modo o nell’altro, continua ad ingannare i suoi clienti? Non bastano forse i pesanti databrech subiti da questa Corporation negli anni passati a mettere sul chi vive il consumatore?
…evidentemente no, se ancora molte aziende italiane (ma anche estere) continuano ad utilizzare (probabilmente nella più beata ingenuità…o forse a causa di una più preoccupante negligenza massificata?) software commerciali sviluppati da questa ormai ingannevole software house. Timore di cambiare fornitore o pigrizia per un ipotetico passaggio al mondo Open Source? Solo il tempo e gli incidenti informatici attuali e futuri dimostreranno ai clienti SolarWinds quanto costa (in termini di migliaia di dollari o di euro) la mancata valutazione di alternative, magari di alternative basate su software di monitoraggio Open Source: versatili, efficienti, spesso lowcost quando non del tutto FOSS, ma soprattutto più sicuri poiché liberamente ispezionabili dalle Community (Open Source —> codice aperto…oltre che libero!) nonché riprogrammabili dagli utenti, e spesso progettati con i principi ingegneristici della Security by Design in testa…e non con l’obiettivo di massimizzare a prescindere i profitti con la vendita di licenze di software consapevolmente buggato e insicuro.
Fantastico syslog server che nella sua versione gratuita consente di raccogliere e gestire messaggi syslog al massimo da 5 indirizzi IP sorgente: non è decisamente intuitivo il fatto che se non si provvede a editare la maschera in alto subito dopo l’installazione, i pacchetti syslog di tali client – pur se configurati a puntino come è successo a me – Windows o Linux che siano, non verranno visualizzati nella finestra principale del server mai e poi mai (tale problema non si manifesta nella versione a pagamento: in tal caso, infatti, basterà inserire solo l’IP 255.255.255.255 per autorizzare la raccolta di tutto il traffico syslog diretto al server).
Un video esplicativo delle sue tante funzionalità.
Hai dimenticato le credenziali per accedere al tuo sistema operativo Windows oppure al tuo Mac OS X? Niente paura con Kon-Boot!
Kon-Boot è un software in grado di bypassare il logon di sistemi operativi Microsoft e Mac OS X. La prima versione risale al lontano 2008, ma nel corso dei decenni il software si è evoluto.
Per l’uso di Kon-Boot è necessaria una pendrive con almeno 16GB di spazio libero, e l’accesso a Internet per procedere all’installazione. L’autore dichiara che Kon-Boot non funziona con tablet o dispositivi Surface (su cui sono installati s.o. multipli) né su VM. Per Apple, invece, risultano supportati solo le versioni a 64bit, ma non i Mac OS X con M1 (per maggiori dettagli puoi consultare il portale ufficiale https://kon-boot.com)
Distribuito inizialmente con licenza freeware, con il passar degli anni è diventato un software commerciale, e nel momento in cui sto scrivendo viene venduto in due versioni: una con licenza personale, l’altra commerciale. Quella personale costa 27$ e funziona solo se il computer “target” utilizza un account locale. La seconda costa 75$ e funziona sia se il target utilizza un account locale che un account on-line. E non solo: è anche in grado di superare i controlli del Secure Boot, quindi si può evitare di doverlo disabilitare dal BIOS (cosa che invece è indispensabile fare con la licenza personale).
Nel momento in cui sto scrivendo questo articolo, per quanto riguarda Microsoft, Kon-Boot può essere utilizzato sui seguenti sistemi operativi: Windows 11, Windows 10, Windows 7 (Ultimate, Professional e Home Premium), Windows 8 e 8.1, Windows Vista (Business, Home Premium nonché Home Basic), e Windows XP per i s.o. client, mentre per i s.o. server su Windows Server 2016, Windows Server 2012, Windows Server 2008 (Enterprise, Datacenter, e Standard edition), Windows Server 2003 (Enterprise, Datacenter, e Standard edition).
Come funziona? Kon-Boot si avvale di un bootkit: si innesta in maniera occulta nella memoria del BIOS, modifica temporaneamente il kernel consentendo a chi lo usa – una volta riavviato il pc/server – di aggirare il classico processo di logon. Non elimina le password, né le recupera, “semplicemente” al successivo riavvio consente di accedere al sistema operativo pur non conoscendo le credenziali.
Dopo aver effettuato il pagamento si riceverà un’email contenente la licenza d’acquisto, e il link per effettuare il download del software:
il link e la licenza per scaricare e installare Kon-Boot arrivano via email
Nello stesso messaggio vengono riportate anche le indicazioni per disattivare l’antivirus nonché delle URL che puntano ad alcuni pratici tutorial. Prima di scaricare Kon-Boot, tuttavia, è fondamentale disattivare l’antivirus poiché potrebbe catalogare l’utility come una minaccia informatica e bloccarla. Una volta terminato il download, occorre scompattare il pacchetto inserendo la licenza nell’apposito box, e accettare i termini di utilizzo. Occorre poi indicare al software dove salvare i file, e portare al termine l’estrazione seguendo le poche indicazioni mostrate nel video. Conclusa l’installazione, si aprirà la pagina principale del programma.
schermata principale di Kon-Boot, da cui è possibile creare una pendrive con supporto EFI
A questo punto bisognerà inserire la chiavetta in una porta USB, selezionare l’unità dal menù a tendina “Available USB drives”: ora digita l’indirizzo email utilizzato per il pagamento/download nel box contrassegnato con E-MAIL, e il codice di licenza in TXID. Infine fai click su “Install to USB stick”, attendi qualche minuto, e un messaggio ti avviserà che l’installazione sarà andata a buon fine.
Bypassare il logon Tenendo presente che con la licenza commerciale, per accedere, non si ha necessità di disabilitare alcunché, descriverò adesso la mia esperienza con la licenza personale: occorre inserire la chiavetta USB (che hai preparato in precedenza) nella porta USB del tuo target e riavviare il sistema. Accedi ora al BIOS facendo ripetutamente click su uno dei tasti (o sulla combinazione di tasti previsti dal BIOS del tuo pc/notebook/server) deputati allo scopo. Una volta entrato nel BIOS, nell’ordine d’avvio del sistema imposta al primo posto l’unità che identifica la porta USB in cui hai inserito la chiavetta, e assicurati di disabilitare il Secure Boot dalla sezione Boot. Infine, premi il tasto F10 e salva le modifiche.
Riavvia ancora il sistema e segui le istruzioni a video:
Pochi secondi, e il PC si avvierà consentendoti di accedere senza chiederti la password.
Per tornare all’uso normale (ossia ripristinando la maschera di logon in cui di norma vengono chieste delle credenziali per proseguire), invece, rimuovi la chiavetta dal computer e riavvia. Tutto sarà come prima, senza tracce evidenti (a parte alcuni log nell’Event Viewer di Windows…comunque eliminabili una volta che si è acceduto).
Come difendersi? La facilità con cui un attacker può manomettere un pc o un server grazie a Kon-Boot è disarmante, soprattutto considerando il fatto che con la versione commerciale non si ha neanche necessità di dover accedere al BIOS per effettuare la disabilitazione del Secure Boot (almeno fino alla versione 3.5, Kon-Boot è in grado di bypassare anche il meccanismo di protezione). Dunque, che fare? Impostare una password d’accesso al BIOS in modo da impedire all’attacker di accedervi (o quantomeno facendogli perdere molto tempo, con il rischio che venga scoperto) e modificare la configurazione, ma soprattutto installare un software crittografico come ad esempio BitLocker, VeraCrypt o FileVault in grado di impedire accessi non autorizzati ai file sul dispositivo, cifrandone il contenuto, e quindi impedendo di fatto all’attacker di poter leggere (perlomeno in chiaro, ossia per riuscirci dovrebbe prima portare a buon fine una crittoanalisi…non sempre un’attività scontata) e alterare i file.
DLest è un’applicazione freeware utilizzabile per individuare le funzioni esportate nei file PE (Portable Executable), in particolare in file DLL. Con DLest è facile enumerare le funzioni utilizzando una varietà di metodi, tra cui il trascinamento della selezione, l’apertura di una cartella o la scansione ricorsiva di un folder sfruttando i filtri delle espressioni regolari, ad esempio per includere solo i PE con specifici nomi di funzioni di esportazione.
Oltre alla possibilità di analizzare file PE archiviati su disco, DLest consente anche l’analisi dei moduli caricati in memoria nonché la manipolazione in tempo reale delle funzioni esportate, rendendolo uno strumento prezioso per attività di Reverse engineering o durante le fasi di Incident Response. Puoi persino eseguire il dump di una versione ricostruita di qualsiasi modulo per future analisi o riutilizzi di vario tipo.
Essendo un tool multithreading, garantisce un’elaborazione tempestiva anche in presenza di un gran numero di file PE. Che tu sia un programmatore che sta cercando di individuare e/o manipolare le funzioni esportate, piuttosto che un malware analyst che necessita di uno strumento affidabile per le attività di ogni giorno, DLest può costituire una preziosa risorsa FOSS da inserire nella tua cassetta degli attrezzi.
Tra le caratteristiche che trovo degne di nota:
supporta file eseguibili sia per ambienti x86-32 (PE) che x86-64 (PE+)
caricamento dei file tramite Drag and Drop (supporta l’UAC)
caricamento dalla finestra di dialogo aperta
caricamento di file dall’intera cartella
possibilità di cercare file PE attraverso controlli avanzati (scansione in profondità, ricorsiva e filtraggio delle funzioni di esportazione tramite regex)
scansiona e analizza i moduli mappati in memoria dal processo in esecuzione
possibilità di effettuare una ricerca contestuale integrata tramite Google
DLest consente di utilizzare la finestra di dialogo predefinita di Microsoft Windows per selezionare uno o più file PE (Portable Executable) da analizzare: apparirà una finestra di dialogo standard che ti permetterà di navigare nel computer target, e selezionare i file PE che desideri caricare.
Dopo che avrai selezionato i file di tuo interesse, verranno sottoposti a un processo di filtraggio per garantire che siano file PE validi, ossia di un’architettura compatibile con la versione DLest che hai installato. Questo processo garantisce che in DLest vengano caricati solo file compatibili. Utilizzando la modalità file aperto, puoi facilmente caricare e analizzare i singoli file PE secondo le tue necessità, sia per scopi di sviluppo che di analisi di malware: che tu abbia bisogno di esaminare un singolo file piuttosto che un corposo elenco, la modalità file aperto in DLest ti consente di farlo comodamente.
La modalità “open folder” scansiona rapidamente una singola directory consentendo di identificare tutti i file Portable Executable (PE) validi al suo interno, in particolare file DLL, utilizzando lo stesso filtraggio della modalità “open file”.
La modalità “scan folder” consente di eseguire la scansione completa di un albero di directory, individuando eventuali librerie DLL che offrono funzioni esportate. Questa modalità consente di eseguire la scansione ricorsiva di una cartella e delle sue sottocartelle, alla ricerca di file PE compatibili e validi che offrano funzioni esportate. Una delle caratteristiche principali di questa modalità di scansione è la sua capacità di utilizzare query avanzate di espressioni regolari (regex) per filtrare determinati file in base ai nomi delle loro funzioni esportate. Ciò può essere particolarmente utile se stai cercando funzioni specifiche o se hai bisogno di escludere determinati file dalla scansione. Oltre ai file DLL, la modalità “scan folder” include anche la possibilità di cercare qualsiasi file PE compatibile: ciò lo rende uno strumento versatile per individuare e analizzare le funzioni esportate in una varietà di diversi tipi di file PE. Che tu debba individuare rapidamente le funzioni esportate in una singola cartella piuttosto che eseguire una scansione più avanzata di una struttura di directory più ampia, puoi farlo sfruttando questa modalità di scansione.
Il caricamento dalla modalità Processo in esecuzione di DLest consente di analizzare l’intestazione PE (Portable Executable) per le funzioni esportate direttamente da moduli in memoria, piuttosto che dai file archiviati su disco. Questa funzionalità può giovare a tutti coloro a cui occorre analizzare funzioni esportate in tempo reale o che hanno necessità di lavorare con moduli caricati in memoria che non sono archiviati su disco.
Per utilizzare il caricamento dalla modalità Processo in esecuzione basta selezionare il processo desiderato dall’elenco dei PID in esecuzione sul sistema: DLest analizzerà l’intestazione PE del processo selezionato, identificando eventuali funzioni esportate al suo interno. Particolarmente utile per analizzare e manipolare le funzioni esportate in tempo reale, questa funzionalità consente di accedere direttamente ai moduli in memoria di un processo in esecuzione.
Dump Reconstructed PE Image Tale funzionalità consente di salvare una copia di qualsiasi modulo mappato in memoria – da un processo di destinazione – in un file per ulteriori analisi o utilizzi. Per utilizzare questa funzione è necessario selezionare il processo e il modulo desiderati da un elenco di processi attualmente in esecuzione, e i relativi moduli mappati in memoria. DLest creerà quindi una copia del modulo selezionato e lo ricostruirà in un formato che può essere letto da analizzatori PE o altri strumenti. L’immagine PE ricostruita può essere salvata in un file sul sistema per un uso successivo: ti consentirà di esaminare il modulo in modo più dettagliato, ricostruendone il comportamento e/o riutilizzandolo per test o altri scopi.
La funzionalità di filtraggio delle esportazioni ti consente di utilizzare espressioni regolari per selezionare le sole funzioni esportate in tempo reale che ti interessano. Per utilizzare questa funzione, inserisci semplicemente un’espressione regolare nel campo designato e fai click sul pulsante applica. DLest filtrerà l’elenco delle funzioni esportate utilizzando la regex, visualizzando solo quelle che corrispondono al modello. Sebbene questa funzione possa essere molto comoda, vale la pena notare che potrebbe essere più lenta se applicata a un numero molto elevato di funzioni esportate. In tali casi, potrebbe esser necessario più tempo affinché DLest applichi il filtro e aggiorni la visualizzazione, tuttavia, nella maggior parte dei casi la funzione di filtraggio delle esportazioni in tempo reale è rapida ed efficiente, il che la rende uno strumento prezioso per individuare rapidamente funzioni esportate specifiche o escludere quelle indesiderate.
DLest è in grado di loggare eventuali errori o problemi che si verificano durante l’analisi dei file PE (Portable Executable), oppure quando un file di destinazione non contiene funzioni esportate. Ogni qual volta dovesse verificarsi un errore o un problema durante l’analisi di un file PE (ma anche quando un file di destinazione non dovesse contenere funzioni esportate), nella finestra di dialogo Logs verranno tracciati degli avvisi informativi: saranno presenti dettagli sul file in questione, sulla natura dell’errore, come tracce dello stack pertinente nonché altre informazioni diagnostiche.
funzionalità “Extended Libraries Informations”
È una funzionalità che mostra un elenco di file PE (Portable Executable) analizzati dal contesto della scheda corrente, insieme a una varietà di dettagli su ciascun file:
nome della libreria (così come appare nell’intestazione del file)
conteggio esportazioni: mostra il numero totale di funzioni esportate per libreria
la dimensione del file espressa in byte
hash del file: MD5, SHA1 e SHA256
attributi del file: ad esempio se è di sola lettura o nascosto.
Dallo stesso autore di DarkComet e SubSeven Legacy, un ottimo FOSS utilizzabile sia per effettuare analisi e approfondimenti in ambito Incident Response nonché in ambito sviluppo software / troubleshooting Windows. Nel momento in cui sto pubblicando questo articolo, puoi scaricare il codice sorgente di DLest da questo link.
Perché chiedere al cliente di installare un software R.A.T. (più comunemente noti come software di teleassistenza) di terze parti quando è possibile accedere da remoto a una postazione Windows 10/11 attraverso un software verosimilmente già presente nel sistema operativo? E’ il caso di Microsoft Quick Assist (o “Assistenza rapida” nella versione italiana di Microsoft Windows), interessante alternativa al più classico servizio RDP o ai vari TeamViewer, AMMI Admin, Anydesk ecc..ecc..
Uno dei vantaggi dell’utilizzo di questo software è che non abbiamo necessità di conoscere (ma soprattutto di chiederglielo!) l’indirizzo IP del pc/server utilizzato dal cliente a cui stiamo per fornire assistenza tecnica (scenario estremamente comodo quando abbiamo a che fare con utenti a digiuno di networking, o ancor peggio con veri e propri utOnti che alla parola TCP/IP vanno in tilt e si rifiutano categoricamente di collaborare sostenendo a prescindere “non lo so fare”). D’altronde, tuttavia, leggendo anche la documentazione ufficiale del servizio, si scopre che di fatto il traffico di rete per l’assistenza sistemistica transita attraverso i sistemi in Cloud di Microsoft… con tutte le implicazioni di (dubbia) Privacy del caso.
“Assistenza rapida” è un tool per la teleassistenza molto semplice da usare, ma a differenza di altri R.A.T. richiede appunto che la postazione del cliente a cui vogliamo accedere da remoto sia presidiata (quanto meno per farci comunicare il codice d’accesso iniziale). Ovviamente, in contesti bancari e/o militari (ma aggiungerei anche in tutti quei contesti in cui in ballo c’è la tutela di brevetti e/o segreti industriali) ne scoraggio l’utilizzo per ovvi motivi legati a potenziali minacce alla Privacy dei sistemi coinvolti e dei dati in transito.