mercoledì 1 giugno 2011

BackTrack 5 vs de-ICE 1.100

Questo è il primo video tutorial. Il mio primo "Vulnerable by design OS".



La prima cosa da fare prima di effettuare un test di sicurezza su una macchina è quella di scoprire quali porte sono in ascolto e quali servizi sono avviati. Ovviamente prima di tutto bisogna conoscere l'ip della macchina. In questo caso le due macchine sono virtualizzate con VirtualBox, programma gratuito, che mi permette di creare anche una rete virtuale sulla quale eseguire i test. Si possono eseguire ogni tipo di test su ogni tipo di OS, ma questo è un OS creato proprio per iniziare nel mondo del pentesting.

Il primo comando da dare è dunque:
  • nmap -sP -n 192.168.1.*
Visualizziamo che l'ip della macchina virtuale da attaccare è appunto 192.168.1.100. Scopriamo sempre tramite nmap le porte ed i servizi in ascolto:
  • nmap -sS -sV -n -O 192.168.1.100
Non commento le opzioni di nmap, che comunque si possono trovare nel manuale di nmap. Notiamo che l'ftp non è al momento disponibile, mentre ssh e server web sono correttamente avviati. Colleghiamoci quindi alla pagina web del server per scoprire qualche informazione utile:
  • firefox 192.168.1.100
Nella pagina relativa al disco, troviamo i contatti delle persone che possono intervenire sui problemi del server. Questi contatti non dovrebbero essere visibili a tutti. Notiamo anche che la lettera del nome è posta dopo il cognome. Prima di fare questo video ho risolto il disco facendo diverse prove. Comunque si può provare per i nostri scopi a mettere la lettera del nome davanti al cognome. E proviamo a collegarci tramite ssh con user = pass. Quindi richiamiamo xhydra soprattt per chi come me non ricorda mai tutti i comandi di hydra. xhydra è meno stabile come interfaccia, ma molto più semplice nel suo utilizzo. Si può provare a impostare tutto tramite xhydra e poi copiare il comando nel terminale. Ma visto i pochi user in gioco faccio andare xhydra.


E' una pratica diffusissima di inserire la password uguale all'username. E questo facilita sempre il compito dell'attaccante. Come buona abitudine, ogni servizio dovrebbe avere user e password diversi, ma nella maggior parte dei casi basta una password diversa formata da caratteri alfanumerici più caratteri speciali tipo !$&@ che complicano la ricerca delle password con attacco bruteforce. Altra cosa da notare è che il servizio ssh è configurato in modo da non limitare il numero di tentativi. Infatti otteniamo user e password per ssh. Colleghiamoci via ssh per scoprire altre informazioni sulla macchina:
  • ssh bbanter@192.168.1.100
  • password:bbanter(ovviamente nascosta)
Su unix, importanti sono i file shadow, passwd e groups presenti nella cartella /etc/. Infatti cerchiamo subito quelli. shadow non è visualizzabile, abbiamo bisogno di essere utente privilegiato. Ma notiamo tramite i file passwd e groups che aadams presenta un gruppo diverso. Quindi riportiamoci su xhydra per provare un nuovo attacco bruteforce sull'username aadams. Io in prima battuta ci ho messo 9 ore per completare l'attacco. Ho usato un dizionario reale. Ma in questo esempio ho limitato le voci. Ormai sapevo come procedere. Quindi adesso conosciamo la password associata ad aadams. Ricolleghiamoci via ssh questa volta con aadams:
  • ssh aadams@192.168.1.100
  • password:nostradamus
  • cd /etc
  • sudo cat shadow
Nel video io ho sbagliato a digitare la password in prima istanza, ma nessun problema. Adesso abbiamo accesso al file shadow, che copiamo sul nostro pc,ripuliamolo e diamolo in pasto a John The Ripper(JTR).
  • cd /pentest/password/john
  • ./john --wordlist="posizione dove avete salvato il dizionario" --rules "file da craccare"
Finalmente troviamo la password di root. Ricolleghiamoci via ssh con aadams:
  • ssh aadams@192.168.1.100
  • password:nostradamus
  • su
  • password:tarot
Finalmente abbiamo completo accesso al server. E finalmente possiamo accedere alla cartella ftp finora inaccessibile. Al suo interno troviamo un file .enc.. Una semplice ricerca su google ci fornisce ogni dettaglio del file. Ma non ci fornisce il sistema di cifratura adottato. Prima sistemiamo il server ftp:
  • cd /etc/
  • vi vsftpd.conf
  • premiamo i per entrare in modalità insert(io nel video ho sbagliato la prima volta, non sono bravissimo con vi)
  • mettiamo il # nell'ultima riga del file
  • digitiamo :w
  • chiudiamo con :q
  • modprobe capability
Adesso il server ftp funziona completamente, e possiamo collegarci per copiare il file presente nella cartella incoming.
  • ftp 192.168.1.100
  • root
  • tarot
  • cd /home/ftp/incoming
  • get salary_dec2003.csv.enc /root/Desktop/salary.enc
  • exit
Chiudiamo tutti i collegamenti con il server e dedichiamoci al file enc... Io ho creato un banalissimo script che prova tutte le possibili cifrature ed inserisce le prime 50 righe del file decriptate in un unico file con il sistema di cifratura. Questo è il codice
#!/bin/bash

FILE=$1

for line in $(openssl list-cipher-commands);
do
echo $line;
openssl enc -$line -d -in $FILE -k tarot -out $line-deenc.csv;
echo $line >> deenc.txt;
head -n 50 $line-deenc.csv >> deenc.txt;
rm *.csv;
done
kwrite deenc.txt

E' uno script banalissimo appunto, che procede in automatico. Ed alla fine ci apre il file con le prime 50 righe decriptate. Subito ci accorgiamo che in chiaro risultato le prime righe e che non dobbiamo più fare niente perchè vediamo tutte le righe. Finito.


ps:io sono solo all'inizio. Questo video ha il solo scopo educativo.

ps2:grazie g0tm1lk http://g0tmi1k.blogspot.com/

Nessun commento: