Tiller Beauchamp sulla conferenza Recon 2008

  • Dec 07, 2023

Editoriale ospite di Tiller Beauchamp All'inizio di questo mese ho avuto l'opportunità di presentare RE: Trace alla conferenza Recon, una conferenza di reverse engineering che si tiene ogni due anni a Montreal, in Canada. La conferenza consisteva in tre giorni di formazione e tre giorni di conferenze in un unico percorso.

Tiller Beauchamp
Editoriale ospite di Tiller Beauchamp

All'inizio di questo mese ho avuto l'opportunità di presentare RE: Traccia alla conferenza Recon, una conferenza di reverse engineering che si tiene ogni due anni a Montreal, in Canada. La conferenza consisteva in tre giorni di formazione e tre giorni di conferenze in un unico percorso. Gli argomenti includono l'inversione del malware polimorfico, il superamento dell'offuscamento del codice e le tecniche anti-debug, l'escalation dei privilegi locali attraverso l'interfaccia del kernel ALPC su Vista e l'hacking di OS X. Il livello tecnico della conferenza è stato eccellente e tutto è stato organizzato molto bene, dagli eventi serali ai video di presentazione scaricabili sulla rete della conferenza.

Ci sono stati tanti discorsi interessanti, ma poiché non posso raccontarli tutti, ecco alcuni punti salienti:

Gerardo Richarte ha presentato due piccoli strumenti per assistere nel reverse engineering del codice. Uno di questi strumenti era più una metodologia e lo chiamò decompilazione iterativa. L'idea è di invertire parti di un programma in codice di alto livello un pezzo alla volta. Innanzitutto esaminerebbe il comportamento di una funzione in assembly e quindi reimplementerebbe la funzione in C. Compilando questo C in una DLL e inserendolo nel processo in fase di esecuzione, ha potuto sostituire il codice originale con la propria implementazione e testarlo per assicurarsi che avesse lo stesso comportamento. Seguendo questi processi può invertire le parti importanti di un'applicazione in modo progressivo.

Craig Smith di Neohapsis ha presentato l'utilizzo della macchina virtuale per implementare l'offuscamento del codice. Non pensare che VMWare siano macchine virtuali qui. Pensa invece a set di istruzioni personalizzati e un interprete runtime. Ha coperto le basi di questa tecnica che è stata resa popolare da sfida SOTM32 di Honeynet. L'idea è quella di creare un set di istruzioni personalizzato e quindi utilizzarlo per implementare la logica che si desidera offuscare. Puoi applicare questo approccio per nascondere chiamate di sistema o calcoli importanti. La conclusione è che un piccolo sforzo da parte degli sviluppatori può creare molto più lavoro per l'invertitore. Maggiori dettagli e il suo codice di esempio possono essere trovati sul blog Neohapsis.

Netware non è morto? Beh, più o meno, ma Nicolas Pouvesle ci si è imbattuto abbastanza volte (due volte) che ha deciso di esplorarlo, e per esplorarlo intendo un serio exploit del kernel fu. Una delle sfide più grandi è stata trovare un payload sufficientemente generico da funzionare con le numerose versioni di Netware. Non poteva fare una semplice connessione alla shell, perché in Netware non esiste un utente a livello di sistema, il che significa che non esiste una shell! Esiste una console di sistema, tuttavia l'interfacciamento con essa implica la conversione tra bitmap e buffer di caratteri e l'inserimento di sequenze di tasti. Questo approccio non funzionava ancora su tutte le versioni di Netware, quindi Pouvesle ha trovato un modo per creare un utente all'interno del database LDAP che Netware utilizza per l'accesso amministrativo all'interfaccia web. La creazione di utenti LDAP poteva essere ottenuta solo con chiamate alla libreria e non con chiamate al kernel, quindi ha saltato attraverso più passaggi per ottenere visibilità di tali librerie dal kernel e risolverne la crittografia simboli. Le sue diapositive da slideshare possono essere trovate qui.

Nel complesso è stata una conferenza eccellente e la consiglio a chiunque sia coinvolto nel reverse engineering. Per quelli di voi interessati, ulteriori informazioni sono pubblicate sul Sito web di ricognizione.

* Tiller Beauchamp è un professionista della sicurezza informatica e un noto ricercatore. È forse meglio conosciuto nelle comunità Mac e di sicurezza per aver creato il framework RE: Trace, un framework basato su Ruby per interagire con il potente strumento DTRace per la ricerca sulle vulnerabilità. Scrive sul blog con un collega ricercatore e co-creatore del framework RE: Trace presso il POP/POP/RET blog e potrà essere visto anche alla prossima conferenza Black Hat Las Vegas 2008.