Honeyd ingabbiato

29 04 2008

Come avevo anticipato, ecco un altro piccolo consiglio per honeyd: fate sempre girare i vostri demoni in gabbia.

Ovviamente per usare correttamente chroot() dovremo fare alcune modifiche, a cominciare dalla creazione di una cartella dove potrà sguazzare liberamente come se si trovasse nella directory radice. Io ho chiamato la mia cartella honeyd/ ma siete liberissimi di rinominarla come volete, ma aggiornate i comandi corrispondenti.

Ecco ciò che ho fatto:

mkdir /home/fixed/honeyd
cd /home/fixed/honeyd
mkdir etc
mkdir etc/honeypot/
mkdir lib
mkdir var
mkdir var/run
mkdir var/log
mkdir proc
mkdir usr
mkdir usr/sbin
mkdir usr/lib
mkdir usr/bin
mkdir usr/share
mkdir usr/share/honeyd
mkdir dev
mkdir proc/net

Non ho messo il path della mia shell all’inizio dei comandi perchè capisco che sia molto noioso digitarli, quindi ho fatto in modo che possiate incollarli dentro uno script, modificare le prime due righe ed eseguirlo da soli.

Proseguendo, bisogna copiare librerie e tutto il necessario dentro al nostro “piccolo mondo”

cp /usr/sbin/farpd usr/sbin/
cp /usr/bin/honeyd usr/bin/
cp -r /usr/share/honeyd/* usr/share/honeyd/
cp /usr/lib/libdb-4.5.so usr/lib/
cp /lib/libpthread.so.0 lib/
cp /usr/lib/libevent-1.1a.so.1 usr/lib/
cp /usr/lib/libdumbnet.so.1 usr/lib/
cp /usr/lib/libpcap.so.0.8 usr/lib/
cp /usr/lib/libz.so.1 usr/lib/
cp /etc/honeypot/* etc/honeypot/
cp /lib/libc.so.6 lib/
cp /lib/ld-linux.so.2 lib/
cp /lib/libm.so.6 lib/
cp /lib/libdl.so.2 lib/
cp /etc/ld.so.cache etc/
cp /etc/localtime etc/
cp usr/bin/rrdtool usr/bin/
cp /usr/lib/librrd.so.2 usr/lib
cp /usr/lib/libpng12.so.0 usr/lib/
cp /usr/lib/libfreetype.so.6 usr/lib/
cp /usr/lib/libart_lgpl_2.so.2 usr/lib/
mknod dev/urandom c 1 9
mount –bind -t proc /proc/net proc/net/

Finito questo, possiamo provare ad eseguire honeyd con chroot:

chroot /home/fixed/honeyd /usr/bin/honeyd -d -i eth0 -f /etc/honeypot/honeyd.conf

Non da problemi con ping, ma sicuramente (dato che non abbiamo copiato un sacco di cose in chroot) non potremo eseguire script in bash e perl…una bella limitazione!
Sto lavorando sul problema, appena saprò qualcosa ve lo farò sapere…