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,

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

  1. % ./configure                             # run the `configure' script
  2. % make                                    # build GLIB
  3.   [ Become root if necessary ]
  4.   % rm -rf /install-prefix/include/glib.h /install-prefix/include/gmodules 
  5. % 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 constant

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


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

  1. % ./configure                            # run the `configure' script
  2.   % make                                   # build GTK

  3.   [ Become root if necessary ]
  4.   % rm -rf /install-prefix/include/gtk /install-prefix/include/gdk
  5.   % make install                           # install 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

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:


  1. libcapnav, depende de libpcap-dev
  2. libnetdude, depende de libcapnav, glib y tcpdump
  3. 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.gz
despues 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.

Comentarios

  1. 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.

    En 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 :-)

    ResponderEliminar
  2. Me alegra mucho que le haya servido a alguien, gracias a ti Mario

    ResponderEliminar

Publicar un comentario