Solución al Primer Reto En el reto que se planteaba en el primer articulo se pedía conseguir toda la información posible sobre la maquina virtual que se suministra y a través de dicha información descubrir vulnerabilidades e intentar atacarlas Los pasos que podemos seguir para esto son los siguientes: 1) Arrancar la maquina virtual y autentificarnos como usuario normal. (Para liberar el puntero pulsamos Ctrl+Alt) 2) Averiguar la dirección IP de nuestra maquina objetivo (podríamos verlo directamente en nuestra maquina, pero supondremos que no tenemos acceso) Para esto vamos a usar nmap. Antes de nada lo instalamos, para ello ejecutamos aptitude install nmap (tenemos que ser root) Para descubrir la dirección IP de nuestro objetivo tenemos que saber antes la dirección de red. Esto lo averiguaremos con ifconfig, ya que nuestro objetivo esta conectada a la misma red que una de nuestras interfaces. Para ello, ejecutamos estando como root ifconfig Como podemos ver en la consola, nos aparecen además de las interfaces típicas dos interfaces creadas por vmware que son a las que se conecta nuestra maquina. Vamos a probar a escanear por ejemplo la interfaz vmnet8 Ejecutamos nmap -sP 172.16.132.0/24 Julio Gómez Agustín Pérez María del Mar Castilla Solución al Primer Reto Podemos ver que además de la dirección de red y la broadcast tenemos la dirección 172.16.132.128 Nuestro objetivo ahora va a ser la dirección Æ 172.16.132.128 3) Identificar el Sistema Operativo Æ El siguiente paso es identificar el SSOO, para esto vamos a hacer también uso de nmap. Ejecutamos nmap -O 172.16.132.128 Vemos que la única información que nos proporciona es que tiene un núcleo de Linux 2.4.x - 2.5.x. Para obtener más información vamos a hacer uso de la herramienta xprobe2. Así pues la instalamos. Para instalarla ejecutamos: aptitude install xprobe2 Una vez instalada para averiguar el SS OO simplemente tenemos que ejecutar: xprobe2 172.16.132.128 Podemos ver que ahora se concreta un poco más y nos dice que tenemos un núcleo Linux 2.4.4, aunque también podemos observar que no sabe diferenciar si es cualquier otra versión 2.4.x 4) Identificar los servicios: Para ver que servicios están funcionando en nuestro objetivo, usaremos la herramienta nmap, ejecutando: nmap 172.16.132.128 Vamos a identificar también las versiones con la opción –sV, para ello, simplemente tenemos que ejecutar: nmap -sV 172.16.132.128 Julio Gómez Agustín Pérez María del Mar Castilla Solución al Primer Reto 5) Buscar en Internet información sobre vulnerabilidades de los servicios detectados y un exploit para atacarlos: Vamos a centrarnos en el primer servicio: el servidor ftp. El principal objetivo va a ser: WU-FTPD wu-2.6.1-16. Para ello buscamos en la Web: http://www.milw0rm.com/ En la misma, hemos encontrado un exploit para la versión 2.6.1 de wu-ftpd, según la página Web este nos proporcionara privilegios de root. Copiamos el código al editor de texto (p.e. gedit) y lo guardamos como exploit.c Julio Gómez Agustín Pérez María del Mar Castilla Solución al Primer Reto El siguiente paso es compilar el código, si no tenemos el compilador instalado lo podemos instalar ejecutando: aptitude install build-essential Ahora vamos a compilar el exploit, para esto tras entrar en la carpeta en que tengamos en código ejecutamos gcc exploit.c -o exploit El siguiente paso es iniciar el ataque, para ello, simplemente tenemos que ejecutar el código que acabamos de compilar usando ./exploit Lo siguiente, nos muestra el manual del exploit, para así poder estudiar que objetivo u objetivos podemos introducirle: ./exploit -t 0 Podemos ver que entre las opciones disponibles solo hay una que tiene exactamente la versiónn que tenemos de nuestro servicio, esta es Red Hat 7.1, que corresponde al número 19. Por lo tanto, para ejecutar el exploit sobre este servicio ejecutamos: ./exploit -t 19 -d 172.16.132.128 Julio Gómez Agustín Pérez María del Mar Castilla Solución al Primer Reto ¡¡¡¡¡Ya estamos dentro de la maquina y además como root!!!! 6) Muestra de las posibilidades del exploit: Ahora vamos a ver alguna de las cosas que nos podrían hacer si consiguen ejecutar un exploit como el que estamos usando en nuestra maquina. Podemos por ejemplo navegar por las carpetas y ver modificar o crear archivos... Podemos ver o modificar la configuración... Hacernos con las contraseñas de los usuarios... Matar procesos o incluso reiniciar o apagar la maquina... Ahora vamos a escribir algo en el escritorio del host remoto, matar algunos procesos y apagar la maquina. Para que esto sea mas visible arrancamos el entorno gráfico en la maquina virtual, ejecutando para ello startx. A continuación entramos en usuario y creamos un fichero en su carpeta personal. Si ahora miramos en la maquina virtual podemos ver que es verdad que hemos escrito el fichero Esto solo lo hacemos para mostrar lo que se puede hacer, pero NUNCA, debemos ni alterar, ni modificar, ni crear el contenido de una maquina que no nos pertenezca sin permiso del legítimo dueño. Por ultimo vamos a cerrar la interfaz gráfica e intentar apagar el equipo Julio Gómez Agustín Pérez María del Mar Castilla Solución al Primer Reto Esperamos que te haya gustado, en el próximo número propondremos nuevos retos Y recuerda el objetivo es aprender y si se da el caso saber como defenderse, pero nunca atacar para demostrar que sabes un poco más. ¡Hasta Pronto! Julio Gómez Agustín Pérez María del Mar Castilla