lunes, 12 de septiembre de 2011


Aqui les dejo el tutorial para instalar ettercap 0.7.4.1 Ettercap en OpenSuse 12.1

He creado un nuevo post donde indico como instalar la nueva version de ettercap 0.7.4 en ubuntu 11.10 Clicl aqui

Señores en hora buena les traigo como instalar ettercap 7.3 desde las fuentes, se preguntaran que para que hago este blog si ya hay manuales para eso, y en efecto claro que los hay pero desde mi punto de vista son manuales que ya tienen tiempo, a mi parecer no estan actualizados.  El motivo que me llevo a hacer este blog fue que logre instalar ettercap desde los repositorios de mi distribución Linux(ubuntu 11.04) pero no andaba bien despues les dire cual era el error por eso decidí compilarlo yo mismo. bueno dejemonos de rodeo.

En este manual trataremos 2 parches que solucionan algunos errores de ettercap que a la hora de compilar nos da algunos problemas, asi que empezemos por descargar ettercap desde su pagina oficial:
  http://ettercap.sourceforge.net/download.php las pruebas las hice con el paquete que dice ettercap-NG-0.7.3.tar.gz

Relatare paso a paso como fui instalando ettercap y los errores que se me presentaban, y la manera en que los solucione, despues veremos de manera resumida todo el proceso que son solo unos cuantos pasos.

Ahora descomprimammos el archivo que acabamos de bajar(ettercap-NG-0.7.3.tar.gz) una ves descomprimda el fichero le damos dobl click al fichero descomprimido, y ahora viene lo bueno:

  1. Empecemos por desintalar ettercap ( para los que lo tengan instalado por medio de los repositorios)

                    sudo apt-get remove --purge ettercap-common ettercap
  2. instalemos las librerias necesarias (ojo muy necesarias, si no no compilara bien)

    #sudo apt-get install libpcre3-dev libpcap0.8-dev  libnet1-dev libssl-dev ncurses-bin libncurses5-dev

    #sudo apt-get install libnet6-1.3-dev
    #sudo apt-get install libpthread-stubs0-dev
    #sudo apt-get install zlib1g-dev

    sudo apt-get install libltdl-dev
    sudo apt-get install libpcre3-dev
    sudo apt-get install pango-graphite openssl
    Para la interfaz grafica
    pkgconfig
    - Glib >= 2.4.x
    - Gtk+ >= 2.4.x
    - Atk >= 1.6.x
    - Pango >= 1.4.x
    lo instalamos con:
    sudo apt-get install pkg-config
    sudo apt-get install libgtk2.0-dev libpango1.0-dev libatk1.0-dev
  3. Mi primer error fue causado(cuando tenia instalado ettercap por medio de los repositorios) a la hora de tratar de hacer un dns-spoofing, segun estuve leyendo  este error solo es causado en sistemas de 64 bits por. se trata del error:
    ettercap NG-0.7.3 copyright 2001-2004 ALoR & NaGA
    
    Dissector "dns" not supported (etter.conf line 70)
    Ooops ! This shouldn't happen..
    Quizas no hayas percatado de que tienes este error por que normalmente parece que se ejecuta todo bien pero simplemente no haces nada(no funciona tu ataque dns-spoofing) pero no se preocupen yo les dire como solucionarlo

    Ahora la solucion la encontre despues de 3 dias sin exito en un blog de un frances en esta direccion  consiste en modificar el archivo que se llama "configure" esta dentro de la carpeta que descomprimi(ettercap-NG-0.7.3), abrimos el fichero "configure" con nuestro editor favorito y buscamos las siguiente linea:

    ac_cv_search_dn_expand=no
    y la sustituimos por:
    ac_cv_search_dn_expand = "-lresolv"

    ahora buscamos las siguientes lineas:

    if true; then
    HAVE_DN_EXPAND_TRUE=
    HAVE_DN_EXPAND_FALSE='#'
    else
    HAVE_DN_EXPAND_TRUE='#'
    HAVE_DN_EXPAND_FALSE=
    fi
    ac_ec_dns=yes

    else

    if false; then
    HAVE_DN_EXPAND_TRUE=
    HAVE_DN_EXPAND_FALSE='#'
    else
    HAVE_DN_EXPAND_TRUE='#'
    HAVE_DN_EXPAND_FALSE=
    fi
    ac_ec_dns=no
    fi

    Las remplazamos por estas otras

    if true; then
    HAVE_DN_EXPAND_TRUE=
    HAVE_DN_EXPAND_FALSE='#'
    else
    HAVE_DN_EXPAND_TRUE='#'
    HAVE_DN_EXPAND_FALSE=
    fi
    ac_ec_dns=yes

    else

    if true; then
    HAVE_DN_EXPAND_TRUE=
    HAVE_DN_EXPAND_FALSE='#'
    else
    HAVE_DN_EXPAND_TRUE='#'
    HAVE_DN_EXPAND_FALSE=
    fi
    ac_ec_dns=yes
    fi

    Guardamos y cerramos el archivo
  4.  Ahora solucionaremos otro error que corresponde al siguiente:



    In function 'open',
        inlined from 'log_open' at ec_log.c:193:
    /usr/include/bits/fcntl2.h:51: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT in second argument 
    needs 3 arguments
    make[2]: *** [ettercap-ec_log.o] Error 1 
    


    para este error encontre 2 soluciones

    opcion (1) una aqui: https://bugs.gentoo.org/258382?id=258382

    consiste en abrir el archivo "ec_log.c" que se encuentra dentro de la carpea "src" el cual se encuentra dentro de la carpeta que descomprimimos en un principio, abrimos el archivo y buscamos la siguiente linea:

    fd->fd = open(filename, O_CREAT | O_TRUNC | O_RDWR | O_BINARY);

    y la sustituimos por:

    opcion (1)

    fd->fd = open(filename, O_CREAT | O_TRUNC | O_RDWR | O_BINARY, S_IRUSR | S_IWUSR);

    o la opcion(2)
    fd->fd = open(filename, O_CREAT | O_TRUNC | O_RDWR | O_BINARY, 0644);

    cualquiera que escojas te va a funcionar, pero yo pongo la primera ya que fue la primera que encontre, pero te repito con las 2 hice prueba y mefunciono.

    Ahora Nos vamos a la terminal y accesamos hasta la carpeta descomprimida y ejecutamos el siguiene comando

     ./configure --enable-plugins --enable-debug



    al final de ese comando deberemo obtener algo similar aesto:




    ettercap has been configured as follow...

    ==================================================

    Install directory: /usr/local


    Libraries :

    LIBPCAP ................ default
    LIBNET ................. default
    LIBSSL ................. default
    NCURSES ................ default
    GTK+ ................... yes

    Functionalities :

    Debug mode ............. yes
    Plugin support ......... yes
    Passive DNS ............ yes
    Perl regex in filters .. yes
    Iconv UTF-8 support .... yes

    ==================================================

    lo que hace este comando prepara todo, creando archivos "Makefile" en las carpetas correspondientes, muchos manuales despues de que hacen o estan en este paso lo que sigue es hacer un make y luego el famosisimo make install, sin embargo conmigo no es el caso por que cuando hice un make
    me salieron errores como estos:

    cc1: warnings being treated as errors
    ec_text_display.c: En la función ‘text_print_packet’:
    ec_text_display.c:57: aviso: el puntero que apunta en el paso del argumento 2 de ‘regexec’ difiere en signo
    make[3]: *** [libec_text_a-ec_text_display.o] Error 1
    make[3]: se sale del directorio `/home/to/ettercap/ettercap-0.7.3/src/interfaces/text'
    make[2]: *** [install-recursive] Error 1
    make[2]: se sale del directorio `/home/to/ettercap/ettercap-0.7.3/src/interfaces'
    make[1]: *** [install-recursive] Error 1

     cc1: warnings being treated as errors
    ec_text.c: In function ‘text_stats’:
    ec_text.c:468: error: format ‘%llu’ expects type ‘long long unsigned int’, but argument 3 has type ‘u_int64’
    ec_text.c:468: error: format ‘%llu’ expects type ‘long long unsigned int’, but argument 4 has type ‘u_int64’
    ec_text.c:468: error: format ‘%llu’ expects type ‘long long unsigned int’, but argument 5 has type ‘u_int64’
    ec_text.c:482: error: format ‘%8lld’ expects type ‘long long int’, but argument 3 has type ‘u_int64’
    ec_text.c:484: error: format ‘%8lld’ expects type ‘long long int’, but argument 3 has type ‘u_int64’
    ec_text.c:485: error: format ‘%8lld’ expects type ‘long long int’, but argument 3 has type ‘u_int64’
    ec_text.c:485: error: format ‘%8lld’ expects type ‘long long int’, but argument 4 has type ‘u_int64’
    ec_text.c:491: error: format ‘%8lld’ expects type ‘long long int’, but argument 3 has type ‘u_int64’
    ec_text.c:491: error: format ‘%8lld’ expects type ‘long long int’, but argument 4 has type ‘u_int64’
    ec_text.c:493: error: format ‘%8lld’ expects type ‘long long int’, but argument 3 has type ‘u_int64’
    ec_text.c:493: error: format ‘%8lld’ expects type ‘long long int’, but argument 4 has type ‘u_int64’
    make[3]: *** [libec_text_a-ec_text.o] Error 1
    make[3]: se sale del directorio `/home/aliens/Descargas/ettercap-NG-0.7.3/src/interfaces/text'
    make[2]: *** [all-recursive] Error 1
    make[2]: se sale del directorio `/home/aliens/Descargas/ettercap-NG-0.7.3/src/interfaces'
    make[1]: *** [all-recursive] Error 1
    make[1]: se sale del directorio `/home/aliens/Descargas/ettercap-NG-0.7.3/src'
    make: *** [all-recursive] Error 1

    cc1: warnings being treated as errors
    ec_linux.c: En la función ‘disable_ip_forward’:
    ec_linux.c:44: error: se descarta el valor de devolución de ‘fscanf’, se declaró con el atributo warn_unused_result
    ec_linux.c: En la función ‘restore_ip_forward’:
    ec_linux.c:71: error: se descarta el valor de devolución de ‘fscanf’, se declaró con el atributo warn_unused_result
    make[2]: *** [libec_os_a-ec_linux.o] Error 1
    make[2]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/src/os'
    make[1]: *** [all-recursive] Error 1
    make[1]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/src'
    make: *** [all-recursive] Error 1
    

    cc1: warnings being treated as errors-----> linea curiosa e interesante indica que todos los warnings seran tratados como si fueran errores, por lo tanto no se compila

    La solucion es muy sencilla y consiste en quitar el Flag -Werror de los "Makefile"
    :S desgraciadamente son mas de 40 carpetas que contienen un Makefile y es algo laborioso estar editando 44 "Makefile" quitandoles el Flag -Werror, sin embargo cree un script que hace esto automaticamente, lo pueden descargar desde aqui

    lo descargamos y lo metemos a la carpeta de ettercap(la que descomprimimos)


    una vez ahi nos vamos a la terminal y le damos permisos de ejecucion
    chmod +x recorrer
    despues le ejecutamos asi:

    ./recorrer

     y como resultado tendremos algo asi:



    ahora si procedemos al
    #make
    #sudo make install

    y Listo tendremos instalado nuestro ettercap.


    Saludos espero que les halla servido este manual, es mi primer blog y me gustaria que comentaran para saver si les gusto.

    Saludos........ Si les ha servido esta informacion por favor comenten.
Añádeme a Skype