• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Teoria e pratica - cos'è un exploit, come inviarlo?

Adenocromo

Utente Normale
Autore del topic
16 Agosto 2010
66
0
Miglior risposta
0
Buona sera,
spulciando un po' in giro mi sono reso conto che esistono soltanto sei o sette guide su come inviare degli exploit, e tra le sette almeno due o tre copiano e incollano. Il procedimento non è per niente complicato, ma per chi è alle prime armi magari una guida più semplificata può servire. :emoji_slight_smile:
Partiamo quindi dalla teoria: cos'è un exploit, a cosa serve, quando lo si usa e perché è così "importante" per chi sta mettendo adesso mano verso certi orizzonti?

Cos'è un exploit? L'exploit è un semplice codice, molte volte scritto in linguaggi di alto livello, come il PERL, mentre altre volte scritto con i più comuni, ma non meno complicati, C/C++, la differenza è sostanziale, di fatti molti asseriscono che un exploit scritto in PERL sia più potente di uno in C/C++, ma non ne sono tanto convinto. Questo codice, comunque, sfrutta i bug, gli errori e i punti vulnerabili di un sito, di una piattaforma o di qualunque altra forma di hosting per poi arrivare a craccarne i dati amministratore, così da entrare e, nella maggior parte dei casi, dossare il sito.

L'exploit non è il frutto di un ingegnoso cracker, però... ribaltare un servizio di hosting con un exploit non significa demolirlo, ma soltanto prenderne i diritti. Di fatti, con un exploit - un exploit comune, non a largo spettro e di potenza sostanziale - si può soltanto entrare nelle vesti dell'admin del determinato host, ma il tutto è limitato. Io non sono un esperto, le cose che vedrete qui non potranno fare altro che impressionare i vostri amici con un "guardate, sono un hacker", ma nulla di più a livello personale. :|

Quando usare un exploit? Molte persone ritengono che usare un exploit ogni qual volta compare la fastidiosa "non hai i diritti per accedere a questo sito" sia la cosa migliore, ma io la vedo in un'altra maniera. Un exploit può aiutare in questi casi, ma se usato bene e se regolato con le giuste misure può anche essere usato contro moltissimi altri tipi di attacchi, che variano da un semplice comando dos/batch ad uno più complesso.

Perché è così importante? Attaccare un sito e prenderne i diritti è, in primo luogo, un divertimento. Poche persone lo fanno per qualcosa di "grande", se non per la propria soddisfazione. Ma un exploit può servire, e serve, da base per chi vuole apprendere un primo attacco lasciando perdere i software scaricabili anche da sciax.


E adesso partiamo con la pratica.

Innanzitutto bisogna sapere che esistono due tipi di exploit:
1. public, ossia l'exploit pubblico, quello più rintracciabile. Il più delle volte funzionante, ma anche un po' scarsetto rispetto all'0day.
2. 0day nonché l'exploit più raro, dannatamente infallibile e molte volte non rintracciabile. Usandolo avrete il 90% di possibilità di essere root, quindi privilegiati, nel sistema exploitato.

Dove troviamo gli exploit? Tutt'ora ci sono pochi siti che offrono una soddisfacente produzione di exploit, la maggior parte di loro sono in MD5 e in HASH, il che li rende complicati da usare e soprattutto da inviare. Ai tempi c'era milw0rm.com (il verde lime fa tanto figo, sì... :fighetto:emoji_slight_smile: ma ahimè ha chiuso, ed era persino uno dei migliori. Adesso c'è
Perfavore, Entra oppure Registrati per vedere i Link!
, anch'esso carino... ma non penso sia ai livelli di milw0rm.

IMPORTANTE: Ricordo che un exploit può avere due radici: la prima è quella denominativa, ossia che dentro l'exploit dovrete inserire voi il sito della vittima, mentre la seconda è quella selettiva, ossia impostata di default con sito e via dicendo. (Attacchi predefiniti, praticamente.)

Comunque, entriamo nel sito e andiamo su "search", lì dobbiamo trovare un exploit che prenda la vulnerabilità del nostro sito-vittima e la riduca in un punto a favore. Ma andando su search ci chiederà delle informazioni, come l'autore, la piattaforma, il tipo di exploit su cui gira, la porta e l'OSVDB, come facciamo a sapere tutte queste cose del nostro sito vittima?

E' semplice, bisogna soltanto sapere dove andare a cercare. Per questo esiste
Perfavore, Entra oppure Registrati per vedere i Link!
e
Perfavore, Entra oppure Registrati per vedere i Link!
, entrambi siti che offrono informazioni generali sulle piattaforme hosting e non soltanto di qualsiasi sito.

Mettiamo in caso io voglia attaccare un sito che monti apache 2.2.3 su un motore unix (habbo.it monta queste funzioni, per esempio), vado sul sito degli exploit e ne cerco uno che abbia queste caratteristiche. Una volta ottenuto l'exploit (che sarà un codice lunghissimo) basterà copiarlo ed incollarlo su un blocco note, chiamarlo apache e salvarlo con estensione .pl , ossia "perl".

Perl è un software, oltre che un linguaggio, adatto a leggere questo genere di estensioni, basta scaricarlo da questo sito:
Perfavore, Entra oppure Registrati per vedere i Link!
.

Una volta installato bisognerà prendere il nostro exploit con estensione .pl e incollarlo su c:/perl/bin, una volta fatto questo dovrete soltanto andare su esegui/cmd e scrivere: cd c:/perl/bin e premere invio. Il command vi darà uno spazietto libero dove dovrete inserire l'exe, quindi scriviamo "apache.exe" (senza virgolette.)

Se avete fatto tutto bene con un exploit funzionante dovrebbe apparire qualcosa di simile:
Perfavore, Entra oppure Registrati per vedere i Link!
(la foto non è mia.)

Questo è tutto, mi dispiace aver costruito un mattone grande quanto l'Ulisse di Joyce, ma spero aiuterà chi cadrà in 'sta maledetta guida... ovviamente scritta del tutto da me. Non per cosa sono le 5.13 del mattino, m'annoiavo ed è uscito fuori qualcosa di colossale. :look:

Buona giornata, ragazzi.
 
Ultima modifica:
  • Like
Reactions: 1 person
Riferimento: Teoria e pratica - cos'è un exploit, come inviarlo?

Ciao Adenocromo,
prima cosa volevo complimentarmi con te, ottima guida, bravissimo! Finalmente qualcuno che posta qualcosa di molto utile!! Sono pochi quelli che lo fanno ormai!! :ok:
Comunque ti volevo chiedere una cosa....
Quando ricerchi l exploit giusto arrivi a questo punto:
Perfavore, Entra oppure Registrati per vedere i Link!

Puoi spiegare dettagliatamente a me e agli altri utenti del forum, cosa si deve inserire precisamente in ogni casella? Il nome del sito targhet dove si mette?
E sopratutto, come acquisire tali informazioni su un sito targhet? Come funzionano questi siti
Perfavore, Entra oppure Registrati per vedere i Link!
e
Perfavore, Entra oppure Registrati per vedere i Link!

Grazie spero nella tua risposta.
E complimenti ancora per la guida, utilissima!! :-D
 
Riferimento: Teoria e pratica - cos'è un exploit, come inviarlo?

Sei gentilissimo, grazie. :emoji_slight_smile:
Allora, ti spiego immediatamente: una volta entrato su exploit-db.com dovrai semplicemente inserire su "description" il sito-vittima, su "free text search" io non metto nulla, ma sarebbe una specie di ricerca avanzata. Su "author" dovresti inserire il creatore dell'exploit, ma almeno che tu non conosca il nome lascialo in bianco. Su "platform" dovrai inserire la piattaforma su cui gira il tuo sito, e per vedere che piattaforma monta il tuo sito dovrai andare su
Perfavore, Entra oppure Registrati per vedere i Link!
, alla tua sinistra ci sarà una barra del cerca con messo "what's that site running?" Lì inserisci il nome del sito, per esempio io ho inserito il sito di google e guarda cos'è uscito:
Perfavore, Entra oppure Registrati per vedere i Link!
, dice: OS - linux , quindi monta una versione di linux. Adesso vai su netcraft e su "platform" inserisci "linux"
Dopo questo ci sarà anche "type", lì dovrai arrivarci da solo. Il più delle volte il 90% dei siti sono hostati su una piattaforma locale. (Unix, apache, linux, sono tutti locali.) Quindi inserirai "local", se hai qualche dubbio chiedi in giro... ma è raro trovare un host non local. Su "language" inserisci "any" mentre su "port" dipende. Se vuoi attaccare un sito che monta una piattaforma apache la porta la vedrai su netcraft. (E il più delle volte è la porta 80.)
Ora c'è OSVDB, che molti, tra cui io, ho da sempre frainteso il funzionamento. OSVDB, se non lo conoscessi, sarebbe un plugin che ti evidenzia senza tutto 'sto giro di operazioni le vulnerabilità di un sito. Ma lascialo in bianco... non penso ti serva più di tanto. E' difficile da usare e ti manda in pappa tutto. :soso:
Mentre su CVE dovrai inserire la data dell'exploit. Se vuoi metti 2008 - 2012, (nel 2008 ha aperto il sito), oppure lo lasci in bianco.

(Spero di non aver incasinato tutto con questi BBcode. qwe)


Ora passiamo a quell'altro sito... allora, sappiamo che
Perfavore, Entra oppure Registrati per vedere i Link!
serve a trovare la platform di un host, a cosa serve, quindi,
Perfavore, Entra oppure Registrati per vedere i Link!
? Fa praticamente la stessa cosa di netcraft, solo che ti da molte più informazioni. Appena sei dentro il sito ti troverai davanti tre barre di ricerca: "WHOIS lookup", "traceroute" e "IP information". Il primo ti da informazioni sul dominio, quindi dov'è hostato (in che città), da chi è hostato e su cosa monta. Serve per lo più per le cose grosse... ma non si sa mai. Il secondo ti da, tramite un indirizzo IP, ogni informazione "interna" sul sito. Quindi ti da, oltre che il sito dell'host, il nome della piattaforma su cui monta il sito principale con più gli orari di aggiornamenti. (Io ho provato ad inserire 173.194.35.159, il sito di google, e mi è uscito una caterba di cose. :|)

Fiù... questo è tutto, perdona se ho fatto ancora una volta le cose x2, ma non sono bravo nel sintetizzare le cose. :-D
Ciao, caro!
 
Ultima modifica:
Riferimento: Teoria e pratica - cos'è un exploit, come inviarlo?

Seguito tutto alla lettera. Quando compilo tutto, e clicco search non mi trovo nessun risultato. E ho provato a inserire su "Description" siti vittima differenti..... ma niente.
mha :|
 
Riferimento: Teoria e pratica - cos'è un exploit, come inviarlo?

Perdonami, mi sono appena reso conto che il sito non è più in funzione, han tolto tutti gli exploit, quelli in homepage sono soltanto a scopo estetico, a quanto pare. -.- Comunque sia, ho trovato un sito ancora più funzionale e molto più semplice:
Perfavore, Entra oppure Registrati per vedere i Link!
, basta che sul cerca inserisci il nome piattaforma su cui gira il sito. (Apache, Unix...) e hai fatto.
 
Riferimento: Teoria e pratica - cos'è un exploit, come inviarlo?

Sposto in Guide & Tutorial. ;)
 
Riferimento: Teoria e pratica - cos'è un exploit, come inviarlo?

Perdonami, mi sono appena reso conto che il sito non è più in funzione, han tolto tutti gli exploit, quelli in homepage sono soltanto a scopo estetico, a quanto pare. -.- Comunque sia, ho trovato un sito ancora più funzionale e molto più semplice:
Perfavore, Entra oppure Registrati per vedere i Link!
, basta che sul cerca inserisci il nome piattaforma su cui gira il sito. (Apache, Unix...) e hai fatto.

Come funziona sto sito? Non riesco a capire come ricercare gli exploit.
 
Riferimento: Teoria e pratica - cos'è un exploit, come inviarlo?

Ma come? :| L'ho anche scritto: "basta che sul cerca inserisci il nome piattaforma su cui gira il sito. (Apache, Unix...) e hai fatto."
Per esempio, scrivi "apache 2.2.3" e ti troverà gli exploit per questa piattaforma.
 
Riferimento: Teoria e pratica - cos'è un exploit, come inviarlo?

Hai le potenzialità dello chef... perché fare solo pappette per i lamer?
 
Riferimento: Teoria e pratica - cos'è un exploit, come inviarlo?

Le grandi potenzialità sono susseguite da una grande veridicità di cultura, cosa che a me manca, purtroppo. Ma grazie per aver commentato e grazie del "complimento", sempre se lo era. ^^
 
Riferimento: Teoria e pratica - cos'è un exploit, come inviarlo?

sono andato sul sito e ho messo apache e mi ho visto dei siti ho cliccato e dove è il codice exploit quello nela finestra nera?
 
Riferimento: Teoria e pratica - cos'è un exploit, come inviarlo?

Bravo ottima guida mi è servita molto perché prima non ci capivo più di tanto di exploit grazie ancora :soso:
 
Riferimento: Teoria e pratica - cos'è un exploit, come inviarlo?

Non ho capito, scusami. Puoi ripetere usando altre parole?..
 
Ciao,
mi spiegheresti meglio questa parte, Mettiamo in caso io voglia attaccare un sito che monti apache 2.2.3 su un motore unix (habbo.it monta queste funzioni, per esempio), vado sul sito degli exploit e ne cerco uno che abbia queste caratteristiche. Una volta ottenuto l'exploit (che sarà un codice lunghissimo) basterà copiarlo ed incollarlo su un blocco note, chiamarlo apache e salvarlo con estensione .pl , ossia "perl".

Perl è un software, oltre che un linguaggio, adatto a leggere questo genere di estensioni, basta scaricarlo da questo sito:
Perfavore, Entra oppure Registrati per vedere i Link!
.

Una volta installato bisognerà prendere il nostro exploit con estensione .pl e incollarlo su c:/perl/bin, una volta fatto questo dovrete soltanto andare su esegui/cmd e scrivere: cd c:/perl/bin e premere invio. Il command vi darà uno spazietto libero dove dovrete inserire l'exe, quindi scriviamo "apache.exe" (senza virgolette.)
 
Sono passati un po' di anni, scusa se rispondo soltanto adesso. Ho dovuto rileggerla tutta da capo perché proprio non la ricordavo.
Comunque, è stata scritta seguendo delle idee un po' troppo scoordinate per i miei gusti, se la dovessi riscrivere cambierei tutto, da cima a fondo.
Ho molto tempo a disposizione questa notte, quindi cercherò di essere il più esauriente possibile. Con un po' di immaginazione, anche qui, puoi architettare di tutto.

Rispondendoti, continuando sulla base di quell'esempio: a dire il vero non credo che habbo.it monti ancora apache, facendo un recheck noto che si è lasciata abbandonare alla versione 1.7.1 di nginx, versione tra l'altro uscita più di due anni fa. Stando a questi parametri, se sei su ambiente unix basta lanciare da terminale questo comando: ab –n 25000 –c 100
Perfavore, Entra oppure Registrati per vedere i Link!
che in pratica loopa un download 25.000 volte con 100 richieste contemporanee, aumentandole per ogni retry (automatica). Questo può darti un resoconto di quanto nginx sciupi sulle connessioni temporanee - credo che sia importante farsi prima i compiti a casa, conoscere l'esatta potenza del sistema che vuoi "ribaltare" è essenziale.

Stando ai difetti di quest'ultimo, nginx non ha un cpanel, se fai uno più uno ti accorgi, quindi, che tutte le rewrite che il database scrive - e ha scritto - sono state rese compatibili con nginx quando, oramai tre anni fa, sono passati da apache a quest'ultima. I sistemi di rewrite sono basati sul modello PCRE, dove qualcosina a mano devi pur scriverla.
Se proprio ti rompi le scatole, esistono comunque dei piccoli tool online (vedi:
Perfavore, Entra oppure Registrati per vedere i Link!
) - non del tutto aggiornato nello sviluppo, da quel che ne so - capaci di risolvere qualunque rewrite (ho notato molti problemi con i moduli, ma manualmente in giro li trovi).

Quindi: nella guida dico di andare sul
Perfavore, Entra oppure Registrati per vedere i Link!
e cercare un exploit che abbia queste caratteristiche (quindi che sfrutti i bug di nginx), sfortunatamente questo non è più possibile per svariati motivi.

1. Gli ultimi changeset nella risoluzione degli ultimi bug presenti in nginx corrispondono ad alcuni errorucci che non potrebbero esserci utili, come errori di segmentazione e DNS aggiunti sotto un dominio o un formato sbagliato. In questo specifico caso, questo bug è stato possibile sfruttarlo per poca roba e soltanto per poco tempo.

2. Perché da apache a nginx? Probabilmente perché il confronto non regge. Molti direbbero che potrebbe trattarsi unicamente di una scelta ben motivata dalla innata spinta che nginx ha verso le prestazioni su larga scala, parliamo di un sistema flessibile e dall'architetturea event-based, ovvero, terra terra, non vanno effettuate le creazioni di tanti processi per quante richieste in esecuzione, così da ottimizzare l'uso della memoria, lavorando in modo asincrono con thread che riducono l'uso di RAM, ottimizzando l'esecuzione generale dei processi. Ricordiamo che nginx non è compatibile con le funzioni "non-principali" di apache, quindi da costringerti, se stai migrando completamente, a fare un refactor ragguardevole del tuo sistema. Ora, nginx è definito anche "reverse proxy" - anche qui, molto semplicemente, filtra i principali attacchi informatici. Apache invece è process-based, ogni connessione simultanea richiede un thread da sostenere ad un overhead molto significativo. Lavora con i moduli a multi-processo, sa farsi valere anche come reverse proxy e load balancer, ma di tanto in tanto incappa in qualche problemuccio senza poter più fare marcia indietro: la sicurezza.

3. Sì, apache ha dei bei moduli di sicurezza, il mod_security del buon Ivan Ristic, c'è il mod_bandwidth, ma ancora oggi sento di amici che cambiano le password dei propri sistemi tre volte al giorno perché l'uso di mod_dosevasive (ad esempio) non funziona su attacchi DOS distribuiti - dubito che un gruppetto di lamer sedicenni ingranino la via della cattiva informatica partendo da un attacco diretto. In più, se non erro, nell'ultima configurazione apache scelta da Habbo si presentò un "piccolo" bug sulla cifratura a 256 bit.

A tal proposito, se habbo montasse ancora quella stessa versione di apache, si potrebbe fare un rewrite locale con OpenSSL, aggirare i certificati, dichiararli con SSLCertificateFile e modificare questa stringa: "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x9f)" - che fu uno dei motivi per la quale habbo passò a nginx - qui una riproduzione emulata montando Tomcat da un utente sulle entry fraudolente, su habbo.com:
Perfavore, Entra oppure Registrati per vedere i Link!
.

Quindi, non è più possibile sfruttare alcun bug poiché di bug apparentemente non ce ne sono, e di exploit apparentemente non se ne trovano, e qui te ne do conto perché un buon exploit non va scaricato ma progettato in prima linea, studiandosi il sistema e l'algoritmo con la quale iniziarlo a "nuova vita".

Comunque, andiamo avanti: nella guida dico di, una volta ottenuto l'exploit (fingiamo di averlo trovato) copiarlo ed incollarlo su un blocco note, chiamarlo "apache" e salvarlo con estensione .pl, e fin qui credo sia di facile comprensione. Quindi scarichiamo perl da qui:
Perfavore, Entra oppure Registrati per vedere i Link!
, installiamolo e rechiamoci sulla directory principale (non uso windows da molti anni, credo che automaticamente lui stesso si piazzi su c:/), quindi apri il terminale (cmd) e recati nella directory dando cd c:/perl/bin.
A questo punto bisogna inserire l'exploit, dài sempre da cmd apache.exe - nelle versioni precedenti di apache questo era il sistema per rilevare automaticamente la gestione dei formati .pl, tal caso non dovesse funzionare, dài apache.pl e attendi.

Tutto qui.
Molti in questo forum si sono spesso lamentati - non fortunatamente con me - di non spiegare mai la teoria di quel che sta dietro una guida.
Spero di essere stato esauriente.
Per ogni cosa, di notte mi trovi qui, di tanto in tanto.
 
Ultima modifica:
Ciao Adenocromo
ho letto la tua risposta, e mi sembra abbastanza intuitiva specie l'ultima parte che ho già risolto, resta l'ultima parte da risolvere, aldila che utilizzo windows e da come mi hai risposto sembra che il sistema operativo non faccia diferenza, vorrei sapere per la ricerca del database, visto che hai detto che questo sito non funziona cioè
Perfavore, Entra oppure Registrati per vedere i Link!
, al contrario di questo sito che funziona cioè
Perfavore, Entra oppure Registrati per vedere i Link!
,mi daresti tutti i vari passaggi di ricerca per la ricerca del database fino al codice da copiare e incollare ? grazie
 
Per semplificare le cose, potresti fare un bel video di tutti i passaggi e lo metti su questo forum ?
 
molto interessante come discussione uno parte dalle cose elementari per andare a capire meglio fino a quando puoi imparare da questo mondo