Archive for the ‘Security’ Category

Semplice Firewall per Ubuntu – ufw

Saturday, April 3rd, 2010

Se volete provare un firewall per Ubuntu semplice da configurare, potete provare:

Uncomplicated Firewall (ufw)

  • Share/Bookmark

Cancellazione sicura dei dati – wiping (Linux)

Saturday, October 31st, 2009

Volete cancellare in modo sicuro dei file dal vostro disco? Ecco qualche programma (Unix) che potrebbe fare al caso vostro… Ovviamente non mi assumo nessuna responsabilità sull’effettivo funzionamento degli stessi. Li usate a vostro rischio.

Qui di seguito scrivo un modo per cancellare l’intero disco:

Usando, ad esempio, una distribuzione Live di Linux, lanciate un po’ di volte il comando:

dd if=/dev/random of=/dev/<nome_device>

oppure:

dd_rescue /dev/random /dev/<nome_device>

Al posto di <nome_device> inserire il device corretto (hda, sda,…).

Attenzione, i due comandi sopra citati potrebbero essere davvero molto lenti nel terminare l’operazione.

Differenza tra random e urandom: http://www.pluto.it/files/ildp/man/man4/random.4.html

  • Share/Bookmark

Cancellazione sicura dei dati – wiping (Windows)

Saturday, October 31st, 2009

Volete cancellare in modo sicuro dei file dal vostro disco? Ecco un po’ di programmi (per Windows) che potrebbero fare al caso vostro… Ovviamente non mi assumo nessuna responsabilità sull’effettivo funzionamento degli stessi. Li usate a vostro rischio.

  • Share/Bookmark

Testare antivirus con email infette

Friday, October 23rd, 2009

Se volete testare il vostro antivirus, come ad esempio ClamAV, potete provare un sito che vi invia email contenenti virus di prova:

ATTENZIONE: Leggete bene le istruzioni su quel sito prima dell’uso!! ;)

  • Share/Bookmark

Cambiare la password di root di MySQL

Wednesday, June 24th, 2009

In un post precedente avevo parlato di come scoprire qual era la vostra vecchia password di root di MySQL.

Quello che segue è il metodo per cambiarla direttamente:

  • Fermiamo MySQL con:
# /etc/init.d/mysql stop
  • Riavviamolo con il comando:
# mysqld_safe --skip-grant-tables --skip-networking &
  • Accediamo a MySQL con:
# mysql -u root
  • Utilizziamo il database appropriato:
mysql> USE mysql
  • Cambiamo la password:
mysql> UPDATE user
    -> SET password=password("nuovaPassword")
    -> WHERE user="root";
mysql> FLUSH PRIVILEGES;
  • Usciamo da MySQL:
mysql> exit
  • Riavviamo MySQL:
# /etc/init.d/mysql restart
  • Share/Bookmark

Data recovery tools

Tuesday, May 26th, 2009

Programmi per recupero dati

  • TestDisk “TestDisk is a powerful free data recovery software! It was primarily designed to help recover lost partitions and/or make non-booting disks bootable again when these symptom [...]“
  • PhotoRec (specifico per dati multimediali)
  • Share/Bookmark

Computer Forensics Live CDs

Tuesday, May 5th, 2009

Live CDs per computer forensics, data recovery,…:

  • Share/Bookmark

Recuperare la password di root di MySQL

Thursday, April 2nd, 2009

Se non vi ricordate più la password di root di MySQL, potete provare questo metodo che descriverò qui di seguito.

N.B.1: Questa procedura potrebbe non andare a buon fine (nel senso che potrebbe impiegarci davvero tanto tempo) se la password che avete scelto in origine è molto lunga e/o complessa (= avete usato lettere maiuscole e minuscole, numeri e caratteri speciali). Questo perché il programma che verrà utilizzato sfrutta tecniche di brute-force.

N.B.2: In rete è pieno di guide che vi dicono come reimpostare la password di root di MySQL, questa, invece, vi dice come scoprire qual era la vecchia password.

Si presuppone che abbiate la possibilità di accedere in remoto nella macchina su cui dovete recuperare la password di MySQL e che abbiate un secondo pc con Linux su cui effettuate questa operazione. Nel mio caso ho utilizzato una distribuzione Linux Ubuntu.

Portiamoci sulla macchina di test e installiamo il pacchetto mysql-server tramite il gestore pacchetti Synaptic (potete usare anche apt-get install); assegnamo una password all’utente root non appena viene chiesto.

Sappiamo che mysql memorizza il contenuto dei database nella cartella /var/lib/mysql e che ogni database è contenuto a sua volta in una cartella.
Ad esempio, sicuramente, avrete la cartella /var/lib/mysql/mysql poiché il database “mysql” viene creato di default. Dentro questa cartella troverete numerosi file *.frm, *.MYD, e *.MYI. Nota:

  • i file .frm definiscono la struttura della tabella
  • i file .MYD contengono i dati
  • i file .MYI servono per il rapido utilizzo dei dati

Ora dobbiamo copiare la cartella /var/lib/mysql/mysql del server remoto in locale. Per fare ciò usiamo scp (supponiamo che la porta di SSH sia la 22):

# cd
# scp -r -P 22 root@IPpcRemoto:/var/lib/mysql/mysql/ ./

Ora creiamo la cartella “mysql2″:

# mkdir /var/lib/mysql/mysql2

E poi copiamo lì dentro i file appena presi da remoto:

# cp /root/mysql/* /var/lib/mysql/mysql2/

Diamo i permessi giusti ai file:

# chown -R mysql:mysql /var/lib/mysql/mysql2

E riavviamo il servizio mysql:

# /etc/init.d/mysql restart

Ora accediamo a mysql:

# mysql -u root -p

inseriamo la password quando richiesto.

Ora dovremmo vedere il nostro database “mysql2″ nell’elenco:

show databases;

Lo “prendiamo” con:

use mysql2;

mostriamo le tabelle con:

show tables;

selezioniamo i campi user e password con:

select user, password from user;

Ora verrà visualizzata una tabella contenente le password cifrate per ogni utente, simile alla seguente:

+------------------+------------------+
| user             | password         |
+------------------+------------------+
| root             | 1f12ff3e9887278e |
| debian-sys-maint | 0b553b5596ae84cf |
+------------------+------------------+

Aprite un’altra shell e create un file in cui mettete in ogni riga “user:password” copiandoli dalla tabella che avete appena letto. Ad esempio:

# vim mypassword

al cui interno, ricopiando da sopra, scrivete:

root:1f12ff3e9887278e

Salvate e chiudete il file.

Disconnettetevi da mysql con:

quit

Installazione di John the Ripper

Passiamo ora all’installazione del programma John The Ripper.

Poiché la sua installazione tramite il gestore di pacchetti Synaptic di Ubuntu non installa il modulo per MySQL, abbiamo deciso di scaricare i sorgenti e la patch e compilarli.

Usiamo tranquillamente un utente non-root e ci posizioniamo ad esempio nella sua home directory con:

$ cd

Scarichiamo i sorgenti di John the Ripper con:

$ wget http://www.openwall.com/john/f/john-1.7.0.2.tar.gz

e la patch:

$ wget http://www.openwall.com/john/contrib/john-1.7.2-mysql-1.diff.gz

Estraiamo i file sorgenti con:

$ tar -xzvf john-1.7.0.2.tar.gz

Estraiamo la patch con:

$ gzip -d john-1.7.2-mysql-1.diff.gz

Spostiamo la patch nella cartella di john the ripper appena creata:

$ mv john-1.7.2-mysql-1.diff john-1.7.0.2/

Se non ce li abbiamo già installati, installiamo il pacchetto “patch” e “build-essential” con:

$ sudo apt-get install patch build-essential

Ci spostiamo nella directory di john the ripper e applichiamo la patch con:

$ cd john-1.7.0.2/
$ cat john-1.7.2-mysql-1.diff | patch -p1

Ci spostiamo ora nella directory src e lanciamo il make:

$ cd src/
$ make

A questo punto viene dato un elenco di piattaforme. Scegliere quella appropriata per la propria macchina e diamo ad esempio il comando:

$ make clean linux-x86-mmx

ci spostiamo nella cartella run con:

$ cd ../run

Lanciamo ora john the ripper sul file “mypassword” che avevamo creato in precedenza:

$ sudo ./john --show /root/mypassword

Se tutto è andato come previsto, dopo qualche secondo/minuto/ora/giorno :-) (tutto dipende da quanto era robusta la password), di seguito comparirà la password di root scritta tra parentesi. Nel mio caso, fortunatamente, in meno di un minuto sono saltate fuori le password che mi servivano.

Troverete la password nel file “jack.pot” contenuto nella cartella “run” di john the ripper.

Come ultima verifica non ci resta che tornare nel pc remoto e provare ad accedere a mysql:

# mysql -u root -p

Mettiamo la password che il buon john ci ha dato. :-)

N.B.3: Potrebbe succedere che nella tabella le password siano come le seguenti:

+------------------+-------------------------------------------+
| user             | password                                  |
+------------------+-------------------------------------------+
| root             | *7E8154FA4C86DEE52EF28BED69012F4DA4F6B401 |
| debian-sys-maint | *BD55EE3E53CF587EFE8710ADC1F5EE5880A12BD3 |
+------------------+-------------------------------------------+

In questo caso bisognerebbe trovare un altro breaker di password. Se ho novità, non esito a postarle.

  • Share/Bookmark

Tools for checking file system integrity

Sunday, March 8th, 2009
  • sxid
  • aide
  • integrit
  • tripwire
  • samhain
  • debsums

For example you can check /bin/login…

Two utilities to add a digital signature to a binary are:

  • bsign
  • elfsign
  • Share/Bookmark

Testing programs for overflows

Sunday, March 8th, 2009
  • bfbtester
  • rats
  • pscan
  • splint
  • flowfinder
  • Share/Bookmark