Foro Académico AGO-DIC 2014, Isaac Robles García

TALLER DE HACKING BÁSICO
Foro Académico AGO-DIC 2014, Isaac Robles García
REQUISITOS PREVIOS
CONOCIMIENTOS REQUERIDOS
1. Manejo básico del símbolo del sistema de Windows.
2. Manejo básico de terminal de Linux.
SOFTWARE REQUERIDO
1. F.O.C.A
2. Exiftool
3. Metasploit Framework
4. Ophcrack + Rainbow Tables
5. XAMPP 1.7.3 (Apache 2.2.14)
6. Oracle VirtualBox
7. Distribución Debian o derivado (Atacante)
8. Sistema Microsoft Windows (Victima)
9. Microsoft .NET Framework 3.5 SP1 o Superior.
10. Firefox + TOR
Foro Académico AGO-DIC 2014, Isaac Robles García
OBJETIVO DEL TALLER
El objetivo del taller es dar a conocer la facilidad con la que la seguridad de un
sistema informático puede verse comprometida, para que de esta forma los
alumnos tomen conciencia sobre los riesgos a los que podemos estar
expuestos a la hora de trabajar en Internet y tomen las precauciones
necesarias a la hora de compartir cualquier tipo de archivo a través de
Internet en sitios públicos como las redes sociales, blogs, email, etc.
CONCEPTOS BÁSICOS
1. Metadatos: Literalmente “datos acerca de datos”, son un conjunto de
datos que proporciona información de algún recurso, como pueden ser
nombres de usuario, impresoras, sistemas operativos, dispositivos,
ubicación GPS, etc.
2. Vulnerabilidad: Es una debilidad en un sistema informático que puede
ser utilizada para causar daño.
3. Exploit: Software utilizado con el fin de aprovechar una vulnerabilidad de
seguridad de un sistema de información.
4. Payload: Es la secuencia de instrucciones que se llevaran a cabo una ves
se haya explotado la vulnerabilidad del sistema informático.
5. WebShell: Interprete de comandos que trabaja mediante web que
permite la ejecución de comandos en un equipo remoto.
6. Dork: Son combinaciones de operadores de búsqueda especiales que se
utilizan para extraer información valiosa o sensible desde un buscador
web.
Foro Académico AGO-DIC 2014, Isaac Robles García
PREPARANDO EL TERRENO
Para realizar estos ejercicios se requieren dos equipos, uno con un sistema
Microsoft Windows y otro con cualquier distribución de Linux,
preferentemente Debian o cualquiera de sus derivados.
Al no disponer de dos equipos físicos se utilizará una misma computadora y un
software que nos permita crear una maquina virtual (en este caso se utilizará
VirtualBox), el único requerimiento es que tanto el equipo físico y la maquina
virtual se encuentren en la misma red.
En este caso el equipo físico dispone de un sistema operativo Linux
(elementaryOS) y se utilizará VirtualBox para crear una maquina virtual con
Windows XP SP3 (5.1.2600), se utilizará la siguiente configuración de red para
la maquina virtual.
Imagen 1. Configuración de Red de Maquina Virtual de Windows XP SP3 (5.1.2600)
Una vez instalado el sistema Windows XP en la maquina virtual, se procederá
a simular el peor escenario posible para dicha maquina bajo las siguientes
condiciones:
A. Actualizaciones automáticas desactivadas
B. Firewall desactivado
C. No se dispone de un antivirus
D. El usuario a pesar de no ser el administrador hace uso de una cuenta con
privilegios
Después de esto se instalará el servidor web XAMPP 1.7.3.
En la maquina con Linux deberá instalarse Exiftool con:
$ sudo apt-get install libimage-Exiftool-perl
También debe instalarse Metasploit Framework en el equipo con Linux.
Nota: Si el equipo físico posee un sistema Linux, entonces se instalará .NET
Framework 3.5 SP1 en la maquina virtual, de otro modo puede instalarse en el
equipo físico.
Foro Académico AGO-DIC 2014, Isaac Robles García
EXTRACCIÓN DE INFORMACIÓN SENSIBLE
Metadatos
Los metadatos pueden proporcionarnos información más específica sobre el
archivo, aunque la información que pueden proporcionarnos varia
dependiendo de si es una imagen, un documento ofimático o algún otro tipo
de archivo. Para poder visualizar esta información podemos utilizar dos
herramientas, una para sistemas Windows que es F.O.C.A y Exiftool para
sistemas UNIX Like.
Música y Vídeo
Todos tenemos música y vídeos en nuestra computadora y dispositivos
móviles, esto se ha convertido en algo extremadamente común, pero, alguna
ves se han preguntando ¿Como es que los reproductores saben como
organizarla por artista, álbum, género, autor, año, etc?, pues eso lo hacen
mediante los metadatos que contienen estos archivos, los metadatos no son
visibles “a simple vista”, ya que el usuario al abrir estos archivos se abre
automáticamente el el reproductor de audio o vídeo y el usuario se concentra
en escuchar la música o ver la película. Pero no es difícil ver los metadatos, ya
que ni siquiera están cifrados, están guardados en texto plano por lo que
cualquiera que quiera verlos puede hacerlo. Utilizaremos Exiftool desde un
ambiente UNIX Like para ver los metadatos de un archivo de audio, que en
este caso se trata de un archivo MP3, para ello seguiremos el siguiente
procedimiento:
1. Abrimos una terminal con CTRL + ALT + T
2. Nos ubicamos en el directorio donde tenemos el archivo MP3 que
deseamos analizar, que en este caso esta en el directorio
/home/isaac/Música.
3. Una ves ahí ejecutaremos el comando Exiftool archivo.mp3 y así veremos
la información que contiene.
Foro Académico AGO-DIC 2014, Isaac Robles García
En este caso se puede apreciar que en los metadatos es donde se encuentra la
información sobre el titulo de la canción, artista, álbum, género y duración, e
incluso podemos ver un comentario donde se narra algo de la historia del
himno nacional mexicano, incluso en el campo Picture dice que contiene una
imagen de 10071 bytes, que es el campo que se utiliza agregar la portada del
álbum del que fueron extraídos los archivos MP3.
Pues esta información que estamos viendo es la que los reproductores de
audio/video utilizan para organizar nuestra música y nuestros vídeos en
categorías como género, álbum, artista, etc.
Documentos
No solo los archivos de música y vídeo contienen metadatos, también los
tienen los documentos ofimáticos, pero en este caso la información que
podemos encontrar tiene un uso diferente a organizar los documentos, ya que
pueden contener información más sensible, tal ves los documentos de un
usuario común no represente algún objetivo atractivo para algún atacante,
pero... ¿y los documentos de empresas y organizaciones?, en los metadatos
de los documentos podemos encontrar información sobre usuarios, sistema
operativo, aplicaciones utilizadas para la creación/modificación del
documento junto con sus versiones, incluso podemos encontrar información
sobre impresoras o rutas de la red interna de la empresa u organización, pero
toda esta información si se queda dentro de la empresa no conlleva ningún
riesgo, el riesgo llega cuando dichos documentos son publicados en Internet
por la propia empresa, son enviados por email, un usuario utiliza medios
inseguros para transferir dichos documentos a servicios de Internet en la nube,
ya que estos pueden quedar indexados por los buscadores web (Google por
ejemplo) y es entonces cuando cualquier persona que tenga acceso a Internet
puede tener acceso a esos documentos si es que sabe como buscarlos. Para
ello tenemos los dorks.
Dorks
Los buscadores de Internet actuales han incorporado instrucciones de
búsqueda avanzadas que podemos utilizar para realizar una búsqueda más
personalizada y más precisa. Estas instrucciones pueden ser utilizadas para
buscar algún tipo de archivo en específico, buscar palabras o frases exactas, y
muchísimas más opciones, incluso estas instrucciones pueden combinarse y
así realizar búsquedas en las que nos aseguramos de encontrar lo
específicamente lo que estamos buscando. Cada buscador tiene bien
definidas sus propias instrucciones, pero para fin de explicar su
funcionamiento nos enfocaremos en las instrucciones para el buscador más
famoso de Internet, Google.
Foro Académico AGO-DIC 2014, Isaac Robles García
BUSQUEDAS EN GOOGLE
Ejemplo de
búsqueda
Resultado obtenido
Historia de los
cuentos
Ambas palabras serán consultadas y Google mostrará las
páginas con mayores probabilidades de contener la información
deseada. En general páginas que contengan estas cuatro
palabras en un orden cualquiera. Las palabras "de" y "los" son
tan frecuentes que no influirán en el resultado de la búsqueda.
Sería prácticamente igual si hubiésemos buscado "historia
cuentos".
Historia OR
Cuentos
Se mostrarán páginas que contengan cualquiera de las dos
palabras "Historia" o "Cuentos" (no necesariamente las dos).
"Historia de los
cuentos"
Google mostrará páginas que contengan esta frase exacta.
Cuentos-hadas
-príncipes
Se mostrarán las páginas que contengan la palabra "Cuento"
pero que no contengan ni la palabra "hadas" ni la palabra
"príncipes".
Cuentos+ranas
La búsqueda se llevará a cabo por el término "Cuentos", y se
incluirán aquellas que contengan el término "ranas".
~enamorado
Se buscarán páginas en las que aparezca un término parecido a
"enamorado": enamorada, enamorarse...
define:hada Permite conocer el significado de una palabra.
secretos*google
Devolverá páginas que contengan una frase con los términos
"secretos" y "google" y además un, y sólo uno, término
cualquiera entre las dos palabras.
Botón Voy a
tener suerte
Con este botón se visita automáticamente la primera página
que devolvería la consulta efectuada.
OTRAS FORMAS DE HACER BÚSQUEDAS
Ejemplo de búsqueda Resultado obtenido
site:www.iesaverroes.org
Devuelve el contenido del dominio solicitado, no
las páginas que hablen del ies averroes en este
caso.
link: www.iesaverroes.org
Lista las páginas que contengan enlaces con el
dominio solicitado.
"+www.iesaverroes.org"
Muestra las páginas que hacen referencia al
dominio solicitado.
Intitle:
Mostrará solo las páginas donde el titulo sea la
palabra indicada.
Inurl:
Para buscar páginas que contienen en su
dirección o url ciertas palabras.
Allinurl: La misma que la anterior pero con más palabras.
Intext:
Busca dentro de una pagina el texto que
queramos.
Allintext:
Todas las palabras deben aparecer en el texto de
la pagina.
Filetype:
Busca solamente archivos en el formato
especificado.
Movie: Busca sinopsis de una película.
Define: Busca la definición de la palabra que indiquemos.
Buscar en un dominio
Si quisiéramos buscar la palabra Google en el sitio
ubuntu.com lo haríamos con el dork google
site:ubuntu.com
Foro Académico AGO-DIC 2014, Isaac Robles García
Utilizando estos comandos o instrucciones podemos buscar vulnerabilidades
en sitios web indexados por Google, archivos en texto plano con usuarios y
contraseñas, documentos ofimáticos de una organización o sitio específico.
Para probar esto buscaremos documentos XLS que contengan la palabra
username o password , así que el dork que utilizaremos sería:
filetype:xls “username | password”
Estos son los resultados que nos da:
Como se puede apreciar esta búsqueda nos da 42,500 resultados, obviamente
no todos son lo que buscamos, pero en este caso, los resultados 3 y 4 si que es
lo que buscábamos, podemos verlo al descargar el documento y abrirlo con
nuestra suite ofimática, que es lo que procederemos a hacer, a continuación
se muestra el contenido de dichos documentos respectivamente.
Foro Académico AGO-DIC 2014, Isaac Robles García
Documento surveypasswd09.xls, resultado #3 del dork.
Documento 2011_12_Online_Resources.xls, resultado #4 del dork.
Ahora, estos documentos que contienen usuarios y contraseñas no son de
nuestro país, así que ahora intentemos lo mismo, pero para sitios de México,
para eso tendremos que agregar site:mx a nuestro dork, así que veamos que
encontramos...
Ahora utilizaremos el dork:
filetype:xls “username | password” site:mx
Foro Académico AGO-DIC 2014, Isaac Robles García
Primero observamos que son muchísimas menos, apenas unos 165 resultados,
pero lo que quiero resaltar es que nos encontramos un documento de una
institución de gobierno (SAGARPA) en su servidor ftp, lo más seguro es que
ellos no sepan que esta información esta publicada en Internet, por suerte
(para ellos) son usuarios y contraseñas del año 2007 y como sabemos que en
México el gobierno se toma muy enserio la seguridad lo más seguro es que ya
hayan cambiado los usuarios y sus contraseñas (que por su bien, esperemos
que así sea).
A simple vista, parece que es el único documento con información de este tipo,
pero si nos tomamos la molestia de abrir cada documento toparemos con más
oro enterrado en la nube, como es el caso del resultado #4, si nos tomamos el
tiempo de analizar el extracto que nos muestra Google, podemos suponer que
son nombres de columnas de una tabla, así que procedamos a abrir el
documento y ver su contenido.
Foro Académico AGO-DIC 2014, Isaac Robles García
Como podemos apreciar el documento contiene tanto nombres, direcciones
de correo, nombres de usuario, contraseñas, direcciones, teléfonos, etc. Toda
esta información pertenece a “una de las empresas turísticas más grandes de
México” (así es como se definen en su página web), pero como pudimos
darnos cuenta, a pesar de ser una empresa grande, no tienen los cuidados
necesarios con su información privada, y eso no es todo, ahora que hemos
descargado estos documentos podríamos extraer sus metadatos y así obtener
mayor información sobre la estructura interna de la compañía, software que
utiliza, sistema operativo, cuentas de usuario, impresoras, direcciones IP de
su red interna y tanta información como contengan los metadatos de estos
documentos.
IMÁGENES
Los metadatos en las imágenes
tampoco son nada nuevo, y también
pueden proporcionarnos información
valiosa tanto del dispositivo con el que
fue tomada, como las aplicaciones con
las que fue modificada, fecha de
creación y ultima fecha de modificación,
tamaño de la imagen, luminosidad, si se
uso flash o no, pero aunque toda esta
información es bastante útil, no es lo
único que nos podemos encontrar,
también existe la posibilidad de que si la
fotografía fue tomada con un dispositivo que cuente con GPS y estaba
activado en el momento que se tomó la fotografía, puede ser que también
podamos saber con exactitud el lugar en el que se tomó dicha fotografía como
veremos a continuación. Para eso se ha preparado la fotografía de arriba.
Procederemos a abrirla del mismo modo que lo hicimos para el archivo de
audio MP3. Estos son los datos que obtendremos:
Foro Académico AGO-DIC 2014, Isaac Robles García
Podemos ver que la fotografía fue tomada con un iPhone 4, también podemos
ver la fecha de creación original de la fotografía e incluso la ubicación GPS
exacta del lugar donde se tomó la fotografía, ademas de información exacta
sobre la cámara con la que fue tomada, como información sobre el flash,
longitud de foco, luminosidad, etc. En la actualidad existen infinidad de
dispositivos con los que podemos tomar fotografías, y muchos de ellos
cuentan con GPS, con lo cual, sin conocimiento del usuario esta información se
almacena en las fotografías tomadas con dichos dispositivos.
Ahora el riesgo que conlleva el hecho de que se incruste la ubicación GPS del
lugar donde se tomó la fotografía, es que con servicios como Google Earth
podemos “viajar” al lugar donde se tomó esa fotografía.
Foro Académico AGO-DIC 2014, Isaac Robles García
UTILIZACIÓN DE F.O.C.A
¿Que es F.O.C.A?
Es una herramienta utilizada para analizar los metadatos de
los documentos que examina, dichos documentos pueden
estar alojados en algún sitio web, FOCA descarga estos
archivos y los analiza en busca de información.
Foca es capaz de analizar documentos de Microsoft Office,
Open Office o documentos PDF, aunque también soporta documentos de
InDesign o SVG.
FOCA busca este tipo de documentos en Internet utilizando los llamados dorks
en tres buscadores web diferentes, que son Google, Bing y Exalead. Esto es lo
que permite que FOCA consiga encontrar un mayor número de documentos y
así poder obtener una mayor cantidad de información.
Al analizar todos los documentos FOCA organiza y clasifica la información
obtenida de los documentos de forma que entre muchas cosas podamos saber
que documentos han sido creados en el mismo equipo, los usuarios que han
trabajado con dichos documentos, los diferentes dispositivos con los que se
han manipulado los documentos, etc.
¿Como funciona?
F.O.C.A buscará documentos de los cuales podremos obtener información
analizando los datos, pero F.O.C.A a llevado este arte a un paso más allá, pues
nos permite buscar documentos en un solo dominio, para ejemplos prácticos
trabajaremos con el dominio de itlalaguna.edu.mx, para buscar documentos y
extraer sus metadatos del dominio que deseamos, seguiremos el siguiente
procedimiento:
a) Abrimos F.O.C.A
b) Creamos un proyecto nuevo en el menú Project > New
Project
Foro Académico AGO-DIC 2014, Isaac Robles García
c) Ahora daremos un nombre al proyecto, en este caso será prueba.
d) En el campo Domain website escribiremos itlalaguna.edu.mx.
e) En el campo Folder where save documents pondremos el lugar donde se
guardarán los documentos encontrados para la extracción de los
metadatos.
f) Damos clic en Create y nos preguntará donde deseamos guardar el
proyecto.
g) Nos aseguramos de seleccionar los tres motores de búsqueda y todos los
tipos de archivo.
h) Damos clic en Search All y esperamos a que termine la búsqueda.
Foro Académico AGO-DIC 2014, Isaac Robles García
i) Ahora daremos clic derecho en cualquiera de los documentos y a
continuación en Download All.
j) Una ves terminada la descarga de los documentos daremos clic derecho
sobre cualquiera de los documentos y a continuación en Extract All
Metadata.
Como podemos observar ha creado una especie de resumen con la
información que ha recabado de los documentos, donde podemos notar
que en su mayoría son documentos PDF(532), documentos de Word
2003(135) y Excel 2003(144).
Foro Académico AGO-DIC 2014, Isaac Robles García
Ahora haremos que F.O.C.A analice los metadatos de los documentos de los
835 documentos que encontró, y como resultado nos mostrará los nombres de
los equipos, sistemas operativos, servidores, impresoras, direcciones de
correo electrónico, etc.
En este caso podemos ver que encontró 255 usuarios, 131 directorios, 15
impresoras, 53 aplicaciones y 6 sistemas operativos.
También podemos ver que ha identificado el uso de 168 equipos diferentes,
F.O.C.A nos permite saber que documentos fueron creados o modificados en
cada equipo, además de que los nombres de los equipos no son palabras al
azar, suelen ser el nombre del usuario del que podemos buscar información en
Internet.
Foro Académico AGO-DIC 2014, Isaac Robles García
Como conclusión, F.O.C.A es una herramienta que facilita bastante el trabajo
de obtener información, al grado de que cualquier persona que tenga acceso a
esta herramienta puede recabar información sobre cualquier institución u
organización que desee, ya que también nos permite extraer los metadatos de
archivos alojados en nuestro equipo, no solo los encontrados en la web, de
hecho F.O.C.A es utilizada por las empresas para ver que tan susceptibles son
a una fuga de información por causa de los documentos que pudieran en
algún momento estar publicados en Internet.
EXPLOTANDO VULNERABILIDADES
Una ves que hemos obtenido toda la información que buscábamos ahora nos
toca explotar alguna vulnerabilidad que podamos haber encontrado con toda
esa información. Para esto nos valdremos de Metasploit Framework.
Tipos de Vulnerabilidades
Una vulnerabilidad es todo aquello que compromete la seguridad de un
sistema informático. Dichas vulnerabilidades podemos agruparlas en dos
grandes grupos.
Vulnerabilidad 0-day
Estas vulnerabilidades son todas aquellas que no son conocidas públicamente
aunque ya exista algún Exploit o cualquier tipo de software capaz de explotar
dicha vulnerabilidad a favor del atacante.
Vulnerabilidades Conocidas
Estas son todas aquellas vulnerabilidades que ya han sido publicadas, no con
el fin de hacer daño, sino para que la compañía propietaria del sistema
informático vulnerable la corrija y cierre el agujero que existe, de modo que la
seguridad de los usuarios del sistema no vean comprometida se seguridad de
su infraestructura.
La importancia de mantenerse actualizado
Uno de los riesgos más grandes de cualquier sistema de computo no son el
sistema operativo ni las aplicaciones instaladas, sino el factor humano, el
usuario es quien representa el mayor riesgo para cualquier tipo de sistema
informático, ya que es él quien suele ser el “eslabón más débil” ya que incluso
con tal de conseguir instalar un software de paga sin hacer la compra
correspondiente es capaz de comprometer la seguridad de su equipo
desactivando su antivirus o el firewall, instalar software de sitios no oficiales,
incluso suele agregar a la lista de excepciones del antivirus aquello que le
permite tener ese software en funcionamiento, para garantizar el
funcionamiento del software, pero ahora no importa que su sistema tenga
instaladas todas las actualizaciones de seguridad, ni que tanto el antivirus
tenga su base de firmas actualizada o que su firewall sea el “mejor” del
mercado, ya que él mismo ha vulnerado la seguridad de su equipo.
Pues para llevar a cabo nuestra “fechoría” simularemos un escenario en el
cual el factor humano es el protagonista de nuestra historia dejándonos
abiertas un sin fin de puertas a su equipo. En este caso el sistema del cual nos
haremos será un equipo con Windows XP SP3 en que se han des habilitado el
firewall, no existe un antivirus, se han desactivado las actualizaciones
automáticas, el usuario tiene acceso a una cuenta con privilegios de
administrador(a pesar de ser un usuario normal) y por si fuera poco usa
versiones antiguas de software, lo representa un riesgo al seguir expuesto a
vulnerabilidades que ya han sido corregidas en versiones más recientes.
Foro Académico AGO-DIC 2014, Isaac Robles García
¿Que es Metasploit Framework?
Es un proyecto Open Source de seguridad informática que nos permite
desarrollar y ejecutar exploits contra una maquina remota con el fin de validar
la seguridad de un sistema informático. Metasploit Framework es una
plataforma que pone aprueba la seguridad de un equipo tratando de explotar
cualquier vulnerabilidad que se pueda encontrar en dicho equipo.
¿Donde puedo encontrar Metasploit Framework?
Metasploit Framework se puede descargar desde la página de su propietario
que es Rapid7 LLC o también se le puede encontrar pre-instalado en
distribuciones de GNU/Linux ideadas para pentesting como lo son BackTrack y
Kali Linux, pero también se le puede instalar manualmente.
Uso de Metasploit Framework
Metasploit consta de varias herramientas distintas:
a) msfconsole: Consola de metasploit.
b) Msfcli: Nos permite ejecutar módulos directamente sin entrar en la
consola.
c) Msfpayload: Para generar achivos con payloads.
d) Msfencode: Permite codificar payloads para quitar null bytes.
e) Msfvenom: Combinación de msfpayload y msfenconde.
En este caso utilizaremos solo msfconsole, ya que en Internet existen más
ejemplos de como utilizarlo, de esta manera el alumno de seguir aprendiendo
su uso ya estará familiarizado con esta herramienta.
Escaneando la Red
Suponiendo que de alguna manera hemos logrado entrar a la red en la que se
encuentra nuestro objetivo, lo primero que haremos es identificar los equipos
que estén en dicha red, para ellos nos valdremos de dos herramientas, fping y
nmap. En lo personal he logrado obtener mejores resultados enumerando
equipos con fping que con nmap, por lo que enumeraremos los equipos con
fping y después utilizaremos nmap para detectar el sistema operativo y
puertos abiertos de dicha red.
Enumerando Equipos
Para buscar equipos conectados en la red, primero debemos saber el rango de
IP’s que maneja, para eso usaremos el comando ifconfig de linux.
Foro Académico AGO-DIC 2014, Isaac Robles García
Para esto solo nos interesa saber la dirección IP que se nos ha asignado y la
mascara de subred, que en este caso es una red de clase B. Ahora con esta
información procederemos a buscar equipos en la red utilizando fping de la
siguiente forma.
fping -g 192.168.1.65/24 2> /dev/null | grep alive
fping: Es la herramienta que vamos a utilizar.
-g: Indica que haremos ping no a una IP, sino a un rango de IP’s.
10.10.100.82: Esta es la ip que se nos ha asignado en la red.
/16: Es la máscara expresada en bits establecidos en 1.
2>: Indica que la salida además de ir a la pantalla se guardará en un archivo.
/dev/null: Es la ubicación especial donde se creará el archivo.
|: Este símbolo indica que la salida del comando anterior será entrada al
comando siguiente.
grep alive: grep es un comando que nos sirve para buscar palabras o frases
dentro de una un archivo de texto grande, lo que indicamos aqui, es que nos
busque en la salida del comando fping las lineas donde encuentre la palabra
“alive” que corresponden a las lineas que podemos ver a continuación:
Como podemos observar se han encontrado 6 dispositivos en la red, pero
debemos tomar en cuenta que uno de ellos debe ser el router o AP que nos da
acceso a la red, así que podemos inferir que en la red existen 5 equipos, ahora
debemos buscar un objetivo, con nmap escanearemos cada equipo en busca
de alguna puerta abierta.
Uso de NMAP
Para escanear los equipos utilizaremos el siguiente comando:
sudo nmap -sS -sV -PN <IP>
sudo: Utilizaremos sudo para obtener privilegios de administrador para este
comando, ya que existen algunas operaciones de nmap que lo requieren.
nmap: Es el nombre de la herramienta o comando a usar.
-sS: Es un tipo de escaneo que identifica si los puertos de un equipo estan
abiertos, cerrados o son filtrados.
-sV: Nos probé información sobre que servicios y sus versiones atienden a los
puertos abiertos.
-PN: Es una tecnica que utiliza nmap para descubrir equipos en la red.
<IP>: Es la dirección IP a escanear.
Bien, entonces los comandos a ejecutar serian:
1. Sudo nmap -sS -sV -PN 192.168.1.64
2. Sudo nmap -sS -sV -PN 192.168.1.66
3. Sudo nmap -sS -sV -PN 192.168.1.70
4. Sudo nmap -sS -sV -PN 192.168.1.87
5. Sudo nmap -sS -sV -PN 192.168.1.253
6. Sudo nmap -sS -sV -PN 192.168.1.254
Foro Académico AGO-DIC 2014, Isaac Robles García
Los resultados para cada ip serian:
Foro Académico AGO-DIC 2014, Isaac Robles García
Foro Académico AGO-DIC 2014, Isaac Robles García
Si analizamos la información que nos ha arrojado nmap podemos deducir que:
1. Existen dos celulares en la red, un BlackBerry y un Android
2. Existen dos equipos que utilizan sistemas Windows, uno de ellos podemos
estar casi seguros de que usa XP (192.168.1.87).
3. El router o AP que nos da acceso a la red es elquipo 192.168.1.254, y como
podemos ver es un router Thomson Speedtouch, al ver los puertos que
tiene abiertos podemos deducir o por lo menos suponer que tiene al
menos tres tipos de servicios, un servidor FTP(puerto 21), acceso por
telnet (puerto 23) y una interfaz web(puerto 80).
4. Algún usuario en la red se llama Misael Robles.
Bien, ahora que hemos identificado dos posibles equipos objetivo
analizaremos más a fondo con nmap para tratar de averiguar el sistema
operativo y su versión que manejan con el comando:
Sudo nmap -O <IP>
-O: La opción O(Mayúscula) trata de obtener información sobre el tipo y
version de sistema operativo del equipo.
Foro Académico AGO-DIC 2014, Isaac Robles García
Bien, hemos comprobado que se tratan de dos equipos con sistemas Windows,
el primero no fue posible averiguar que versión en especifico utiliza, pero la
versión más antigua que nos indica es Windows Vista, pero dado que
buscamos el eslabón más débil, por lo pronto lo dejaremos como segunda
opción y ya que el otro equipo nos ha indicado que se trata de un sistema
Windows XP SP2 o SP3. Primero intentaremos obtener el acceso a este equipo,
así que si volvemos analizar la información correspondiente a los equipos
tenemos que:
1. Existen un celular en la red, un BlackBerry (192.168.1.64).
2. Existe un celular con Android (192.168.1.66).
3. Existen un equipo con Windows Vista|2008|7 con un usuario llamado
Misael Robles (192.168.1.70)
4. Existe un equipo con Windows XP (192.168.1.87)
5. El router o AP que nos da acceso a la red es elquipo 192.168.1.254, y como
podemos ver es un router Thomson Speedtouch, al ver los puertos que
tiene abiertos podemos deducir o por lo menos suponer que tiene al
menos tres tipos de servicios, un servidor FTP(puerto 21), acceso por
telnet (puerto 23) y una interfaz web(puerto 80).
Lo que sigue será buscar algún exploit para los puertos 135, 139 y 445. Según
la información que nos arrojó nmap el puerto 135 esta siendo utilizado por un
servicio llamado msrpc, dado que sabemos que el equipo maneja un sistema
Microsoft Windows y que las iniciales de Microsoft corresponden a MS,
podemos inferir que el servicio es llamado MS RPC, no sabemos de que se
trata, pero podemos buscar en google para confirmar o desechar la hipótesis.
Ahora sabeos que realmente se trata de un servicio de Microsoft, pues ahora
abriremos Metasploit Framework en busca de algun exploit para dicho
servicio.
¡¡BINGO!!, encontramos un exploit para esta vulnerabilidad, pero no demos
por hecho que tendremos éxito, existen un sin número de variables de las que
depende que el ataque se lleve a cabo, pero por lo menos ya tenemos por
donde empezar. Ahora lo que haremos sera utizilar este exploit con el
comando: use exploit/windows/dcerpc/ms03_026_dcom de la siguiente forma:
Foro Académico AGO-DIC 2014, Isaac Robles García
Use: Le indica a Metasploit Framework el exploit que utilizaremos.
Si nos aparece la leyenda de la segunda linea todo ha ido bien. Ahora
procederemos a ver que información necesita este exploit para trabajar con el
comando:
Show options
Solo necesita dos campos, RHOST y RPORT, lo cual quieren decir Remote Host
y Remote Port, que corresponden a la IP y el puerto (135 por defecto) a las que
deseamos dirigir el ataque, dado que ya esta establecido el puerto 135, solo
nos queda establecer RHOST como 192.168.1.87 con el comando:
Con esto ya hemos establecido nuestro objetivo, ahora lo que resta es
seleccionar un payload, para ello usaremos el comando show payloads para
que nos muestre los payloads compatibles con este exploit, aunque pueda
haber muchos nuestro objetivo sera usar el payload por excelencia de
Metasploit Framework, Meterpreter, o por lo menos una Shell (terminal de
comandos), asi que procedemos a buscar.
Como podemos ver, encontramos ambos payloads, primero intentaremos con
Meterpreter, para ello usaremos:
De igual forma veremos que parámetros necesita meterpreter:
Vemos que ya dos de los tres parametros tienen valor, ahora solo falta LHOST
que seria Local Host, es decir, nuestro equipo, asi que estableceremos LHOST
con 192.168.1.65 así:
Foro Académico AGO-DIC 2014, Isaac Robles García
Ahora solo queda ejecutar el exploit, para ver si conseguimos acceder a el.
Por lo que podemos ver no logramos obtener acceso al equipo por el puerto
135, asi que continuaremos con el puerto 139. Para ello buscaremos en
internet alguna vulnerabilidad, documento o video de como explotar ese
puerto, de la misma forma en que lo hicimos para el puerto 135.
Según el sitio extremefx.wordpress.com existe un exploit para dicho puerto
llamado ms08_067_netapi, nuevamente intentaremos obtener acceso al
equipo, de la siguiente manera:
Ahora veamos que parámetros requiere:
Como vemos solo hace falta especificar el equipo que atacaremos.
Ahora veamos si soporta meterpreter de la misma forma que antes:
Bien, una ves más probaremos con meterpreter...
Bien, para meterpreter solo nos hace falta establecer nuestra IP...
Ahora estamos listos para ejecutar el exploit.
Foro Académico AGO-DIC 2014, Isaac Robles García
Se ha iniciado una sesión de meterpreter correctamente, hemos logrado
obtener acceso al equipo.
Uso Básico de Meterpreter
Ahora que hemos abierto una sesión de meterpreter, teclearemos help para
ver que operaciones podemos realizar en el equipo víctima.
Las instrucciones se dividen en las siguientes categorias:
1. Core commands: Esas intrucciones nos permiten manipular la sesion de
meterpreter en nuestro equipo.
2. File system commands: Nos permiten movernos dentro del sistema de
archivos de la víctima, incluso nos permite subir y descargar archivos.
3. Networking commands: Nos da acceso a la información de la red.
4. System commands: Nos permite trabajar con el sistema de la víctima.
5. User Interface commands: Nos da acceso a la interfaz del usuario.
6. Webcam commands: Nos permite detectar y manipular webcams.
7. Elevate commands: Permite la obtención de privilegios para
meterpreter.
8. Password Database Commands: Nos permite ver las contraseñas del
equipo víctima en forma de hash.
9. Timestomp Comands.
Por lo pronto lo que haremos sera obtener una captura de pantalla de la
víctima, para ello utilizaremos:
Meterpreter tomará una captura de pantalla y nos indicara la ruta donde la
guardo, la captura que obtuvimos es la siguiente:
Foro Académico AGO-DIC 2014, Isaac Robles García
Ophcrack
Ophcrack es un programa multiplataforma que sirve para crackear las
contraseñas de Windows basado en tablas rainbow. Ophcrack solo requiere un
dato para obtener la contraseña, el hash, el hash es la contraseña del usuario
encriptada, las tablas rainbow son una pequeña base de datos que alguien se
ha tomado la molestia de llenar con contraseñas compuestas por letras,
numeros, caracteres especiales o una conbinacion de ellos de forma
secuencial, de modo que es muy probable que podamos encontrar la
contraseña que buscamos proporcionandole el hash de la cuenta que
queremos crackear.
Utilizaremos metasploit y una sesión de meterpreter para obtener los hash de
las cuentas de un equipo remoto para poder crackearlas con ophcrack.
1. Utilizaremos el comando hashdump de meterpreter para ver los hash
2. Abriremos Ophcrack y daremos click en Load > Single Hash y pegaremos
el hash de la cuenta Administrador, y lo repetimos para la cuenta Víctima.
Foro Académico AGO-DIC 2014, Isaac Robles García
3. En automatico nos dice que la contraseña de Administrador esta en blanco,
pero para obtener la contraseña del usuario Victima debemos dar clic en el
boton Crack
Ophcrack cargará las tablas en RAM para un acceso mucho más rápido y en
poco tiempo (45 segundos) ya tenemos la contraseña de nuestra víctima.
Ophcrack no solo lo podemos utilizar para hacer pruebas de pentesting,
también resulta útil cuando en nuestro equipo tenemos activado el inicio de
sesión automático y no recordamos nuestra contraseña, incluso amigos,
conocidos, familiares, olvidan su contraseña y no quieren perder su
información, pues ophcrack también cuenta con una versión “Live CD” basada
en GNU/Linux, con la cual podemos recuperar la contraseña de cualquier
computadora sin instalar nada, simplemente booteamos el CD/USB y
recuperamos la contraseña.
Foro Académico AGO-DIC 2014, Isaac Robles García
Atacando un Servidor Web
Lo siguiente que haremos será atacar un servidor web desactualizado, un
Apache Web Server 2.2.14 utilizando contraseñas por default para el servicio
WebDAV que incorpora XAMPP o más propiamente el servidor web.
Servicio WebDAV
WebDAV es un conjunto de extenciones para el protocolo HTTP, él cual permite
a los usuarios editar y manejar archivos de servidores web a distancia. Con
WebDAV se puede acceder a una carpeta a distancia como si fuera un
directorio en tu computadora local.
Procedimiento
Para asegurarnos que la victima tenga la versión vulnerable utilizaremos
nmap con el siguiente comando:
Con esto confirmamos que la victima tiene la es vulnerable, ahora para
explotar la vulnerabilidad
Foro Académico AGO-DIC 2014, Isaac Robles García
Si todo ha ido bien, tendremos ya abierta una sesión de meterpreter, para
confirmar que estamos dentro ejecutaremos el comando sysinfo para ver la
información del equipo y pwd para ver el directorio desde el cual se esta
ejecutando xampp.
Con esto ya hemos entrado al servidor web y tenemos acceso a el, ahora lo
que sigue seria utilizar un backdoor para seguir manteniendo el acceso,
incluso se podria enviar el programa wget, descargar la version más reciente
de xampp de modo silencioso para que el usuario no se de cuenta y asi
eliminar esta vulnerabilidad para ser el unico atacante que tenga acceso
remoto al equipo.