venerdì 10 settembre 2010

Reverse Engineering su sistemi Unix e Linux

Prendendo spunto da blacklight e darkjoker, vorrei parlarvi del reverse engineering di software o eseguibili su sistemi unix e linux. Per comprendere il reverse bisogna avere una minima conoscenza del C e dell'Assembly, per disassemblare un eseguibile sui sistemi unix/linux possiamo utilizzare gdb o objdump, passiamo alla pratica creiamo un programma in C che ci chiede di inserire la password corretta che abbiamo inserito nel codice, quindi dobbiamo tramite il reverse fargli riconoscere qualunque password che impostiamo modificando i registri jne effettuando l'eliminazione del salto condizionato direttamente sulla stringa che stampa al video "password corretta", per maggiori informazioni leggete il pdf reverse di blacklight o i crackme di darkjoker. Scriviamo e compiliamo il nostro programma, code:


#include   stdio.h
#include   string.h
main() {
char pwd[] = "prova";
char str[30];
printf ("Inserire la password: ");
scanf ("%s",str);
if (!strcmp(str,pwd))
printf ("Password corretta\n");
else
printf ("Password errata\n");
}   

compiliamo con gcc:

gcc vuln.c -o vuln

eseguiamo il programma:

GiacomoAspire5310:reverse giacomo$ ./vuln
Inserire la password: ciccio
Password errata
GiacomoAspire5310:reverse giacomo$ ./vuln
Inserire la password: prova
Password corretta
 
Per disassemblare il programma io ho utilizzato solo objdump, invece blacklight nella sua guida usa gdb, quello che ci interessa è di analizzare solo la main del programma per potere modificare la jne impostando al suo posto dei nop (0x90), diamo il comando:

GiacomoAspire5310:reverse giacomo$ objdump -D vuln | grep main
    1f0d:    e8 2c 00 00 00           call   1f3e <_main>
00001f3e <_main>:
    1f45:    e8 00 00 00 00           call   1f4a <_main+0xc>
    1f95:    75 10                    jne    1fa7 <_main+0x69>
    1fa5:    eb 0e                    jmp    1fb5 <_main+0x77>
    2016:    e0 8f                    loopne 1fa7 <_main+0x69>
    201a:    e0 8f                    loopne 1fab <_main+0x6d>

Adesso che abbiamo visto la stringa esadecimale della jne, apriamo il programma vuln con un editor esadecimale e andiamo a sostituire 75 10 con 90 90 (che sono i nop) salviamo e avviamo il nostro eseguibile:

GiacomoAspire5310:reverse giacomo$ ./vuln
Inserire la password: ciccio
Password corretta

come vedete adesso possiamo inserire qualsiasi password! Il reverse viene utilizzato per il crack di giochi,software o per modificare il comportamento di un eseguibile, ovviamente non è sempre cosi facile crackare un programma, questo è un semplice esempio che spiega le basi di come fare, per maggiori informazione o per fare un pò di pratica vi consiglio di dare un'occhiata alla sezione di CrackMe di darkjoker. :)


venerdì 27 agosto 2010

Installare Mac Leopard su un Acer Aspire 5310 in dual boot con Ubuntu


Salve a tutti, vorrei condividere a tutti che posseggono un acer aspire 5310, la mia procedura per installare il Leopard su tale portatile. Vi ricordo che è vietato dal contratto di licenza dell'apple installare qualsiasi sistema mac su pc non apple, quindi questo è un tutorial dimostrativo per coloro che volessero provare il mac prima di acquistarlo e per vedere se riescono ad installare tale sistema operativo nei propri pc, quindi non mi assumerò nessuna responsabilità per un uso illegale. Prima di tutto scaricate l'ultima versione iso di iDeneb v1.6 10.5.8 Lite Edition tramite torrent (una versione modificata del Leopard 10.5.8 per poter essere installata in un qualsiasi pc), per maggiore informazioni di questa versione visitate il sito ufficiale iHackintosh, dopo di che creiamo la partizione in hfs+ (Filesystem per Macintosh) dove verrà installato il votro Leopard. Vi sono due modi per creare la partizione o direttamente dal dvd di installazione di iDeneb andando su Utility - Utility Disco selezionando la partizione e iniziandolo (formattandolo) in hfs+ (journaled) oppure se avete qualche problema nel formattare come ho avuto io potete usare linux (Ubuntu) per partizionare il disco tramite gparted, ah vedete se su gparted avete le librerie per hfs e hfs+ se no installatele con apt, per vedere qualli pacchetti bisogna installare date un apt-cache search hfs+. Bene adesso possiamo iniziare l'installazione avviando il dvd, non ci dovrebbero essere problemi per l'avvio del dvd, scegliete la partizione che avete formattato prima e andate su personalizza a selezionare i drivers e le patch per l'hardware dell'aspire, lasciate quelle di default e selezionate il kernel 9.8 Qoopz con il kernel Voodoo ho avuto problemi, selezionate i drivers ps/2 quelli VoodooPS2 con ApplePS2 il sistema operativo non si avvia, per i drivers audio selezionate solo i VoodooHDA, per i chipset selezionate Ahci sata/ide e ichx fixed, per i drivers della scheda ethernet selezionate AppleBCM5758M e per la scheda wifi selezionate i broadcom wifi, su system Management selezionate VoodooBattery Manager, per i drivers video selezionate gli GMA950 e infine selezionate la lingua italiana. Una volta finita l'installazione all'avvio non dovete avere problemi l'hardware sarà riconosciuto, l'unico difetto sarà la scheda ethernet che viene riconosciuta da Leopard ma non funziona, per questo c'è una soluzione seguendo questa guida broadcomBCM5787M dove dovete scaricare il file zip che contiene la guida e lo script di come configurare la scheda per la connessione. Ah dimenticavo dopo avere installato Leopard al primo avvio non compare nel grub2 la voce del sistema mac, quindi dovete accedere su ubuntu e da terminale dare update-grub2 cosi aggiorna il grub inserendo anche la selezione per il Mac OSX Leopard. Se volete successivamente aggiungere qualche drivers potete fare dal dvd d'installazione avviando come se dovete fare una nuova installazione, deselezionando su personalizza tutte le voci di default e selezionando soli i drivers che dovete installare e completare l'installazione, non vi preoccupate non effettuerà nessuna installazione caricherà solo i drivers selezionati, invece per rimuovere i drivers che non vi servono potete fare direttamente su Leopard andando su Unità disco del Leopard - Sistema- Libreria - Extensions e cestinando i drivers che non vi servono, se installate Kext helper potete caricare direttamente i drivers da Leopard dopo che avete scaricato da internet o tramite Pacifist i drivers che avete bisogno, per ulteriori informazione su come utilizzare Kext helper e Pacifist andate sul forum di iHackintosh. Tutto qui buon divertimento a tutti.


sabato 31 luglio 2010

IpCop il software firewall GNU/Linux

IpCop è una mini-distribuzione linux adatta per realizzare un firewall hardware e software, protegge la nostra rete da intrusioni esterne non autorizzate. È un'ottima soluzione per piccole reti, reti aziendali e SOHO (Small Office-Home Office). Può essere adattata ad ogni esigenza e può essere usata anche su hardware piuttosto datato, può anche essere usata da amministratori di rete che non conoscono Linux per creare un firewall Linux-based. IpCop offre un'ampia gamma di caratteristiche tecniche: si va dal Linux netfilter standard con capacità di NAT al supporto per DMZ via DNAT, dal supporto DHCP (sia server che client) al supporto NTP per sincronizzare e servire la data e l'ora, dalla possibilità di attivare un proxy a quella di attivare un IDS. Inoltre supporta quattro schede di rete e un numero illimitato di connessioni VPN, oltre ad offrire la possibilità di backup e restore della configurazione. È inoltre facilmente estendibile grazie a numerosi moduli presenti in Internet. Potete scaricare la iso dal sito IPCop invece per l'installazione e configurazione potete seguire questa guida pubblicata su pluto.it.





Asterisk la telefonia VoIP

Asterisk è un ottimo software open source per la telefonia VoIP. La completezza dei suoi contenuti e la sua affidabilità lo rendono una piattaforma ideale per una vasta gamma di applicazioni: è utilizzato come elemento portante per realizzare mediatori RTG/IP (centralini in grado cioè di utilizzare sia le linee telefoniche tradizionali sia i canali IP), sistemi Centrex (PBX "virtuali" e centralizzati), applicazioni per la gestione di Call Center ed altro ancora. Asterisk identifica i tipi d'interfaccia sui quali si può telefonare con il termine canal, canale. Un canale può essere, per esempio, l'interfaccia ISDN (che si chiama canale CAPI) o l'interfaccia Ethernet per il VoIP. Ogni protocollo VoIP ha un canale diverso, quindi se si vuole telefonare con SIP o H.323, bisogna configurare un canale SIP o un canale H.323. La configurazione dei canali è fatta con dei file di configurazione *.conf, che si trovano nella directory /etc/asterisk (by Wikipedia). Asterisk può essere installato su ubuntu tramite apt o direttamente compilando i sorgenti scaricabili dal sito Asterisk.org qui troviamo anche tools e add-ons di asterisk da poter scaricare, pure la distro linux personalizzata per asterisk in formato iso. Se volete compilare l'ultima versione di asterisk vi linko dei siti che spiegano come fare e come installare anche la GUI di Asterisk, HOWTO: Installiamo AsteriskGUI (interfaccia web per configurare asterisk sviluppata da Digium) su di un server Ubuntu [aggiornata e corretta al 06/09/08] oppure potete consultare questo sito Asterisk-IT che spienga l'installazione e la configurazione di Asterisk e della sua GUI.




martedì 29 giugno 2010

Exploit Pdf con Metasploit3

Salve questo è un video didattico che mostra come si possono inserire codici malevoli in un file pdf tramite l'uso di metasploit3 e con la tecnica del social engineering fargli eseguire o scaricare tramite email il pdf alla vittima, il video è un pò lungo e senza audio, e questa volta è stato girato sulla mia kubuntu modificata, oltre a fare video con backtrack volevo fare uno con la mia Kubuntu! Il video fa capire il pericolo che ogni internauta può correre anche se scarica o apre un semplice file pdf, quindi prima di aprire qualsiasi files fate sempre una scansione con il vostro antivirus sempre se lo rileva il virus! ;)