Iscriviti ai Feeds Rss
Ricevi gli aggiornamenti nella tua email:

Ago
27th

3 Strumenti per analizzare il protocollo HTTP e scoprire il server remoto

Autore: angelor | Files under Firefox, Hacking, Networking

L’information gathering è la prima fase di un attacco. Si tratta di un’operazione finalizzata alla raccolta del maggior numero possibile di informazioni sull’obiettivo da poter utilizzare per lo sviluppo di una strategia di attacco.

Se l’attacco è rivolto ad un web server le informazioni fondamentali da scoprire saranno
il tipo di web server e la versione. In base a queste informazioni si potrà sviluppare il piano di attacco.

Per esempio, se il server fosse un Apache molto probabilmente la piattaforma sarebbe Linux e utilizzerebbe PHP come linguaggio per le web application; se invece il server remoto venisse identificato come Internet Information Server della Microsoft la piattaforma sarebbe sicuramente Windows e le web aplication sarebbero scritte in ASP/.NET.

Il metodo più semplice per ottenere queste informazioni è chiederle al server! Ogni volta che consultiamo una pagina web il server, in modo trasparente per l’utente comunica con il browser tramite un “linguaggio” (un protocollo per essere più precisi) chiamato HTTP. Un particolare frammento di questi dati HTTP (pacchetti di dati) denominato “header” (intestazione) contiene tutte queste informazioni.

Come visualizzarle? Esistono diversi metodi. Quello più sofisticato è quello di lanciare uno sniffer sulla propria macchina (come tcpdump o Wireshark), catturare un po’ di dati mentre si naviga comodamente in rete col browser e analizzarli successivamente filtrando i dati con il protocollo HTTP.

Esistono altri metodi più immediati, come estensioni Firefox e siti web che offrono strumenti in grado di effettuare questo tipo di attività. E poi ci sono gli strumenti da linea di comando comenetcat. Vediamo in dettaglio.

TcpQuery

Il primo strumento che presento è TcpQuery. Il funzionamento è molto semplice. Basta inserire l’indirizzo del web server da analizzare nella text-box etichetta “server”; nell’altra text-box è già presente la stringa HTTP: GET / HTTP/1.0. Cliccando su GO si avvia l’interrogazione.
Proviamo con il server www.libero.it. Il risultato è il seguente:

HTTP/1.1 200 OK
Date: Wed, 06 Aug 2008 20:51:16 GMT
Server: Apache
Set-Cookie: Libero=xx.84.211.xx.1218055876475336; path=/;
expires=Wed, 24-Nov-10 20:51:16 GMT; domain=.libero.it
X-Powered-By: PHP/5.1.6
Vary: Accept-Encoding,User-Agent
Connection: close
Content-Type: text/html

di seguito tutto il corpo html sorgente. Utilizzando il comando HEAD / HTTP/1.0
al posto di GET / HTTP/1.0, ovvero sostituendo GET con HEAD si ottiene solo
l’intestazione, che è quello che ci interessa.

Analizziamo la risposta. La prima riga “HTTP/1.1 200 OK” ci comunica che la pagina è
stata trovata (codice HTTP 200); se la pagina non fosse stata trovata avremmo avuto
come risultato un codice 404, Page Not Found.

Di seguito vediamo l’ora del server (Date: Wed, 06 Aug 2008 20:51:16 GMT), il tipo
di server (Server: Apache) e la versione di PHP utilizzata (X-Powered-By: PHP/5.1.6)

Live HTTP Header

La stessa cosa si può fare con un’estensione Firefox: Live HTTP Header. La procedura è molto più semplice. Dopo avere installato l’estensione basta aprire la finestra di Live HTTP Header mentre si naviga normalmente e tutti gli header HTTP verranno “sniffati” (sia del server sia del client) e mostrati a video. Questo strumento è molto utile in particolar modo per il debug di web applications.

Questo è un esempio effettuato sempre con libero.it:

HTTP/1.x 200 OK
Date: Wed, 13 Aug 2008 20:17:38 GMT
Server: Apache
X-Powered-By: PHP/5.1.6
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html

Netcat

Netcat è da anni uno degli strumenti più apprezzati dagli hacker e le sue possibilità vanno ben oltre l’interrogazione di un web server. Ormai si trova in praticamente tutte le distribuzioni Linux (Unix in generale). Esiste anche una versione per Windows.

Per gli scopi di questo articolo può essere utilizzato nel modo seguente:

si apre una shell e si digita

nc www.libero.it 80 -vv

quando la connessione viene stabilita vedremo una stringa simile a questa

vs-fe.iol.it [195.210.91.83] 80 (http) open

e quindi digitiamo la stringa del comando HTTP come abbiamo visto prima:

HEAD / HTTP/1.0 e poi due volte invio.

HTTP/1.1 301 Moved Permanently
Date: Thu, 07 Aug 2008 14:28:27 GMT
Server: Apache
Location: http://www.libero.it/
Connection: close
Content-Type: text/html; charset=iso-8859-1

Esiste un altro strumento, disponibile su tutti i computer: telnet. Se si utilizza telnet la procedura è identica a quella per netcat. In alternativa si possono utilizzare client esterni come Putty, ottimo e flessibile client telnet/ssh.

Ci sono molte cose da dire sugli header HTTP. Il fingerprinting e l’anti-fingerprinting dei server; dal mascheramento dei client agli strumenti di fingerprinting del client. E sui semplici metodi che permettono di aggirare sistemi di controllo modificando le intestazioni HTTP. Ne parlerò nei prossimi articoli.


Altri Articoli

Ago
26th

Nmap Online: Uno strumento avanzato per verificare la sicurezza del proprio computer

Autore: angelor | Files under Hacking, Networking, Risorse

Nmap è probabilmente il più potente ed utilizzato scanner disponibile. Per chi non lo conoscesse dico che si tratta di un programma per esplorare le reti, verificare lo stato delle porte TCP (aperte/chiuse/filtrate). Utilizza diverse tecniche per lo stealth scanning, una modalità di scansione in grado di sfuggire ai controlli. E’ stato uno dei primi (se non il primo) strumento in grado di effettuare l’os fingerprinting attivo, ovvero è in grado di “indovinare” il tipo e la versione del sistema operativo tramite una analisi del comportamento dell’host remoto, valutando la reazione dell’host all’invio di una serie di sonde TCP.

Esiste una versione online di Nmap, denominata in modo imprevedibile ed assai fantasioso Nmap Online.
Questa versione ha alcuni limiti atti ad evitare l’uso improprio dello strumento per evitare che un utente effettui scansioni anonime di qualsiasihost o blocco di indirizzi.
Quindi non è possibile effettuare scansioni ovunque, ma solo all’indirizzo da cui ci colleghiamo e alla relativa sottorete.

Visti i limiti, veniamo alle caratteristiche. Nmap online offre tre opzioni:

  • Quick Scan
  • Full Nmap Scan
  • Custom Scan

Quick Scan effettua una scansione delle porte principali, con le seguenti opzioni nmap: -F -T5 -sS xxx.xxx.xxx.xxx dove xxx.xxx.xxx.xxx è il nostro indirizzo ip, -F indica la scansione veloce e -T5 la velocità di scansione (alta in questo caso); -sS ordina a Nmap di effettuare la scansione Syn Scan.

Full Nmap Scan effettua una scansione dove l’utente deve specificare le porte da controllare. In questa opzione i parametri Nmap cambiano: non c’e’ più ovviamente la -F; la scansione è sempre di tipo Syn Scan, e la velocità viene abbassata con l’opzione -T4.

Custom Scan permette di scegliere l’indirizzo ip e le opzioni. Come ho detto prima l’indirizzo può essere scelto dalla sottorete da cui ci si collega; le opzioni sono invece libere nei limiti dei Terms of Service

Nmap Online fornisce i risultati alla fine della scansione direttamente nella pagina del browser, ma è possibile anche farsi inviare un’email con ilreport direttamente al proprio indirizzo.


Altri Articoli

Ago
23rd

Decifrare un hash MD5 online

Autore: angelor | Files under Crypto, Hacking, Password

Come abbiamo visto l’algoritmo MD5 produce codici hash irreversibili, ma irreversibili non vuol dire non craccabili.

Con questo servizio online ottenere il plaintext (testo in chiaro) partendo da un hash è semplicissimo, anche se naturalmente il risultato non è assicurato.
Md5decrypter ha un database di 40 milioni di hash; database in continua espansione, alimentato dagli utenti.

Esiste un altro cracker online: Milw0rm. Milw0rm oltre ad essere un sito che raccoglie quotidianamente exploit, video e tutorials sui vari aspetti tecnici del mondo dell’hacking, ospita anche un cracker online in grado di craccare un md5 in poche ore. Anche in questo caso il risultato non è assicurato, ma provarlo non costa niente.

Un altro servizio in grado di effettuare il lookup degli hash md5 (e SHA1) è md5.rednoize.com. Simile a Md5decrypter, supporta anche SHA1, il che lo rende ancora più completo.


Altri Articoli

Ago
21st

Retroscena della Cyberwarfare in Georgia

Autore: angelor | Files under Cyberwarfare

Nella notte dell’8 agosto le truppe georgiane sferrano un attacco per riconquistare la provincia indipendentista dell’Ossezia del Sud. Nel giro di poche ore la Russia risponde con una controffensiva che da il via a una pericolosa crisi internazionale tra USA, NATO, UE e Russia stessa.

La tensione era nell’aria da alcune settimane, i segnali potevano essere colti da una serie di eventi, tra i quali anche alcuni attacchi dicyberwarfare . Infatti se la guerra convenzionale è scoppiata l’8 agosto, la guerra digitale è iniziata molto prima; successivamente è continuata in parallelo con lo scontro armato vero e proprio. Per la prima volta una crisi di portata mondiale si è svolta in modalità multidimensionale.

Ma per quale vero motivo è scoppiata questa guerra, i cui esiti non sono così chiari soprattuto agli occhi dell’opinione pubblica che non riesce a comprenderne i risvolti più inquietanti? E come si è sviluppata la battaglia cibernetica?

Cerco di ricostruire i fatti. Tutto inizia ai primi di luglio.

01/07/2008 Medvedev in Azerbaijian, Turkmenistan e Kazakhstan (”Provocazione contro Mosca“)

“Agli inizi di luglio, Medvedev è volato in visita diplomatica in Azerbaijian, Turkmenistan e Kazakhstan; a Baku, capitale del primo Stato, ha offerto di acquistare l’intera produzione di gas azero a prezzi di mercato; a Ashgabat, ha ottenuto il consenso turkmeno alla modernizzazione dell’oleodotto Central Asia Center Pipeline (CACP), e la costruzione di un oleodotto litorale attorno al Caspio.”

09/07/2008 Putin in Libia (”Provocazione contro Mosca“)

“Almeno due centri di potere sembrano voler arrivare ai ferri corti con la Russia: il complesso militare industriale e, soprattutto, gli interessi petroliferi. La speranza di trovare in Medvedev un presidente più «occidentale» di Putin, ha subìto una rovente smentita. Il 9 luglio, dopo una visita di Putin al colonnello Gheddafi avvenuta in aprile, Gazprom ha annunciato di essere prossima ad un accordo con la Libia, per cui Gazprom «comprerà tutti i futuri volumi di gas (libico), petrolio e gas naturale liquefatto per l’esportazione a prezzi competitivi».”

20/07/2008 Attacco al sito del presidente georgiano

Il sito Shadowserver che si occupa del monitoraggio dell Botnet e degli attacchi DDoS, segnala l’attacco al sito del presidente georgiano Saakashvili. Shadowserver rileva che il server C&C (Comando e Controllo, un server particolare utilizzato dai pirati per coordinare l’attacco) è attivo da alcune settimane ma non è ancora stato utilizzato per nessun attacco. E’ stato preparato per unacyberwar? Inoltre questo server è situato negli Stati Uniti:

“The C&C server involved in these attacks is on the IP address 207.10.234.244, which is subsequently located in the United States.”

21/07/2008 Immediate Response

Gli USA provocano Mosca. Inizia un’esercitazione militare in Georgia con i marines americani. Nome dell’esercitazione “Immediate Response”.

Il resto della storia è noto. L’esercitazione durerà fino a fine luglio; una settimana dopo la Georgia sferrerà l’attacco fatale, innescando la risposta russa e lacyberwarfare che ha portato ad attacchi DDoS su vasta scala contro siti georgiani.

Che cosa impariamo da questa storia? Impariamo che le provocazioni anti-russe iniziano ben prima dell’attacco georgiano all’Ossezia; che il primo attacco ai siti georgiani parte in concomitanza con un’esercitazione militare USA e il server di Comando e Controllo si trova negli Stati Uniti.
Gli attacchi russi ai siti georgiani probabilmente ricalcano la stessa strategia adottata nel corso della cyberwar estone del 2007.

I russi probabilmente non controllano i pirati, ma è probabile che non li ostacolino. Non è da escludere che le reti criminali possano essere convertire in reti per gli attacchi politici, e le autorità potrebbero chiudere un occhio sulle attività illecite ottenendo un tacito scambio di favori. Inoltre a fianco delleBotnet dei professionisti sono nati blog e forum di simpatizzanti e nazionalisti che incitano alla cyber guerra i privati cittadini senza particolare preparazione tecnica, fornendo loro istruzioni, liste di obiettivi e strumenti per contribuire all’esito dell’attacco.

E mentre i russi e forse i cinesi sperimentano nuove forme di open-source warfare, gli americani affondano il mega progetto da 8000 uomini del centro di cyberwarfare dell’Air Force.


Altri Articoli

Ago
20th

Attacco a Joomla 1.5.x

Autore: angelor | Files under Exploit, Hacking

Se utilizzate Joomla e non avete aggiornato alla versione 1.5.6 siete a rischio attacco.
E’ stato trovato un bug gravissimo che permette di ottenere l’accesso al pannello di amministrazione in pochi secondi.

Il 9 Agosto veniva rilasciata la versione 1.5.6 di Joomla, il cui scopo principale era quello di chiudere una falla gigantesca nel meccanismo di reset della password.

Tre giorni dopo vengono rilasciate pubblicamente le istruzioni per sfruttare questo bug che a detta dell’autore è stato utilizzato per defacciare alcuni siti turchi.

Il problema come ho detto prima risiede nel meccanismo di reset della password.
L’utente può avviare una procedura di azzeramento della password; all’indirizzo email dell’utente viene inviato un token di controllo che l’utente deve inserire per poter inserire la password nuova.

Un errore di valutazione dell’input fa però si che il token inserito dall’utente possa essere un carattere ‘ (apice singolo), innescando così una SQL Injection , ovvero sovvertendo la logica di esecuzione dello script che interagisce con il database. Il risultato è che il pirata può impostare una password di sua scelta e quindi accedere al pannello di amministrazione.

L’exploit è facilmente replicabile. L’ho testato in locale con la versione italiana di Joomla 1.5.5. Ecco la sequenza precisa:

1. Andare all’indirizzo localhost/index.php?option=com_user&view=reset&layout=confirm
2. Nella text-box di inserimento del codice mettere ‘
3. Inserire la nuova password di amministrazione
4. Andare all’indirizzo localhost/administrator/
5. Siete amministratori.


Altri Articoli