Instalación de Netdude en Linux
Hoy voy a explicar como instalar netdude en GNU/Linux, netdude es un programa que sirve para "trucar" trazas de red, es decir podemos capturar tráfico en un interfaz de red modificar la traza (cambiar headers, numerosd e telefono,User Agent) para que haga otra cosa y volver a inyectarselo al servidor, esto se suele usar para pruebas y para pentesting (penetración de sistemas), yo voy a partir de una maquina virtual con Ubuntu 10.04 LTS pero esto es aplicable a cualquier distro actual, al ir a la pagina de netdude http://netdude.sourceforge.net/ vemos que este programa depende de gtk 1.2 y glib 1.2, eso es un problema ya que ninguna distro actual tiene esos paquetes, la única forma que nos queda es compilar todo a mano,
Una vez instaladas las dependencias podemos descargar los paquetes, de esta web podemos descargar GTK 1.2.10 que es la version necesaria, para glib 1.2.10 descargamos el fuente de aquí, luego de la pagina de netdude descargamos el resto de paquetes y los ponemos en una carpeta, yo lo hice así
Lo primero que hay que hacer es instalar glib, para ello abrimos un terminal y descomprimimos el fuente
Después lo mejor es conectarse como root en ese terminal ya que casi todo lo que tenemos que hacer es como root
Nos pedira la pass del usuario actual, para instalar glib y gtk basicamente hay que hacer lo mismo, hay que ejecutar los siguientes comandos:
Para glib
En el caso que glib de algún erro de este estilo al compilar con make
Os vais a editar el fichero gstrfuncs.c y añadis una coma al final de cada linea de error, estas en concreto, 870, 1037,1080,1111, basicamente la linea estaba asi
y tiene que quedar asi
Una vez hecho esto solo hay que ejecutar el make de nuevo y luego make install
Para GTK
Una vez instalados hay que meter las librerias en el ldconfig para que cualquier cosa que compilemos las use, como root tenemos que editar el archivo /etc/ld.so.conf
Incluimos las siguientes carpetas y cerramos
include /usr/local/lib
include /usr/include/X11
include /usr/include
include /usr/lib
después ejecutamos el comando ldconfig para que coja los cambios
Una vez hecho esto el orden para la instalación de netdude es el siguiente:
El paquete se instala de la siguiente manera
./configure
make
make install
una vez instalado debemos instalar libnetdude, para ello descomprimimos y vamos a la carpeta
./configure
make
make install
Añadimos la siguiente linea al /etc/ld.so.conf y ejecutamos ldconfig
include /usr/local/share/libnetdude/0.12/plugins
include /usr/local/share/libnetdude/0.12/protocols
Después descomprimimos netdude y ejecutamos los mismo pasos
./configure
make
make install
Añadimos la siguiente linea al /etc/ld.so.conf y ejecutamos ldconfig
include /usr/local/share/netdude/0.5/protocols
include /usr/local/share/netdude/0.5/plugins
Si teneís dudas, como siempre podéis preguntarme.
Primero hay que instalar una serie de paquetes en la distro yo, al usar Ubuntu, debo instalar una serie de dependencias para que tanto gtk como gli compilen satisfactoriamente, empezamos por instalar los paquetes de desarrollo de las X y varias cosas mas
sudo apt-get install liblua5.1-dev libpcre3-dev libc-ares-dev libadns1-dev libsmi2-dev libgnutls-dev libgeoip-dev libportaudio-dev libcap2-dev build-essential wireshark libc6-dev bison flex automake cpp x11proto-xext-dev libxt-dev xserver-xorg-dev tcpdump
Una vez instaladas las dependencias podemos descargar los paquetes, de esta web podemos descargar GTK 1.2.10 que es la version necesaria, para glib 1.2.10 descargamos el fuente de aquí, luego de la pagina de netdude descargamos el resto de paquetes y los ponemos en una carpeta, yo lo hice así
Lo primero que hay que hacer es instalar glib, para ello abrimos un terminal y descomprimimos el fuente
tar xfvz glib-1.2.10.tar.gz
Después lo mejor es conectarse como root en ese terminal ya que casi todo lo que tenemos que hacer es como root
sudo su
Nos pedira la pass del usuario actual, para instalar glib y gtk basicamente hay que hacer lo mismo, hay que ejecutar los siguientes comandos:
Para glib
- % ./configure # run the `configure' script
- % make # build GLIB
- [ Become root if necessary ]
- % rm -rf /install-prefix/include/glib.h /install-prefix/include/gmodules
- % make install # install GLIB
En el caso que glib de algún erro de este estilo al compilar con make
gcc -DHAVE_CONFIG_H -I. -I. -I. -DG_LOG_DOMAIN=g_log_domain_glib -g -O2 -Wall -D_REENTRANT -c gstrfuncs.c -fPIC -DPIC -o .libs/gstrfuncs.lo
gstrfuncs.c: In function `g_printf_string_upper_bound':
gstrfuncs.c:870: error: syntax error before string constant
gstrfuncs.c:1037: error: syntax error before string constant
gstrfuncs.c:1080: error: syntax error before string constant
gstrfuncs.c:1111: error: syntax error before string constantOs vais a editar el fichero gstrfuncs.c y añadis una coma al final de cada linea de error, estas en concreto, 870, 1037,1080,1111, basicamente la linea estaba asi
g_warning (G_GNUC_PRETTY_FUNCTION
y tiene que quedar asi
g_warning (G_GNUC_PRETTY_FUNCTION,
Una vez hecho esto solo hay que ejecutar el make de nuevo y luego make install
Para GTK
- % ./configure # run the `configure' script
- % make # build GTK
- [ Become root if necessary ]
- % rm -rf /install-prefix/include/gtk /install-prefix/include/gdk
- % make install # install GTK
vi /etc/ld.so.conf
Incluimos las siguientes carpetas y cerramos
include /usr/local/lib
include /usr/include/X11
include /usr/include
include /usr/lib
después ejecutamos el comando ldconfig para que coja los cambios
Una vez hecho esto el orden para la instalación de netdude es el siguiente:
- libcapnav, depende de libpcap-dev
- libnetdude, depende de libcapnav, glib y tcpdump
- netdude, depende de libnetdude y gtk
El siguiente paquete a instalar es libcapnav así que lo descomprimimos
tar xfvz libpcapnav-0.8.tar.gz
El paquete se instala de la siguiente manera
./configure
make
make install
una vez instalado debemos instalar libnetdude, para ello descomprimimos y vamos a la carpeta
tar xfvz libnetdude-0.12.tar.gzdespues debemos ejecutar lo mismo que el anterior
./configure
make
make install
Añadimos la siguiente linea al /etc/ld.so.conf y ejecutamos ldconfig
include /usr/local/share/libnetdude/0.12/plugins
include /usr/local/share/libnetdude/0.12/protocols
Después descomprimimos netdude y ejecutamos los mismo pasos
tar xfvz netdude-0.5.1.tar.gz
./configure
make
make install
Añadimos la siguiente linea al /etc/ld.so.conf y ejecutamos ldconfig
include /usr/local/share/netdude/0.5/protocols
include /usr/local/share/netdude/0.5/plugins
una vez hecho esto ya podemos ejecutar netdude con el comandoo netdude, el programa tiene esta pinta
COn esto doy por finalizado el tutorial, considero que netdude y tcprewrite son las mejores herramientas para poder modificar trazas de red para volver a inyectarlas en un servidor
Si teneís dudas, como siempre podéis preguntarme.
Samuel, me has salvado la vida... Aunque tu entrada es de hace más de dos años, yo me he visto obligado a "tirar" de ella ya que, en un trabajo de la universidad, nos pedían instalar varias herramientas de monitorización de tráfico y seguridad, estando entre ellas Netdude... y sinceramente, era tarea poco menos que imposible conseguir instalar todas las librerías y dependencias que el software necesitaba, ya que la versión de Ubuntu que yo tengo es la 12.04 Precise y por lo visto el programa, al ser antiguo, trabaja con versiones también antiguas de glib y gtk.
ResponderEliminarEn definitiva, una odisea y una pesadilla. Al final, suerte que encontré tu web porque siguiendo los pasos EXACTOS que comentas, he conseguido instalar y hacer funcionar la aplicación a la primera!! Gracias, Samuel :-)
Me alegra mucho que le haya servido a alguien, gracias a ti Mario
ResponderEliminar