Alicekeygen 0.3, recupero chiavi WPA dal router Alice AGPF

Rilasciata la versione 0.3 di Alicekeygen. In questa nuova versione il tool prevede tre modalità di funzionamento:

  • modo istantaneo
  • modo dizionario
  • modo ricerca

alicekeygen

Nel modo istantaneo il tool genera immediatamente una lista di wpa candidate da provare. Occorre specificare l’SSID di rete, il mac address wifi della stessa rete e il file config aggiornato (incluso nel pacchetto).

$ ./alicekeygen s Alice12345678m 00:23:8E:01:02:03q agpf_config.txt

Nel modo dizionario il tool genera un file dizionario da passare a programmi esterni di bruteforcing quali aircrack-ngpyrit per recuperare la chiave WPA corretta. Una vasta gamma di opzioni permettono di raffinare il dizionario e ridurne le dimensioni. Il tempo necessario al recupero della chiave dipende ovviamente dalla velocità della macchina (CPU, estensioni CUDA, etc..) e dalla dimensione del dizionario. Per alcune stime sui tempi medi di recupero della chiave si veda la sezione “casi d”uso modalità dizionario”. I programmi esterni di bruteforcing, per poter funzionare correttamente, necessitano del file 4-way-handshake. In questa modalità il recupero della chiave è pressochè garantito.

Come si recupera il 4-way-handshake nei pacchetti EAPOL? Ecco un”ottima guida.

Il modo ricerca permette 1) di verificare che una data chiave wpa venga effettivamente generata da alicekeygen e 2) recuperare i dati associati a quella chiave (serie e seriale del router alice).

MySQL database replication using SCP and SSH

Did you know? One of the most important practices about networks and computers is backup. Sure it is! Backup can save your ass from catastrophic failures and its implementation costs almost nothing. So why people don’t do it? I don’t know.

However, another important thing to remember is to store the backup physically far away from the original data, for example uploading it on a remote server. At work I got a very small MySQL database which needed to be replicated on a remote server every 1 minute; to do so you can 1) install & setup the MySQL relication system or 2) use bash scripting!

Option 1) seems a waste of time and resources while the 2nd one seems a lot more suited for the problem and also a lot more funny.

On the origin machine (the computer which owns the original MySQL database) I created a simple script executed every minute by the local cron daemon.

First, we get a local dump of the database. Notice the fancy password 123456 🙂

mysqldump -u root -p123456 <database> > /tmp/db_dump.sql

Then, we move the local backup to the remote machine via the secure copy command scp. Scp is the union of SSH and CP. It takes a file and securely transfers it to a remote location.

scp -P 56022 -i <rsakey> /tmp/db.sql user@remotehost:/tmp

The local dump has been moved to the remote /tmp directory. Now we need to import the remote dump on the remote MySQL server. To do so, we should execute the following command on the remote machine!

mysql -u root -p123456 <database> < /tmp/db.sql

We can”t execute that command because we are not there! So, how to do it? Well, that”s one of the classic situation where SSH comes so handy! With SSH we can securely execute commands as we were in front of the remote keyboard! Nice huh? Just execute the local command:

ssh -p 56022 -i <rsakey> user@remotehost “mysql -u root -p123456 <database> < /tmp/db.sql”

 

A simple cron rule will execute the scripts every 1 minute, as expected:
#!/bin/bash
* * * * * root /var/students/update_db.sh

PROGEN – Generatore profilo per Need For Speed 2

Ultimamente gioco spesso fino a tardi con amici a Need For Speed Underground 2, un videogioco spettacolare di corse tamarre nonchè illegali. Il problema era avere tutti noi dei profili utente completi al 100% in modo da poter gareggiare su tutte le piste, con tutte le macchine e tutti gli add-on. Mi è allora balzata in mente l’idea di programmare un piccolo applicativo in C per generare dal nulla un salvataggio con il gioco completo al 100%. La novità è che si può scegliere il nome del giocatore a differenza di quanto succede scaricando i salvataggi completi che si trovano in rete, con i quali si è costretti a giocare col nome profilo di quella persona.

Il programmino è scritto interamente in C e gira praticamente su tutti i sistemi Windows dal vetusto 95 sino al Vista/Seven. E’ sufficiente avviare l’eseguibile, inserire il nome da assegnare al profilo (per un massimo di 20 caratteri) e attendere la creazione del file nella stessa directory del programma.

Come funziona

Come è possibile cambiare nome del giocatore nel file del profilo? Un profilo per NeedForSpeed Underground 2 è semplicemente un file da circa 54 kB nel quale sono memorizzate tutte le informazioni di gioco (quanto avete guadagnato, le macchine e relative tamarrizzazioni e così via). Tramite un editor esadecimale si vede chiaramente che alla locazione 0xD225 ha inizio la striga che codifica il nome del giocatore. Nel caso della figura qui sotto si tratta della stringa “gianluca”:

offset_01

E’ sufficiente quindi dumpare su file una partita salvata completa al 100%:

void MemoryDump(unsigned char *newname)
{
   FILE *out;
   unsigned long int i;
   out = fopen(newname,"wb");
   for(i=0;i&amp;lt;DATALENGTH;i++)
   {
      fputc(savegame[i],out);
      printf("%02X",savegame[i]);
      if(!(i%20)) printf("\n");
   }
   fclose(out);
}

e sovrascrivere i dati a partire dalla locazione NAMEOFFSET (0xD225) in poi per assegnare il nome utente desiderato.

void NameOverwrite(unsigned char *newname)
{
   strncpy(savegame+NAMEOFFSET,newname,strlen(newname));
}

A questo punto non resta che creare una cartella con lo stesso nome, copiare dentro il file di salvataggio appena creato e piazzare il tutto in:

C:\Documents and Settings\[utente]\Local Settings\Application Data\NFS Underground 2