Está en la página 1de 25

SoIucionario de De-Ice I

De-Ice es un entorno virtualizado de un sistema, creado para pruebas de penetracion cuyo fin u objetivo
es lograr escanear las vulnerabilidades que pueda tener, explotarlas, escalar privilegios y obtener
informacion existente en ese sistema.
Que se necesita
BackTrack 4 o superior (a la fecha BackTrack 3 R3)
de-ice.net-1.100-1.0.iso
Diccionarios (Usuarios y Contrasenas)
Escenario
Un CEO de una pequena empresa que ha sido presionado por el Comité Administrativo para ser objeto
de un Test de Penetracion a realizarse desde la empresa. El Director General afirma que su empresa es
segura, cree ademas de que este Test de Penetracion sera un enorme desperdicio de dinero, sobre todo
porque ya tiene una solucion de exploracion (escaneo) de vulnerabilidades (Nessus).
Para hacer °felices¨ a los del Comité Administrativo, él decide contratarlo a usted y le da un plazo de 3
dias para realizar el trabajo, pues como se menciono él no cree que la empresa sea vulnerable a
cualquier intento de acceso no autorizado.
Su tarea es analizar solo un servidor en el cual se aloja una pagina Web que ofrece informacion de
contacto de la misma.
El Director General espera que usted intente con todos los tipos de ataques que estén a su disposicion,
pues esta seguro de que usted no podra vulnerar el sistema y obtener acceso.
Ficha Técnica
Categoría Fundamentacion / Test de Penetracion
Nivel de dificultad Bajo
Formato .ISO
Objetivos / Técnicas Mapeo de Red / O.S Fingerprint / Escaneo de Puertos / Identificacion de
Servicios / Escaneo de Vulnerabilidades / Identificacion y Analisis de
Vulnerabilidades / Explotacion de Vulnerabilidades / Escalada de
Privilegios / Extraccion de Informacion Confidencial.
Herramientas / Recursos OSSTMM / Nmap / Xhydra / Netcat / Medusa / NetDiscover / Nessus
Configuración Este entorno esta configurado para que de manera automatica obtenga la
direccion IP 192.168.1.100. El router/tarjeta de red virtual/fisica debe
tener DHCP activo, la direccion de inicio debe ser 192.168.1.2 y la
mascara de subred 233.233.233.0
ConIiguracion de De-lce l en VMware Workstation
Para llevar a cabo el test de penetracion, primero se debe realzar la configuracion del entorno en el
Vmware Workstation, para lo cual se agotaran los siguientes pasos:
1. Se debera 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: 233.233.233.0
d) DHCP: Activado
e) NAT: Activado
2. Descargar desde el repositorio creado para el Curso de Avance de Seguridad Informatica, 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
Ilusrroción 1: Con[iqurocion Je inrer[oz Je reJ virruol
3. Crear una maquina virtual en VMware WorkStation a partir de la imagen del disco (.iso) descargada
en 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 de
penetracion y el BackTrack que es nuestra herramienta para realizar las pruebas..
Desarrollo de la Prueba de Penetracion
Ilusrroción 2: Con[iqurocion Je moquino virruol De-Ice
Una vez configurado todo el entorno virtual, se procede a realiza las actividades propias del la prueba
de penetracion desde la maquina virtual de BackTrack, asi:
Mapeo de Ia 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 cuales estan activas, lo que indica que equipos estan
encendidos.
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:
# nmop -n 192.168.1.1-255
Este comando permire esconeor el ronqo Je IP's JesJe lo 192.168.1.1 nosro lo 192.168.1.255
Ilusrroción 3: Esconeo Je IP's con Nmop
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 y
puertos que tiene abiertos la maquina objetivo.
Escaneo de Puertos e Identificación de Servicios y Vulnerabilidades
El fingerprint hace referencia a la obtencion de las firmas de los servicios que se encuentran activos,
especificando el nombre del servicio, la version, etc.
En este caso realizaremos el procedimiento utilizando igualmente la herramienta Nmap:
Comando:
# nmop -n -sS -sV -O 192.168.1.100
Parámetros:
-n (No realizar resolución de nombres)
Le inJico o Nmop que nunco Jebe reolizor resolución DNS inverso Je los Jirecciones IP ocrivos
que encuenrre. Yo que DNS es qenerolmenre lenro, esro ocelero un poco los cosos.
-sS (sondeo TCP SYN)
El sonJeo SYN es el urilizoJo por omisión y el mos populor por buenos rozones. PueJe
reolizorse ropiJomenre, sonJeonJo miles Je puerros por sequnJo en uno reJ ropiJo en lo que
no exisron corro[ueqos. El sonJeo SYN es relorivomenre siqiloso y poco molesro, yo que no
lleqo o compleror los conexiones TCP.
-sV (Detección de versiones)
Acrivo lo Jerección Je versiones como se no Jescriro previomenre. PueJe urilizor lo opción -A
en su luqor poro ocrivor ronro lo Jerección Je versiones como lo Jerección Je sisremo
operorivo.
-O (Activa la detección de sistema operativo)
Tol y como se inJico previomenre, ocrivo lo Jerección Je sisremo operorivo. Tombien se pueJe
urilizor lo opción -A poro ocrivor lo Jerección Je sisremo operorivo y Je versiones.
El resulroJo Je lo ejecución Je esre comonJo es lo que visuolizo en lo imoqen siquienre.
Como del escaneo de puertos anterior, se puede evidenciar que aparte de que tiene servicios abiertos
como el FTP, SSH, también existen dos que llaman mucho la atencion, HTTP y HTTPS, los cuales
indican que tiene un servidor web corriendo en la maquina y por ende existe una pagina web que
podemos visitar para ver si hay informacion que nos pueda servir alli.
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 informacion
que 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 informacion posible que se encuentre disponible.
Si nos fijamos bien, encontramos informacion valiosa que de alguna manera nos puede ayudar a
Ilusrroción 4: Esconeo Je puerros y versiones Je servicios ocrivos con Nmop
avanzar en el logro del objetivo:
Direcciones de correo electronico de personal de la empresa.
Direcciones de correo electronico de personal técnico (Tal vez haya alguno que tenga
privilegios en el servidor).
Con los nombres de usuarios que hay aqui, y con un poco de imaginacion, podemos hacer una
suposicion acerca
de algunos de los
usuarios que hay en
el sistema, mas
aun, si observamos
que los correos
electronicos siguen
un patron definido,
entonces
obtendremos algo
como:
Ilusrroción 5: Sirio web Jel objerivo
Obteniendo Acceso
Una vez definidos los posibles usuarios, procedemos a realizar un ataque al servicio SSH, el cual se
encontraba activo, segun 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 servicio
especifico a través de un diccionario de usuario y contrasenas denominada HyJro.
Comando:
# nyJro 192.168.1.100 ssn -L /roor/recursos/lisro_usuorios.rxr -p possworJ -e nsr
Parametros:
-L (Fichero con nombres de usuario)
Se Jebe especi[icor lo ruro en JonJe se encuenrro el [icnero con los nombres Je los usuorios
que serviron Je loqin.
-p (contraseña)
Es lo conrroseno que se urilizoro poro el oroque, en coso Je Jejorlo vocio, se enrenJero que el
possworJ es vocio.
-e (Verijicaciones adicionales)
Se con[iquron ospecros oJicionoles poro el oroque como:
(n) poro Je[inir uno conrroseno nulo.
(s) poro con[iquror el mismo nombre Je usuorio como conrroseno.
(r) poro con[iquror que Je[ino como conrroseno el nombre Je usuorio inverso.
Como se evidencia en la imagen anterior, nyJro ha encontrado un usuario y una contrasena valida
dentro del equipo victima para el servicio SSH, lo que nos permitira en principio ingresar con una
conexion remota y hacer una exploracion de su contenido.
Usuario: bbanter
Contrasena: bbanter
Para lograr el acceso remoto, haremos uso del servicio al que se le encontro la vulnerabilidad:
Comando
# ssn bbah1eJ_192.168.1.100
# ssn -l bbonrer 192.168.1.100
Una vez ejecutado el comando, pedira una contrasena, en ese momento ingresaremos la contrasena
respectiva.
Ilusrroción 7: Aroque Je [uerzo bruro con nyJro o usuorio bbonrer
Como vemos en la figura anterior, ya tenemos acceso en la maquina objetivo llamada °slox¨ con el
usuario bbanter.
Ahora, como el objetivo es extraer informacion privilegiada del equipo objetivo, trataremos de ingresar
a lugares distintos a la carpeta de inicio del bbanter °home¨.
Escudrinando, encontramos una carpeta °[rp¨ a la que el usuario bbanter no tiene privilegios de acceso
ni tampoco puede listar su contenido, algo que se hace raro, lo que nos hace inferir que alli puede haber
informacion 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 conclusion 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 °EscoloJo Je Privileqios¨.
Escalada de Privilegios
Ahora bien, una vez con el acceso, trataremos de escudrinar un poco con el objeto de buscar
Ilusrroción 8: Acceso por SSH con usuorio bbonrer
informacion que nos permita escalar privilegios, para ello, visualizaremos el archivo que contiene la
informacion de los usuarios del sistema:
Comando:
# cJ /erc/
# cor posswJ
El comando °cor¨ permite listar el contenido de archivos por consola, en este caso lista el contenido del
archivo °posswJ¨ 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 nuestro
archivo de usuarios creado en un principio, a tal punto que solo nos quedarian tres usuarios:
aadams
bbanter
ccoffee
Otro aspecto que se debe tener en cuenta, es los grupos a los que perteneces los usuarios, si nos fijamos
bien, veremos que hay dos usuarios que tiene grupo °100¨, mientras que hay uno que tiene grupo °10¨,
Ilusrroción 9: Visuolizocion Je los usuorios Jel sisremo
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 estan creados, asi:
Comando:
# cor qroup
Como se evidencia en la imagen anterior, nuestras sospechas son ciertas, vemos que el grupo donde se
crean 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 °roor" es miembro.
Con esta informacion podemos definir otra estrategia para el ataque. Sabemos que el usuario °ooJoms¨
Ilusrroción 10: Visuolizoción Je qrupos exisrenres en el sisremo
tiene privilegios mas altos que los otros usuario, por lo que ese sera nuestro proximo objetivo, obtener
acceso con el usuario °ooJoms¨.
Para ello, haremos uso nuevamente de un ataque por fuerza bruta utilizando la herramienta que
utilizamos en un principio, hydra, con la ayuda de unos diccionarios de contrasenas 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 o
mas 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, asi:
Comando:
# nyJro 192.168.1.100 ssn -V -l ooJoms -P /roor/recursos/poss_nobiruoles.rxr
Parámetros:
-V (Modo verbose)
Muesrro los combinociones conrroseno¹usuorio poro coJo inrenro.
-l (usuario)
De[ine el usuorio(loqin) con el que reolizoremos el oroque.
-P (Archivo de contraseñas)
Conriene lo ruro ol orcnivo con los conrrosenos o urilizor poro el oroque combinoJos con el
nombre Jel usuorio.
Eure|o....eure|o...., se encontro la contrasena correspondiente al usuario ooJoms la cual es
Ilusrroción 11: Aroque Je [uerzo bruro con nyJro o usuorio ooJoms
°nosrroJomus¨.
Con estos datos podemos entonces ingresar por el servicio SSH a la maquina objetivo y extraer
informacion a la cual el usuario bbanter no renio occeso.
ComonJo
# ssn -l ooJoms 192.168.1.100
Una vez logueados en la maquina objetivo como aadams, tratamos de obtener acceso a la carpeta
°[rp/incominq¨, pero notamos que tampoco tenemos privilegios, pero recordemos que el usuario
aadams esta en el mismo grupo de usuarios que °root¨ lo que implica que podemos utilizar el comando
°suJo¨ para ejecutar comando de mayor nivel de privilegios.
Ilusrroción 12: Acceso por SSH con usuorio ooJoms
Ups..., vemos que los privilegios del usuario °ooJoms¨ solo permiten listar el contenido de la carpeta
°ftp/incoming¨, en la cual se encuentra un archivo que llama la atencion: °salary_dec2003.csv.enc¨ el
cual puede ser nuestra prueba de penetracion 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 roor.
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 "snoJow" y que solo algunos usuarios con privilegios de altos pueden ver. En
este caso veremos si aadams cuenta con esos privilegios.
Comando:
# cor /erc/snoJow
Ilusrroción 13: Secuencio Je comonJos con usuorio ooJoms
Como vemos en la imagen anterior, el usuario ooJoms puede ver el contenido del archivo snoJow pero
invocando los privilegios de roor a traves del comando suJo.
Acto seguido, en un editor de texto como el qeJir, seleccionamos y copiamos el contenido de este
archivo en nuestra maquina, con el fin de que podamos manipularlo mas facilmente.
Ilusrroción 14: Visuolizocion Jel orcnivo snoJow Je GNU Linux
Como vemos, copiamos efectivamente el contenido del archivo snoJow en un nuevo archivo en la
maquina local y lo nombramos igual.
Ahora debemos crackerar la contrasena de del usuario root, con la cual tendremos acceso a todo el
sistema, no convertiremos en amos y senores del equipo remoto.
En esta ocasion usaremos otra herramienta especializada para hacer este tipo de °rrobojo sucio¨,
denominada jnon rne ripper, que aunque es de las mas antiguas en su genero, su eficiencia no ha sido
superada, veamos entonces su funcionamiento.
Comando:
Ilusrroción 15: Arcnivo en moquino locol con conreniJo Jel orcnivo snoJow
# jonn --rules --worJlisr/roor/recursos/poss_nobiruoles.rxr --usersroor /roor/recursos/snoJow
Parámetros:
--rules
Permire ocrivor el oJminisrroJor Je polobros poro el monejo Je lisros.
--wordlist
De[ine lo ruro y el orcnivo que conriene los polobros que se usoro como Jiccionorio.
--users
De[ine el usuorio ol cuol se le Jeseo croc|eror lo conrroseno.
/root/recursos/shadow
Es lo ruro y el nombre Jel orcnivo que conriene los conrrosenos encriproJos Je los usuorios y
JonJe se encuenrro lo conrroseno Je roor.
Listo...!!!, como vemos, tenemos la contrasena del usuario roor, con esto ya podemos ingresar a la
maquina objetivo y extraer la informacion necesaria. Manos a la obra.
Ilusrroción 16: Ejecución Je jonn rne ripper poro croc|eor conrroseno Je roor
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 roor con el comando °su¨, de la
siguiente manera:
Comando:
# su
El sistema nos pedira entonces la contrasena de roor, a lo cual digitaremos la que crakeamos
anteriormente: roror.
Como vemos, el promptuario del usuario cambio al de roor. Acto seguido buscamos la manera de
descargar el archivo que nos servira de prueba. Una de las maneras es a través del comando °scp", el
Ilusrroción 17: EscolonJo o privileqios Je roor con el comonJo 'su'
cual permite transferir archivos a través del protocolo °SSH¨.
Otra manera es ubicando el archivo en la carpeta raiz del "Apocne", 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 puerto
estaba abierto y por eso pudimos ver la pagina web publicada en la maquina objetivo.
Bien, para no dificultar mas el proceso, utilizaremos la opcion del protocolo HTTP por el puerto 80,
asi:
Comandos:
# ls -l /vor/www/nrJocs
Esre comonJo nos muesrro el conreniJo Je lo corpero roiz Je Apocne.
# cp /nome/[rp/incominq/solory_Jec2003.csv.enc /vor/www/nrJocs/
Esre comonJo copio el orcnivo solory2003.csv.enc en lo corpero roiz Je Apocne poro poJer ser
JescorqoJo posreriormenre.
Ilusrroción 18: CopioJo Jel orcnivo solory2003.csv.enc en corpero roiz Je Apocne
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 firefox
y 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 hecho
de 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 protocolo
ssh, 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:
Ilusrroción 19: Descorqo Jel orcnivo solory_Jec2003.csv.enc
Comando:
# openssl enc -J -oes-128-cbc -in solory_Jec2003.csv.enc -our solory.csv -| roror
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.
Ahora podemos abrir el archivo desencriptado con cualquier editor de texto y evidenciar la inofrmacion
alli contenida.
Ilusrroción 20: DesencripronJo el orcnivo solory_Jec2003.csv.enc
Ilusrroción 21: EviJencio [inol
Con esto, hemos concluido el trabajo que se nos encomendo, evidenciar fallas de seguridad en el
sistema.
Felicitaciones para todos aquello que lo lograron!!!!