solucionario de ice i

25

Upload: luisvillegas222

Post on 30-Dec-2014

41 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Solucionario de Ice I

Solucionario de De-Ice I

De-Ice es un entorno virtualizado de un sistema, creado para pruebas de penetración cuyo fin u objetivo

es lograr escanear las vulnerabilidades que pueda tener, explotarlas, escalar privilegios y obtenerinformación existente en ese sistema.

Que se necesita

BackTrack 4 o superior (a la fecha BackTrack 5 R3)

de-ice.net-1.100-1.0.iso

Diccionarios (Usuarios y Contraseñas)

Escenario

Un CEO de una pequeña empresa que ha sido presionado por el Comité Administrativo para ser objetode un Test de Penetración a realizarse desde la empresa. El Director General afirma que su empresa es

segura, cree además de que este Test de Penetración será un enorme desperdicio de dinero, sobre todoporque ya tiene una solución de exploración (escaneo) de vulnerabilidades (Nessus).

Para hacer �felices� a los del Comité Administrativo, él decide contratarlo a usted y le da un plazo de 5

días para realizar el trabajo, pues como se mencionó él no cree que la empresa sea vulnerable acualquier intento de acceso no autorizado.

Su tarea es analizar solo un servidor en el cual se aloja una página Web que ofrece información de

contacto de la misma.

El Director General espera que usted intente con todos los tipos de ataques que estén a su disposición,pues está seguro de que usted no podrá vulnerar el sistema y obtener acceso.

Ficha Técnica

Categoría Fundamentación / Test de Penetración

Nivel de dificultad Bajo

Formato .ISO

Objetivos / Técnicas Mapeo de Red / O.S Fingerprint / Escaneo de Puertos / Identificación deServicios / Escaneo de Vulnerabilidades / Identificación y Análisis de

Vulnerabilidades / Explotación de Vulnerabilidades / Escalada dePrivilegios / Extracción de Información Confidencial.

Herramientas / Recursos OSSTMM / Nmap / Xhydra / Netcat / Medusa / NetDiscover / Nessus

Page 2: Solucionario de Ice I

Configuración Este entorno esta configurado para que de manera automática obtenga la

dirección IP 192.168.1.100. El router/tarjeta de red virtual/física debetener DHCP activo, la dirección de inicio debe ser 192.168.1.2 y la

máscara de subred 255.255.255.0

Configuración de De-Ice I en VMware Workstation

Para llevar a cabo el test de penetración, primero se debe realzar la configuración del entorno en elVmware Workstation, para lo cual se agotaran los siguientes pasos:

1. Se deberá crear y configurar una interfaz de red virtual, que permita conectar las maquinas virtuales

a una subnet con los siguientes datos:

a) Nombre Interfaz: vmnet2 b) IP de red: 192.168.1.0

c) Mascara: 255.255.255.0 d) DHCP: Activado

e) NAT: Activado

Page 3: Solucionario de Ice I

2. Descargar desde el repositorio creado para el Curso de Avance de Seguridad Informática, la imagen

del disco (.iso) del De-Ice-I, el cual se encuentra disponible en uno de los siguientes links:

ftp://190.128.18.67/repositorio/cursos_avance/seguridad_informatica/entornos_pentesting/Sec-Track/De-Ice-I/iso/de-ice.net-1.100-1.1.iso

http://190.128.18.67/repositorio/cursos_avance/seguridad_informatica/entornos_pentesting/Sec-

Track/De-Ice-I/iso/de-ice.net-1.100-1.1.iso

Ilustración 1: Configuracion de interfaz de red virtual

Page 4: Solucionario de Ice I

3. Crear una maquina virtual en VMware WorkStation a partir de la imagen del disco (.iso) descargadaen el punto anterior, con la configuracion que se visualiza en la siguiente imagen:

4. Se inician las maquinas virtuales correspondientes a De-Ice-I que es nuestro objetivo para el test depenetración y el BackTrack que es nuestra herramienta para realizar las pruebas..

Desarrollo de la Prueba de Penetración

Ilustración 2: Configuracion de maquina virtual De-Ice

Page 5: Solucionario de Ice I

Una vez configurado todo el entorno virtual, se procede a realiza las actividades propias del la prueba

de penetración desde la maquina virtual de BackTrack, así:

Mapeo de la red

Se inicia con un escaneo de las IP que se encuentran dentro del rango configurado para la subred, es

decir, se realiza un barrido de IP's para saber cuáles están activas, lo que indica que equipos estánencendidos.

Para ello, haremos uso de la herramienta llamada Nmap, la cual nos permitir'a hacer este proceso y

muchos otros que veremos el el desarrollo del pentesting.

Comando:

# nmap -n 192.168.1.1-255

Este comando permite escanear el rango de IP's desde la 192.168.1.1 hasta la 192.168.1.255

Ilustración 3: Escaneo de IP's con Nmap

Page 6: Solucionario de Ice I

Este comando arroja como resultado la lista de IP's activas, entre las cuales aparece la de nuestro

objetivo principal, la IP 192.168.1.100.

Ahora que conocemos la IP del objetivo, se debe realizar el siguiente paso, conocer los servicios ypuertos que tiene abiertos la maquina objetivo.

Escaneo de Puertos e Identificación de Servicios y Vulnerabilidades

El fingerprint hace referencia a la obtención de las firmas de los servicios que se encuentran activos,especificando el nombre del servicio, la versión, etc.

En este caso realizaremos el procedimiento utilizando igualmente la herramienta Nmap:

Comando:

# nmap -n -sS -sV -O 192.168.1.100

Parámetros:

-n (No realizar resolución de nombres) Le indica a Nmap que nunca debe realizar resolución DNS inversa de las direcciones IP activas

que encuentre. Ya que DNS es generalmente lento, esto acelera un poco las cosas.

-sS (sondeo TCP SYN)

El sondeo SYN es el utilizado por omisión y el más popular por buenas razones. Puederealizarse rápidamente, sondeando miles de puertos por segundo en una red rápida en la que

no existan cortafuegos. El sondeo SYN es relativamente sigiloso y poco molesto, ya que nollega a completar las conexiones TCP.

-sV (Detección de versiones) Activa la detección de versiones como se ha descrito previamente. Puede utilizar la opción -A

en su lugar para activar tanto la detección de versiones como la detección de sistemaoperativo.

-O (Activa la detección de sistema operativo) Tal y como se indica previamente, activa la detección de sistema operativo. También se puede

utilizar la opción -A para activar la detección de sistema operativo y de versiones.

Page 7: Solucionario de Ice I

El resultado de la ejecución de este comando es la que visualiza en la imagen siguiente.

Como del escaneo de puertos anterior, se puede evidenciar que aparte de que tiene servicios abiertoscomo el FTP, SSH, también existen dos que llaman mucho la atención, HTTP y HTTPS, los cuales

indican que tiene un servidor web corriendo en la maquina y por ende existe una pagina web quepodemos visitar para ver si hay información que nos pueda servir allí.

Para lo anterior, abrimos un navegador web, en el caso de Backtrack, debemos abrir el Firefox e

ingresamos la IP de la maquina objetivo (192.168.1.100).

En ocasiones, los administradores de los sitios web no se percatan de la importancia de la informaciónque revelan a través de sus contenidos web, por este motivo vamos a revisar la pagina del sitio objetivo

y trataremos de recaudar la mayor información posible que se encuentre disponible.

Si nos fijamos bien, encontramos información valiosa que de alguna manera nos puede ayudar a

Ilustración 4: Escaneo de puertos y versiones de servicios activos con Nmap

Page 8: Solucionario de Ice I

avanzar en el logro del objetivo:

� Direcciones de correo electrónico de personal de la empresa.

� Direcciones de correo electrónico de personal técnico (Tal vez haya alguno que tenga

privilegios en el servidor).

Con los nombres de usuarios que hay aquí, y con un poco de imaginación, podemos hacer una

suposición acercade algunos de los

usuarios que hay enel sistema, mas

aun, si observamosque los correos

electrónicos siguenun patrón definido,

entoncesobtendremos algo

como:

Ilustración 5: Sitio web del objetivo

Page 9: Solucionario de Ice I

Obteniendo Acceso

Una vez definidos los posibles usuarios, procedemos a realizar un ataque al servicio SSH, el cual se

encontraba activo, según el resultado obtenido del escaneo de Puertos y Servicios realizado con Nmap.

Para esto haremos uso de la una herramienta que permite realizar ataques sistematizados a un servicioespecifico a través de un diccionario de usuario y contraseñas denominada Hydra.

Comando:

# hydra 192.168.1.100 ssh -L /root/recursos/lista_usuarios.txt -p password -e nsr

Parametros:

-L (Fichero con nombres de usuario)

Se debe especificar la ruta en donde se encuentra el fichero con los nombres de los usuariosque servirán de login.

-p (contraseña)

Es la contraseña que se utilizará para el ataque, en caso de dejarla vacía, se entenderá que elpassword es vacío.

-e (Verificaciones adicionales)

Se configuran aspectos adicionales para el ataque como:

Page 10: Solucionario de Ice I

(n) para definir una contraseña nula.

(s) para configurar el mismo nombre de usuario como contraseña.(r) para configurar que defina como contraseña el nombre de usuario inverso.

Como se evidencia en la imagen anterior, hydra ha encontrado un usuario y una contraseña valida

dentro del equipo víctima para el servicio SSH, lo que nos permitirá en principio ingresar con unaconexión remota y hacer una exploración de su contenido.

Usuario: bbanter

Contraseña: bbanter

Para lograr el acceso remoto, haremos uso del servicio al que se le encontró la vulnerabilidad:

Comando

# ssh [email protected]

# ssh -l bbanter 192.168.1.100

Una vez ejecutado el comando, pedirá una contraseña, en ese momento ingresaremos la contraseñarespectiva.

Ilustración 7: Ataque de fuerza bruta con hydra a usuario bbanter

Page 11: Solucionario de Ice I

Como vemos en la figura anterior, ya tenemos acceso en la maquina objetivo llamada �slax� con elusuario bbanter.

Ahora, como el objetivo es extraer información privilegiada del equipo objetivo, trataremos de ingresar

a lugares distintos a la carpeta de inicio del bbanter �home�.

Escudriñando, encontramos una carpeta �ftp� a la que el usuario bbanter no tiene privilegios de accesoni tampoco puede listar su contenido, algo que se hace raro, lo que nos hace inferir que allí puede haber

información importante a la que solo usuarios privilegiados tienen acceso.

Después de ejecutar comandos que permiten navegar por carpetas, listar contenido de archivos,llegamos a la conclusión de que el usuario bbanter no tiene los suficientes privilegios para navegar por

el sistema, lo que nos lleva al siguiente nivel del ataque la �Escalada de Privilegios�.

Escalada de Privilegios

Ahora bien, una vez con el acceso, trataremos de escudriñar un poco con el objeto de buscar

Ilustración 8: Acceso por SSH con usuario bbanter

Page 12: Solucionario de Ice I

información que nos permita escalar privilegios, para ello, visualizaremos el archivo que contiene la

información de los usuarios del sistema:

Comando:

# cd /etc/# cat passwd

El comando �cat� permite listar el contenido de archivos por consola, en este caso lista el contenido del

archivo �passwd� en el cual se encuentran los usuarios habilitados en el sistema.

Vemos entonces que existen tres usuarios que estan definidos dentro del sistema, entre los cuales esta

con el que obtuvimos el primer acceso (bbnater), lo que nos permite depurar un poco mas nuestroarchivo de usuarios creado en un principio, a tal punto que solo nos quedarían tres usuarios:

� aadams

� bbanter

� ccoffee

Otro aspecto que se debe tener en cuenta, es los grupos a los que perteneces los usuarios; si nos fijamosbien, veremos que hay dos usuarios que tiene grupo �100�, mientras que hay uno que tiene grupo �10�,

Ilustración 9: Visualizacion de los usuarios del sistema

Page 13: Solucionario de Ice I

lo que nos lleva a pensar que debemos averiguar cuales son esos grupos, si existe algun usuario en un

grupo que tiene mas privilegios que los otros.

Para ello, debemos listar el contenido de otro archivo que permite ver los grupos que están creados, así:

Comando:

# cat group

Como se evidencia en la imagen anterior, nuestras sospechas son ciertas, vemos que el grupo donde secrean todos los usuarios sin privilegios altos por defecto es el grupo �100� correspondientes a �users�,

mientras que el grupo �10� corresponde a uno donde se el grupo de usuarios �root� es miembro.

Con esta información podemos definir otra estrategia para el ataque. Sabemos que el usuario �aadams�

Ilustración 10: Visualización de grupos existentes en el sistema

Page 14: Solucionario de Ice I

tiene privilegios mas altos que los otros usuario, por lo que ese sera nuestro próximo objetivo, obtener

acceso con el usuario �aadams�.

Para ello, haremos uso nuevamente de un ataque por fuerza bruta utilizando la herramienta queutilizamos en un principio, hydra, con la ayuda de unos diccionarios de contraseñas que debemos tener

de antemano para realizar el ataque.

El éxito de un ataque por fuerza bruta es el poder sustentado en los diccionarios, entre mas grande omas depurado sea, mas efectivo es. BackTrack tiene dentro de su haber unos diccionarios que a pesar

de tener solo palabras en ingles, son muy eficientes. Con esto podemos iniciar, así:

Comando:

# hydra 192.168.1.100 ssh -V -l aadams -P /root/recursos/pass_habituales.txt

Parámetros:

-V (Modo verbose)

Muestra las combinaciones contraseña+usuario para cada intento.

-l (usuario)

Define el usuario(login) con el que realizaremos el ataque.

-P (Archivo de contraseñas)

Contiene la ruta al archivo con las contraseñas a utilizar para el ataque combinadas con elnombre del usuario.

Eureka....eureka...., se encontró la contraseña correspondiente al usuario aadams la cual es

Ilustración 11: Ataque de fuerza bruta con hydra a usuario aadams

Page 15: Solucionario de Ice I

�nostradamus�.

Con estos datos podemos entonces ingresar por el servicio SSH a la maquina objetivo y extraerinformación a la cual el usuario bbanter no tenia acceso.

Comando

# ssh -l aadams 192.168.1.100

Una vez logueados en la maquina objetivo como aadams, tratamos de obtener acceso a la carpeta

�ftp/incoming�, pero notamos que tampoco tenemos privilegios, pero recordemos que el usuarioaadams esta en el mismo grupo de usuarios que �root� lo que implica que podemos utilizar el comando

�sudo� para ejecutar comando de mayor nivel de privilegios.

Ilustración 12: Acceso por SSH con usuario aadams

Page 16: Solucionario de Ice I

Ups..., vemos que los privilegios del usuario �aadams� solo permiten listar el contenido de la carpeta

�ftp/incoming�, en la cual se encuentra un archivo que llama la atención: �salary_dec2003.csv.enc� elcual puede ser nuestra prueba de penetración y vulnerabilidad del sistema que estamos necesitando.

Lo anterior nos lleva al hecho de que debemos conseguir privilegios mas altos para lograr el objetivo,mas si analizamos el ultimo mensaje que se visualiza en la imagen anterior que nos indica que el

usuario que puede realizar lo que buscamos, copiar el archivo, es root.

Entonces procedemos a conseguir los datos de ese usuario, para lo cual usaremos lo poco privilegios

que tienen aadams asi:

Existe un archivo en GNU / Linux que guarda las contrasenas de los usuarios de una manera

encriptada, denominado �shadow� y que solo algunos usuarios con privilegios de altos pueden ver. Eneste caso veremos si aadams cuenta con esos privilegios.

Comando:

# cat /etc/shadow

Ilustración 13: Secuencia de comandos con usuario aadams

Page 17: Solucionario de Ice I

Como vemos en la imagen anterior, el usuario aadams puede ver el contenido del archivo shadow peroinvocando los privilegios de root a traves del comando sudo.

Acto seguido, en un editor de texto como el gedit, seleccionamos y copiamos el contenido de estearchivo en nuestra maquina, con el fin de que podamos manipularlo mas facilmente.

Ilustración 14: Visualizacion del archivo shadow de GNU Linux

Page 18: Solucionario de Ice I

Como vemos, copiamos efectivamente el contenido del archivo shadow en un nuevo archivo en lamaquina local y lo nombramos igual.

Ahora debemos crackerar la contrasena de del usuario root, con la cual tendremos acceso a todo elsistema, no convertiremos en amos y senores del equipo remoto.

En esta ocasión usaremos otra herramienta especializada para hacer este tipo de �trabajo sucio�,denominada jhon the ripper, que aunque es de las mas antiguas en su genero, su eficiencia no ha sido

superada; veamos entonces su funcionamiento.

Comando:

Ilustración 15: Archivo en maquina local con contenido del archivo shadow

Page 19: Solucionario de Ice I

# john --rules --wordlist=/root/recursos/pass_habituales.txt --users=root /root/recursos/shadow

Parámetros:

--rules

Permite activar el administrador de palabras para el manejo de listas.

--wordlist

Define la ruta y el archivo que contiene las palabras que se usara como diccionario.

--users

Define el usuario al cual se le desea crackerar la contraseña.

/root/recursos/shadow

Es la ruta y el nombre del archivo que contiene las contraseñas encriptadas de los usuarios y

donde se encuentra la contraseña de root.

Listo...!!!, como vemos, tenemos la contraseña del usuario root, con esto ya podemos ingresar a la

maquina objetivo y extraer la información necesaria. Manos a la obra.

Ilustración 16: Ejecución de john the ripper para crackear contraseña de root

Page 20: Solucionario de Ice I

Vaya, si queremos entrar como root a la maquina objetivo a traves del servicio SSH, notamos que este

usuario no puede accederla.... uummmmmm, pero tenemos acceso desde otros usuarios.

Lo que podemos hacer entonces es ingresar a la maquina objetivo como aadams y después escalar

privilegios como root, asi:

Comado:

# ssh -l aadams 192.168.1.100

Lo que nos da acceso como aadams, luego cambiamos al ususario root con el comando �su�, de la

siguiente manera:

Comando:

# su

El sistema nos pedira entonces la contrasena de root, a lo cual digitaremos la que crakeamosanteriormente: tarot.

Como vemos, el promptuario del usuario cambió al de root. Acto seguido buscamos la manera de

descargar el archivo que nos servirá de prueba. Una de las maneras es a través del comando �scp�, el

Ilustración 17: Escalando a privilegios de root con el comando "su"

Page 21: Solucionario de Ice I

cual permite transferir archivos a través del protocolo �SSH�.

Otra manera es ubicando el archivo en la carpeta raíz del �Apache�, el cual es el servidor de paginas

web que funciona por el puerto 80 y que si recordamos en el escaneo de puertos y servicios, este puertoestaba abierto y por eso pudimos ver la pagina web publicada en la maquina objetivo.

Bien, para no dificultar mas el proceso, utilizaremos la opción del protocolo HTTP por el puerto 80,

así:

Comandos:

# ls -l /var/www/htdocs

Este comando nos muestra el contenido de la carpeta raiz de Apache.

# cp /home/ftp/incoming/salary_dec2003.csv.enc /var/www/htdocs/

Este comando copia el archivo salary2003.csv.enc en la carpeta raiz de Apache para poder serdescargado posteriormente.

Ilustración 18: Copiado del archivo salary2003.csv.enc en carpeta raíz de Apache

Page 22: Solucionario de Ice I

Como vemos en la imagen, el archivo ha sido copiado, por tanto solo nos resta descargarlo a la

maquina nuestra para que lo podamos manipular. Para ello abrimos un navegador web como el firefoxy digitamos la ruta completa hacia el archivo, asi:

http://192.168.1.100/salary_dec2003.csv.enc

Una vez descagado el archivo, tratamos de abrirlo, pero solo veremos simbolos, esto sumado al hechode que el archivo tiene una extension particular (.enc), la cual infiere que el archivo ha sido encriptado,

por lo que para volverlo editable, debemos desencriptarlo.

Para ello utilizaremos otra herramienta que tiene casi todo sistema que tenga configurado el protocolossh, es el openssl, la cual permite encriptar y desencriptar archivos en sistemas GNU Linux, como el de

la maquina objetivo, por tanto debemos ejecutar lo siguinete:

Ilustración 19: Descarga del archivo salary_dec2003.csv.enc

Page 23: Solucionario de Ice I

Comando:

# openssl enc -d -aes-128-cbc -in salary_dec2003.csv.enc -out salary.csv -k tarot

Parametros:

enc

Encodiando (Codificando) con cifrado.

-d -aes-128-cbc

Define el tipo de cifrado que se debe utilizar para el desencriptado.

-in salary_dec2003.csv.enc

Define el archivo de entrada, que se quiere descencriptar.

-out salary.csv

Define el nombre del archivo de salida despues de ser desencriptado.

-k tarot

Define la contrasena del usuario que encripto el archivo y que se requerie para desencriptarlo.

Page 24: Solucionario de Ice I

Ahora podemos abrir el archivo desencriptado con cualquier editor de texto y evidenciar la inofrmacionalli contenida.

Ilustración 20: Desencriptando el archivo salary_dec2003.csv.enc

Ilustración 21: Evidencia final

Page 25: Solucionario de Ice I

Con esto, hemos concluido el trabajo que se nos encomendo, evidenciar fallas de seguridad en elsistema.

Felicitaciones para todos aquello que lo lograron!!!!