giovedì 23 giugno 2011

BackTrack 5 vs de-ICE 1.120-1.0a Hackingdojo



Mi sono apprestato a realizzare questo nuovo video... Questa volta prendendo di mira le vulnerabilità di database SQL, che se non opportunamente protetti rischiano di rilevare importantissime informazioni... Questo tipo di attacco è molto di moda(in altre forme) presso le due più grandi comunità hacker del momento, LulzSec e Anonymous, che stanno piegando tutte le più grandi compagnie del settore informatico... Fa molto ridere quando si infiltrano dentro server di aziende operanti nel settore sicurezza, così bravi nel loro lavoro da essere facilmente penetrabili...

Come al solito, prima di condurre un qualsiasi tipo di attacco si devono raccogliere quanto più informazioni possibili sulla macchina... Utilizzare nmap forse non è il metodo più silenzioso, sopratutto se lanciato su tutte le porte, però in questo caso non crea nessuna difficoltà:

nmap -sP -n 192.168.1.*

Troviamo così l'ip della macchina... Ovviamente per comodità suppongo sia nella mia stessa rete( e così è su VirtualBox)... Secondo comando è sempre su nmap


nmap -sS -sV -O -n 192.168.1.120

Troviamo così servizi e porte in ascolto... Rechiamochi sul web server, così da trovare qualche informazione utile tramite il comando firefox 192.168.1.120. Qui vediamo che la pagina che ci presenta una lista di eventuali prodotti presenta una falla sfruttabile tramite sql injection... In questo caso uso il semplicissimo tool sqlmap:

cd /pentest/database/sqlmap
./sqlmap.py -u http://192.168.1.120/products.php?id=NULL --users
./sqlmap.py -u http://192.168.1.120/products.php?id=NULL --privileges
./sqlmap.py -u http://192.168.1.120/products.php?id=NULL --password

Con questi tre comandi possiamo ottenere utilissime informazioni... Possiamo salvare una lista di users, e tramite geany è molto facile modificarla per semplificarla, troviamo che gli utenti webapp e jdavenport sono gli utenti administrator e possiamo trovare l'hash delle password... Tuttavia in questo caso le password non corrispondono agli utenti... Penso sia una sicurezza adottatta dal OS per aggiungere un'ulteriore difficoltà... Ma nessun problema con John The Ripper ed un paio di dizionari... Io nel video faccio un errore, perchè non riuscivo a far andare JTR, volevo provare a fargli dimenticare quegli hash e farglieli ricalcolare, ma non mi ricordavo il comando... Quindi alla fine ho fatto un semplice show, così da vedere il risultato del processo avviato in precedenza...

cd /pentest/password/john
./john --wordlist=percorso_dizionario --rules /root/Desktop/hash
./john --show /root/Desktop/hash

Ovviamente per capire tutti i comandi è bene leggere tutti i doc presenti in JTR... Io tralascio, chi vuole li impara...

Quindi non ci resta che utilizzare hydra per trovare la giusta combinazione tramite protocollo ssh... Utilizziamo un basso numero di attività parallele, sia per essere silenziosi, sia perchè altrimenti otterremmo un numero elevato di errori con la possibile conseguenza di perdere il collegamento...


hydra 192.168.1.120 ssh -L /root/Desktop/users -P /root/Desktop/password -e ns -t 8

Adesso conosciamo il reale accoppiamento fra users e passwords... Possiamo tentare ad accedere con il primo della lista, per vedere se riusciamo ad ottenere qualche informazione... In questo caso ho usato il comando sudo -l per vedere se l'utente ha qualche tipo di possibilità ad eseguire qualcosa in modalità super user... Purtroppo il primo utente non mi permette di fare molto... Ma spostandomi in etc posso visionare il file group, salto alcuni passaggi prova che nel video si vedono...

ssh aadams@192.168.1.120
cd /etc
cat group
exit

Da questo file possiamo vedere che ccoffee ha qualche tipo particolare di autorizzazione... Quindi ci colleghiamo con cccoffee... Ovviamente abbiamo le password di 45 users, e fra queste c'è quella di ccoffee...

ssh ccoffee@192.168.1.120
ls -la
cd scripts
ls
sudo -l
mv getlogs.sh getlogs.sh.old
vi getlogs.sh
Aggiungiamo il codice
:wq! per uscire
chmod +x getlogs.sh
sudo /home/ccoffee/scripts/getlogs.sh

Per imparare ad usare vi cercate con google, a me risulta ancora un po' ostico da digerire... Abbiamo in pratica modificato il file, chiedendogli di avviare una shell... E visto che possiamo eseguire questo comando da root senza conoscerne la password, possiamo diventare root molto facilmente... Nel video io avevo dimenticato di dare il comando chmod per rendere eseguibile il file, tutti gli errori che ho fatto dipendono da questo punto saltato... Dopo aver reso eseguibile il file, possiamo andare dovunque perchè root:

whoami
cd /home/jdavenport
cat company_address.txt

Abbiamo raggiunto lo scopo... Finito... Consiglio di guardare il video per meglio comprendere tutti i passaggi...

ps:thanks to redmeat_uk...

giovedì 9 giugno 2011

Windows Post-Install Wizard - vers 0.2

Ho creato personalmente questo disco, perchè credo che sia utile quando si è appena formattato un pc. Di solito si deve restare di fronte al pc a clickare numerosi accetta e leggere numerose domande. Questo disco, una volta inserito, permettere di saltare questi passaggi, perchè dopo aver scelto i programmi da installare, fa tutto in automatico.

Ecco i programmi che verranno installati automaticamente:

7zip 9.22 32 bit
7zip 9.22 64 bit
Adobe Reader X
CCleaner 3.07.1457 slim
CDBurnerXP 4.3.8.2568
Comodo V5 32 bit
Comodo V5 64 bit
Daemon Tools 4.40.2 Lite
Driver AMD Catalyst 11.5 32 bit
Driver AMD Catalyst 11.5 64 bit
Driver Nvidia 275.33 32 bit
Driver Nvidia 275.33 64 bit
Emule 0.50a
Emule Adunanza 3.16
Firefox 4.0.1
GIMP 2.6.11
Intel Chipset Installation utility 9.2.0.1030
iTunes 10.3 32 bit
iTunes 10.3 64 bit
KVirc 4.0.4
Notepad++ 5.9.1
Realtek Drivers HDA 2.61
Skype 5.3
Teracopy 2.1
Thunderbird 3.1.10
uTorrent 2.2.1
Virtualbox 4.0.8 32 bit
Virtualbox 4.0.8 64 bit
VLC 1.1.10
Windows Live Messenger e Mail
Windows Live Messenger, Mail, MovieMaker

I programmi sono solo per windows 7, ormai penso standard come sistema operativo. Alcuni sono presenti sia per la versione a 32 bit, sia per la versione a 64 bit. Quelli senza indicazione invece sono standard per entrambe le versioni. Ogni programma presenta anche una breve descrizione. Per ora è in versione 0.2, visto che i programmi presenti sono pochi, ma piano piano aumenterà questa lista.

Requisiti di sistema:
Windows 7 32 o 64 bit

Installazione:
  • 1 - Masterizzare oppure montare l'immagine virtualmente
  • 2 - Avviare il programma WPI.exe se non dovesse partire in autoplay
  • 3 - Selezionare i programmi desiderati ed opportuni per la propria versione(32 o 64 bit)
  • 4 - Cliccare "avvia installazione in altro a sinistra dentro la finestra

Link per il download:

http://www.fileserve.com/file/bW89feV
http://www.fileserve.com/file/vvCYJNy


mercoledì 8 giugno 2011

BackTrack 5 vs de-ICE 1.110



Questa volta l'esercizio mi ha portato sulla versione de-ICE 1.110... Rispetto alla precedente versione testata, questa ha ben poca differenza... Dopo aver fatto la prima, questa versione diventa molto facile da testare... A parte il comando strings, che io non conoscevo ma che si può trovare nei suggerimenti che la stessa distribuzione da, risulta molto più facile del primo episodio...

Come sempre si inizia con nmap per scoprire l'indirizzo della vittima e per verificare le porte aperte ed i servizi in ascolto:
  • nmap -sP -n 192.168.1.*
  • nmap -sS -sV -O -n 192.168.1.110

Ovviamente tralascio il significato delle opzioni, che comunque si trovano nel manuale di nmap. Possiamo tralasciare l'apertura del servizio web, in quanto le vere informazioni si trovano nella cartella download accessibile in via anonima via ftp. Infatti si può accedere al servizio con username:anonymous e password:anonymos.
  • ftp 192.168.1.110
  • user:anonymous pass:anonymous
  • ls -a
  • cd download
  • cd etc
  • get core
Infatti il file core risulta molto grande, in più potrebbe essere un dump di qualche errore di sistema... Questo potrebbe contenere informazioni utili... Dopo aver copiato il file, è possibile analizzarlo per scoprirne il contenuto... Il comando file è molto utile per scoprire le informazioni del file... Con queste informazioni si può, tramite google, scoprire che tipo di file è e come aprirlo...
  • file core
  • strings core
Nell'ultima parte del file troviamo gli hash delle password associate agli utenti... Questo ci suggerisce di avviare un attacco bruteforce su questo file. John The Ripper è ovviamente il miglior candidato per trovare le password con un attacco dizionario... Sistemiamo il file come nel video, per avere 4 righe separate e diamolo in pasto a JTR:
  • cd /pentest/password/john
  • ./john --wordlist="percorso del dizionario" --rules /root/Desktop/strings
Lasciamo procedere JTR(io ho tagliato il processo) e troviamo una password per un utente e la password di root. Possiamo fermarci qua perchè abbiamo già tutte le credenziali necessarie per accedere al sistema tramite ssh. Logghiamoci prima tramite l'utente ccoffee e poi con un semplice su diventiamo root.
  • ssh ccoffee@192.168.1.110
  • pass:Diatomaceous
  • su
  • pass:Complexity
  • cd ..
  • cd root
  • ls -a
  • cd .save
  • cat copy.sh
Mi fermo qui con i comandi. Questo file riporta tantissime informazioni al suo interno. Troviamo la cifratura utilizzata, quale file viene prodotto, e che c'è una file password, per portare al termine la decifrazione. Io ho seguito la strada per me più semplice, cioè copiare i file sul mio pc ed avviare in locale la decifratura. Ho copiato il file encodato, il file password, e la stringa di copy.sh... Nel video si vede come faccio, ognuno può seguire la via più facile per le proprie conoscenze... Alla fine ci basta aggiungere un -d dopo enc, sistemare i percorsi dei file e si ottiene il file finale...  Abbiamo così trovato il file necessario...

Importanti conoscenze contenute in questo tutorial... Mai lasciare un server ftp in mnodalità anonima, permette di accedervi, e magari caricare una shell remota che ci permette poi di scalare i privilegi... In più, mai lasciare file importanti come copy.sh dentro al server, in quanto contengono informazioni importanti per decifrare i file... Così come i file dump, dovrebbero essere esaminati e poi cancellati... Siamo riusciti ad accedere al server semplicemente con questi due piccoli errori... Da non dimenticare di spulciare per bene i server, magari contengono cartelle nascoste, come in questo caso... Un ls -a è sempre utile...

ps:thanks to g0tm1lk

sabato 4 giugno 2011

Installare programmi automaticamente - versione 0.1 beta

Ho deciso di pubblicare il mio disco che installa automaticamente i programmi che uso normalmente... E' in versione beta, perchè devo completarlo, ma tutto quello che c'è ora funziona completamente... Con questo disco, dopo averlo inserito ed aver avviato il programma WPI.exe si ha accesso ad un'interfaccia grafica che consente di scegliere i programmi da installare... Dopo averli selezionati e clickato avvia installazione, tutti i programmi si installeranno da soli, senza ulteriori click. Molto utile quando si formatta, perchè non si perde tempo con migliaia di click, e non si perde tempo davanti al pc con continue domande... Io lo uso regolarmente, anche perchè credo che formattare il pc ciclicamente sia doveroso per far riacquistare la velocità iniziale che windows perde con il passare del tempo.

Questo cd, per ora cd, può essere usato con windows 7 32/64 bit. I programmi sono divisi qualora siano presenti due versioni, anche se non capisco come ancora oggi ci siano pc a 32 bit, visto l'enorme vantaggio ad usare la versione a 64 bit.

I programmi installati per ora sono:

7zip 9.22 32 bit
7zip 9.22 64 bit
Adobe Reader X
CCleaner 3.07.1457 slim
Comodo V5 32 bit
Comodo V5 64 bit
Daemon Tools 4.40.2 Lite
Firefox 4.0.1
iTunes 10.2.2 32 bit
iTunes 10.2.2 64 bit
KVirc 4.0.4
Notepad++ 5.9.1
Skype 5.3
Teracopy 2.1
Thunderbird 3.1.10
Virtualbox 4.0.8 32 bit
Virtualbox 4.0.8 64 bit

Pochi programmi per ora, ma li sto implementando... In più metterò i driver alla versione più aggiornata... I driver però andranno installati manualmente, ma verranno copiati sul desktop per una facile installazione...

Il link per prelevare questo disco è:


http://www.fileserve.com/file/ddbwcRX

Dopo aver scaricato il file, masterizzarlo come immagine disco, infatti è un file iso, oppure montarlo in virtuale tramite Daemon tools... Se avete qualche richiesta per qualche programma scrivetelo sotto e provvederò al più presto ad aggiornarlo...

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/