Documente Academic
Documente Profesional
Documente Cultură
PENTESTING
Cochabamba – Bolivia
2018
TABLA DE CONTENIDO
Resumen i
Introducción ii
1 Generalidades 1
2 Metodología 3
3 Definiciones clave 3
3.1 Pentesting 3
3.2 Hacker 4
3.4 Vulnerabilidad 4
6.1.2 Reconocimiento 8
6.1.6 Post-explotación 10
6.3.2 Evaluación 11
7.1 NMAP 16
7.2 NESSUS 17
8 Conclusiones 25
9 Mantenernos Informados 26
10 Bibliografía 27
TABLA DE GRÁFICOSY FIGURAS
i
Introducción
Han pasado más de 3 décadas desde que se creó el primer virus informático, el cual, fue
creado sobre la plataforma Unix. Sin embargo, hoy en día, los sistemas tipo Unix no son los
más afectados por éstos; en contraste, los sistemas Windows han tenido mayor facilidad y
popularidad de infección de éstos y otros tipos de códigos maliciosos. A raíz de este tipo de
incidentes, se empezó a generar un interés por la inseguridad de los sistemas. Con el pasar del
tiempo, continúa creciendo el número de personas interesadas en la Seguridad Informática, ya
sea defensiva, como ofensiva. A esto, se añade que hoy en día, no es el malware el único
método de afectación a un sistema informático, sino que existen múltiples vectores de ataque
de los cuales un atacante puede tomar ventaja, como las vulnerabilidades a nivel de red,
sistemas operativos o tecnologías web, sin pasar por alto a los usuarios. Mucho se habla ahora
de los “Hackers”, debido a las actividades ilícitas que pueden mencionarse en los principales
noticieros alrededor del mundo; personas con alto conocimiento técnico que vulneran los
sistemas de información de grandes corporaciones, gobiernos, entidades financieras. Pero
existen los “hackers buenos”.
Y es que el término adecuado para Hacker en términos generales es, una persona con altos
conocimientos de informática, capaz de vulnerar sistemas de información. Entonces la pregunta
es, ¿esto es bueno, o es malo? Un hacker, puede utilizar sus habilidades para el bien, o para el
mal. A éstos, en el mundo de la seguridad informática se les denomina, Hackers de sombrero
negro (malos) o hackers de sombrero blanco (buenos). Los hackers de sombrero blanco,
realizan actividades bajo una línea ética, en donde normalmente el objetivo se basa en
identificar vulnerabilidades y materializar su explotación, previa autorización y en escenarios
controlados, en común acuerdo con sus clientes u organización para la que laboran. No
infringen la ley, su motivación es mostrar a las organizaciones lo fácil que pueden ser
comprometidos sus servicios, extraer información, causar sabotaje, o engañar al humano (sus
colaboradores y proveedores).
La actividad realizada por estos “Hackers Éticos”, se denomina “Test de Intrusión” , “Pentesting”
o simplemente “Pentest”, el cual busca realizar una intrusión en los sistemas informáticos para
los cual el profesional es contratado. El presente trabajo de investigación, tiene como principal
objetivo plantear metodologías y técnicas de Intrusión de Sistemas, con el fin de demostrar la
manera en que un atacante trataría de vulnerar, en la vida real, los sistemas informáticos de
una organización.
ii
1 Generalidades
1.1 Antecedentes Generales
Hoy en día, la informática hace parte esencial en nuestras vidas, en ambientes Personales,
Familiares y Empresariales por la aparición de diferentes dispositivos, sistemas y técnicas que
facilitan nuestro diario vivir.
Ahora los negocios han entrado en la dinámica del comercio electrónico, que facilita las
transacciones en muchos factores, como costos, movilidad, tiempo, entre otros; pero hay algo
que es trascendental, que es la expansión, cobertura y facilidad de acceso al Internet, la red
mundial que se está convirtiendo en la ventana más grande de comunicaciones a nivel global.
Entre los sectores económicos más comunes que cuentan con actividad a través de la internet
son el Bancario y de Comercio, entes que manejan entre sus transacciones miles de millones
de dólares al año además de manejo de datos personales, es un punto de partida para empezar
a pensar seriamente en Seguridad de la Información y realizar una evaluación para ver: qué
hay, qué se necesita, cuáles son las amenazas, debilidades y riesgos.
Al final de los 80’s y principio de los 90’s, las organizaciones comenzaban a sumergirse y ser
parte del internet; empezaba el auge del comercio electrónico, las conexiones B2B (Business to
Business) y poco a poco, fueron dándose casos de personas que “hackeaban” los sitios por
diversión, o con fines ilícitos como robo o fraudes electrónicos.
Sumado a esto, no existía una plataforma educativa formal que instruyera a profesionales en el
ámbito de la seguridad informática, ni mucho menos certificaciones que validaran los
conocimientos adquiridos. Debido al auge que se comenzó a dar, en términos de anti-seguridad
informática, muchos profesionales comenzaron a instruirse por su propia cuenta, y ofrecer sus
servicios externos a organizaciones que podían verse afectadas por intrusiones a sus sistemas.
Esta metodología adoptó el término de “Hacking Ético”, pues ciertamente, para protegerse de
un ataque cibernético, es necesario pensar y actuar tal cual un atacante real lo haría, para así
conocer nuestras propias debilidades, y mejorar continuamente todas las capas de seguridad
de nuestra organización.
1
Es importante hacer énfasis en la palabra ética, ya que si, por ejemplo, un banco decide
contratar a una persona para violar sus medidas de seguridad, esta persona por lógica debe ser
una persona ética, pues luego de acordar los términos de confidencialidad con el cliente, el
profesional no podría por ejemplo divulgar las fallas en los sistemas que tiene el banco, o
publicar contraseñas, nada de esto, debe apegarse a los lineamientos éticos que demandan
sus servicios profesionales.
A este profesional que lleva a cabo todas las evaluaciones de seguridad, se le denomina
Hacker Ético” o conocido también como “Pentester”.El test de intrusión realizado por un “Hacker
Ético” es conocido también como Penetration testing, “Test de intrusión” o simplemente
“pentest”, es el conjunto de actividades emprendidas con el objetivo de identificar y explotar
vulnerabilidades en una red o sistema, con el objetivo de poner a prueba los sistemas de
seguridad existentes. Las medidas de seguridad son analizadas activamente para determinar su
nivel de debilidad, fallas técnicas y vulnerabilidades para así poder subsanar los fallos
encontrados antes de que sean aprovechados por un atacante no autorizado.Los resultados
son expresados en una manera compresible en un informe, el cuál debe ser interpretado tanto
por las partes Ejecutivas, Gerenciales, Administrativas y Técnicas.
Ahora la seguridad informática es un tema que está de plena actualidad debido al cibercrimen y
las fugas de información que han aumentado en estos últimos tiempos, podemos mencionar
algunos:
Yahoo (2012-2014)
A inicios de 2014, Yahoo dio a conocer que cerca de 500 millones de sus usuarios habían sido
objeto de ultraje por parte de hackers que se hicieron con información suya.
Como dijo el famoso experto en seguridad Gene Spafford, "El único sistema seguro es aquél
que está apagado en el interior de un bloque de hormigón protegido en una habitación sellada
rodeada por guardias armados e incluso así tengo mis dudas" por consiguiente es importante
2
ser consientes de la seguridad de la información y dedicar los recursos necesarios para la
protección de los datos e infraestructuras de una organización mediante la realización de
auditorías de seguridad de forma periódica
2 Metodología
Para el presente trabajo se utilizarán los siguientes métodos de investigación:
Método Bibliográfico, debido a que se realizara la lectura y compilación de libros
relacionados al tema de estudio.
Método Analítico, debido a que se procederá a revisar y analizar ordenadamente
documentos relacionados al tema de estudio para comprender y descubrir el modelo que
se lleva a cabo en una prueba de penetración informática “pentesting” y las herramientas
que se usan para tal fin.
3 Definiciones clave
A continuación, se presentan una serie de términos fundamentales que serán de vital
importancia para el desarrollo y entendimiento de la presente investigación.
3.1 Pentesting
Es un conjunto de técnicas o pruebas que permiten evaluar el nivel de seguridad de una
organización o sistema, entonces el objetivo de un Pentesting es detectar vulnerabilidades,
falencias tecnológicas mediante la simulación del comportamiento de intrusos.
Esta tarea se realiza con el permiso y aprobación del propietario del sistema a atacar y la
persona que lo realiza explota las vulnerabilidades que encuentra hasta donde sea posible,
para identificar que información y/o acceso se podría llegar a alcanzar en un hipotético ataque.
El pentester realiza esta simulación para identificar todos los riesgos y para posibilitar su
corrección antes de que un atacante real pueda explotarlos.
Diferencia entre Pentesting y Ethical Hacking. Las pruebas de penetración están muy
relacionadas con la piratería ética, por lo que estos términos a menudo se usan de manera
intercambiable, pero tienen distinciones que debemos observar.
La prueba de penetración es una frase más específica, se trata del proceso de encontrar fallas
en un entorno objetivo con el objetivo de los sistemas de penetración, tomando el control de
ellas. Las pruebas de penetración, como su nombre lo indica, se centran en la penetración de
las defensas de la organización objetivo, comprometiendo los sistemas y obteniendo acceso a
la información.
La hacking ético es un término amplio que abarca todas las técnicas de hacking y las técnicas
de ataque informático para encontrar fallas de seguridad con el permiso del propietario objetivo
y el objetivo de mejorar la seguridad del objetivo, mientras que las pruebas de penetración se
centran más en el proceso de búsqueda de vulnerabilidades en un entorno objetivo. Las
pruebas de penetración son un subconjunto de la hacking ético.
3
3.2 Hacker
Un hacker es una persona curiosa, que disfruta de aprender realizar desafíos. Le interesa
mucho el funcionamiento de las cosas. Ahora bien existen hacker buenos y malos.
Black Hats o hackers de sombrero negro, son los que se dedican al cibercrimen, Ingresan a los
sistemas ilegalmente por placer, reconocimiento o resarcimiento económico. Llamados también
como crackers.
White Hats o hackers de sombrero blanco, son hackers que se encargan de proteger los activos
de las organizaciones. Aquellos que velan por la disponibilidad, la integridad y la
confidencialidad de la información.
Gray Hats o hackers de sombrero gris, son los híbridos entre Black Hats y White Hats.
Normalmente ingresa a los sistemas sin los permisos de los administradores de la red que está
ingresando. Pero expondrá las vulnerabilidades de la red a los administradores de la red y
ofrecerá una solución a la vulnerabilidad por dinero.
3.4 Vulnerabilidad
Un fallo en la seguridad de una aplicación, sistema o hardware por donde se puede acceder
para conseguir con el control de la aplicación o del equipo.
Por ejemplo puede ser un fallo en la programación de una aplicación, una contraseña muy débil
u obvia del tipo “1234”, “password” o “contraseña”; o incluso algo tan complejo como un
desbordamiento de un buffer de información del sistema.
4
3.7 Exploit del lado del cliente
Es el tipo de exploit más usado, se aprovecha vulnerabilidades existentes en aplicaciones que
ya se encuentran instaladas en la mayoría de los equipos de usuarios finales. Suelen llegar al
equipo mediante correos electrónicos, pendrives o mediante una “navegación insegura”.
El riesgo puede ser medido de acuerdo a la falla expuesta por la vulnerabilidad en general.
Un Auditor de Seguridad, idealmente identificaría todos los vectores de ataque que podrían
causar que el objetivo sea comprometido. Un test de intrusión Black Box suele ser más costoso
que su contraparte White Box, ya que cabe mencionar que cuando se realiza el pentest tipo
Black Box, el pentester no conoce ni posee ningún dato de la empresa, y debe hacer uso de
técnicas varias para poder hacerse de información útil y comenzar a hacer sus testeos. Los
Auditores de Seguridad que realizan este tipo de test, son denominados Hackers de Sombrero
Negro (Black Hat Hackers).
Además, el resultado de un pentest tipo White Box puede ser fácilmente integrado dentro de un
ciclo de desarrollo regular para erradicar cualquier posible eventualidad de seguridad en las
etapas tempranas, antes que sean descubiertas y explotadas por atacantes o intrusos externos.
El tiempo, costo y nivel de conocimiento requerido para encontrar y resolver vulnerabilidades,
es relativamente menor comparado con el test de caja negra, desde el punto de vista de tiempo
invertido por parte del Auditor de Seguridad. Los Auditores de Seguridad que realizan este tipo
de test, son denominados Hackers de Sombrero Blanco (White Hat Hackers).
5
Este tipo de test, a su vez tiene dos variantes: prueba anunciada, y prueba no anunciada.
El primero, notifica al personal de TI sobre las actividades que serán llevadas a cabo, y lo
involucra en ciertas actividades. El segundo, no realiza esta notificación, básicamente para
medir la respuesta del personal de TI con respecto a los incidentes.
Los Auditor de Seguridad que realizan este tipo de test, son denominados Hackers de Sobrero
Gris (Gray Hat Hackers), y también son conocidos por explotar vulnerabilidades con la
autorización de un proveedor/creador de una herramienta de software.
Normalmente esto se hace con fines lucrativos, y en el mejor de los casos pueden descubrirse
vulnerabilidades día cero. A este tipo de hackers, se les denomina Gray Hay Hackers.
Entonces, Gray Box Testing, es la actividad de encontrar vulnerabilidades de un producto o
servicio informático en particular, con la respectiva autorización de la casa matriz.
Intrusión Externa
Intrusión Interna
6
6 Metodologías de Test de Intrusión
Hoy en día, en internet se puede encontrar cualquier tipo de información o recurso. Para realizar
un test de intrusión, hay miles de sitios web que explican de muchas formas las fases, y algunas
técnicas de cómo realizar cada una de las fases. Sin embargo, aunque puede existir un
lineamiento de qué se debe hacer, y en qué orden, también es cierto que el éxito de un test de
intrusión depende de muchos factores, como lo puede ser la experiencia de los Auditores de
Seguridad, el nivel de compromiso de la organización cliente y su equipo técnico, las
certificaciones con que cuente el Auditor de Seguridad, sin dejar atrás la constante actualización
con temas de seguridad, parches, vulnerabilidades, exploits y técnicas con las que deben estar
al día los Auditor de Seguridad a cargo del test de intrusión, así como una adecuada
planificación, definición de alcance e identificación de todos aquellos activos que sean de
carácter importante confidencial para la organización.
Sin embargo, como cualquier actividad profesional, es necesario prescindir de una guía formal
que nos dicte las mejores prácticas para poder llevar a cabo un test de intrusión. Existen
diferentes guías, metodologías, o certificaciones que pueden brindarnos esta información.
En esta investigación mencionaremos las metodologías más conocidas para realizar un test de
penetración.
7
Las 7 fases principales de las dispone serían:
6.1.2 Reconocimiento
Esta fase consiste en obtener toda la información necesaria de la organización y los sistemas
objetivos, desde nombres de usuarios, hasta números de IP y realizar los respectivos
diagramas de red para referencia. Es una de las fases más importantes ya que durante las
siguientes fases, que son más intrusivas, se hará uso de la información que sea obtenida en
esta fase. Mientras más minuciosa y detallada se realice esta fase, más probabilidad de
efectividad habrá para la fase de análisis y explotación de vulnerabilidades.
El PTES lleva esta fase a un nivel más alto, denominándolo “Inteligencia”, ya que se basa en
algunos métodos y técnicas militares de inteligencia. De hecho, existe lo que se denomina
Fuentes de Información OSINT (Open Source INTelligence), que hacen referencia a cualquier
información desclasificada y públicamente accesible en Internet de forma gratuita.
8
6.1.3 Enumeración de objetivos
El PTES no utiliza un modelo específico para determinación de amenazas, pero requiere que el
modelo que se utilice sea consistente en términos de las amenazas que puedan ser
consideradas, sus capacidades, su nivel de criticidad, de acuerdo a cómo se lleve a cabo el test
de penetración, y la habilidad que dicho modelo pueda ser rápidamente aplicado en futuros test
obteniendo los mismos resultados.
En esta fase, normalmente puede tomarse como punto de partida un análisis FODA de la
organización y básicamente el proceso completo del modelado de amenazas consiste en:
De acuerdo al PTES, deben identificarse y documentarse estos cuatro elementos en todo test
de penetración.
A partir de la información recogida, se piensa como un atacante y se definen las estrategias y
objetivos de penetración, y de qué manera se llegara hasta ellos. La jerarquía se dará las
vulnerabilidad que contenga la información como ejemplo, suponga que en la recolección de
información se realizo a un servidor ftp de alguna organización, están abiertos los puertos 113,
8080, 21 y el 20 con esta información y un poco de investigación se puede encontrar cuales son
los puertos con mayor vulnerabilidad y dejarlos en la parte superior de la lista de enumeración.
9
Mediante la explotación del sistema destino, se puede verificar las vulnerabilidades. Hay una
gran cantidad de recursos disponibles dedicados a la verificación de vulnerabilidades. Sin
embargo, es importante recordar que en profesional de Pruebas de penetración, debe de
considerar una gran cantidad de factores externos que afectan las herramientas que usan debe
tener por lo menos conocimientos básicos del sistema que será puesto a prueba, de esta forma
el pentester sabrá si se trata de una vulnerabilidad critica.
6.1.6 Post-explotación
Una vez que se ha conseguido acceso al sistema en la fase de explotación, es necesario
obtener información sobre otros servicios, sistemas o datos sensibles que pueden ser
accedidos desde el sistema vulnerado.
Actualmente existen dos versiones de esta metodología, la 2.1, liberada en 2003 y traducida
oficialmente al español y la 3.0 liberada en 2010.
Esta metodología abierta está orientada a la comprobación de seguridad:
Seguridad física
Seguridad en redes de datos y telecomunicaciones
Seguridad inalámbrica
Seguridad de Procesos
Ingeniería social
Cumplimiento
10
El focus del OSSTMM está más ligado a la rigurosidad de las pruebas, detección y eliminación
de falsos positivos, cumplimiento de standards y regulaciones, cuantificación de los resultados
obtenidos, capacidad de reproducción de los resultados y asegurar la calidad.
Dispone de varias fases:
Identificación
Revelación de datos sensibles
Análisis de vulnerabilidades y debilidades criptológicas
Análisis de vulnerabilidades y debilidades en accesos físicos, redes de datos, redes
inalámbricas, sistemas, servicios y aplicaciones
Validación de la confidencialidad en accesos físicos, redes de datos, redes inalámbricas,
sistemas, servicios y aplicaciones
Detalle técnico de los análisis
Contramedidas
6.3.2 Evaluación
Es donde se lleva a cabo el test de penetración propiamente dicho. Digamos que utiliza un
enfoque por capas y cada una de ellas nos lleva a un nivel de acceso más grande a los activos.
Las capas podemos enumerarlas como sigue:
Recolección de Información
Mapeo de la red de trabajo
Identificación de vulnerabilidades
Penetración
Obtener Acceso y escalada de privilegios
Enumeración
Comprometer usuarios remotos y sitios
Mantener Acceso
11
Figure 2 Fases de la metodología ISSAF
Fuente: Comparativa metodologías auditorias y pentesting
Toda la información que se crea y / o son almacenados en los sistemas de prueba deben ser
removido de estos sistemas. Si estos es por alguna razón no fueran posibles remover desde un
sistema remoto, todos estos archivos (con su ubicación) deben mencionarse en el informe
técnico para que el cliente y el personal técnico fuera capaz de eliminar estos después de que
el informe haya sido recibido.
13
Figure 3 Fases de la metodología OWASP
Fuente: Elaboración Propia
14
6.4.2.5 Pruebas de autorización
Autorizar significa que podemos usar y acceder a aquello para lo que estamos registrados...
Qué roles y niveles de autorización existen... Escalar privilegios, acceso a rutas transversales,
etc.
15
7.1 NMAP
Nmap es una herramienta de línea de comandos (existen también algunas interfaces gráficas)
donde se debe indicar cuál será el o los objetivos y la serie de parámetros que afectarán la
forma en que se ejecuten las pruebas y los resultados que se obtienen. Puede instalarse tanto
en Linux, Windows, Mac u otros sistemas operativos.
En donde nmap es el comando en sí mismo y 172.16.1.1 es el objetivo (que también puede ser
indicado con un nombre de dominio). La respuesta a estos comandos será un listado de los
puertos abiertos o cerrados en dicha dirección. La ejecución sin parámetros ejecuta un escaneo
sencillo a los 1000 puertos más comunes (véase que en la imagen se muestra uno abierto y
999 cerrados), realizando anteriormente un ping para ver si el equipo está vivo (si el equipo no
responde al ping, no se realizará el test de los puertos).
16
Cuando agregas parámetros puedes obtener mejores resultados. Algunos parámetros comunes
para tener en cuenta son:
[-iL] puedes indicar una lista de equipos o redes a escanear. > nmap –iL hosts.txt
[-sP] solo escanea con un ping. Es una buena forma de ver cuántas direcciones IP
se pueden checar. Una vez que se tienen enlistadas, se podrá ir solo con las que
están vivas.
[-P0] es la forma de omitir el ping e ir directo al escaneo de puertos. Muchos
sistemas no responden el ping como método de seguridad, por lo que, escanearlos
de todas formas, también puede ser útil en entornos más reales (no es necesario
para los entornos de aprendizaje inicial).
[-p] lista los puertos que se desean escanear. > nmap –iL hosts.txt –p 22,25,80,445
[-sV] intenta determinar la versión del servicio en el objetivo.
[-O] informa el sistema operativo en el objetivo.
Una vez ejecutado Nmap, ya se conocen cuáles son los servicios (al menos los identificados)
que se están ejecutando en el blanco de la prueba de penetración. Ahora ya se puede pasar a
las siguientes etapas, en donde se utilizará esta información para comenzar la búsqueda de
vulnerabilidades en la infraestructura y en los servicios identificados.
Ficha técnica
Herramienta: Nmap
Sitio web: http://nmap.org/
Cómo empezar: instalarlo, ejecutar un comando sencillo hacia una dirección IP y luego
probar agregando parámetros (nmap --help puede brindar más información) o ejecutar
para múltiples direcciones IP (que deben ser indicadas en un archivo TXT).
Más información: Recomendable este artículo con 30 comandos para ver y analizar las
diferencias en las respuestas. También está el libro oficial https://nmap.org/book/para
explotar al máximo la funcionalidad de Nmap, escrito por su creador, Gordon “Fyodor”
Lyon.
7.2 NESSUS
Una vez que se tienen identificados los servicios que se están ejecutando, se puede comenzar
el uso de las herramientas que sirven para identificar vulnerabilidades en los servicios. En este
campo, la mejor herramienta para introducirse en este mundo es Nessus, una aplicación
gratuita y también de pago, para fines profesionales es mejor usar la versión de pago, por su
base de datos y su facilidad de uso, es la preferida en este aspecto.
Aunque posee una línea de comandos, su interfaz gráfica es muy completa e intuitiva, es una
forma sencilla de comenzar a probar esta herramienta.
Nessus posee una extensa base de datos de vulnerabilidades conocidas en distintos servicios
y, por cada una de éstas, posee plugins que se ejecutan para identificar si la vulnerabilidad
existe (o no) en determinado equipo objetivo. En resumen, al ejecutarse Nessus sin parámetros
específicos, se probarán miles de vulnerabilidades y se obtendrá como resultado un listado de
las vulnerabilidades que fueron identificadas.
17
La lógica de Nessus es similar a Nmap: hay que indicar el objetivo, en este caso la o las
direcciones IP y los parámetros. Estos permiten limitar el campo de búsqueda, especialmente si
en una etapa anterior se identificaron los servicios: no tiene sentido buscar vulnerabilidades
conocidas en Linux en un equipo que tiene instalado Windows.
Ficha técnica
Herramienta: Nessus
Sitio web: http://www.tenable.com/products/nessus/
Cómo empezar: Si se tiene Windows, instalarlo ahí por interfaz gráfica es muy sencillo,
funciona para conocerlo por primera vez.
Más información: Un listado completo de plugins está disponible en el sitio web, la
lectura de las descripciones es muy útil para aprender más sobre vulnerabilidades en
diversas plataformas (http://www.tenable.com/plugins/index.php?view=all).
18
Para este fin, Metasploit es la herramienta ideal para hacer estas pruebas. Mientras Nessus
posee una base de datos de vulnerabilidades, Metasploit posee una base de exploits que
podrían aprovecharlas. En otras palabras, en lugar de revisar si hay una vulnerabilidad en un
equipo remoto, directamente se intenta la ejecución de un exploit y se simulan las
consecuencias posteriores, en caso de que éste se ejecutara con éxito.
Si se quiere probar la línea de comandos se puede hacer las primeras pruebas. En Windows se
puede abrir directamente desde el Menú de inicio como “Metasploit Console”. En Linux, tan solo
ejecutar un simple comando:
Hay una serie de comandos sencillos para dar los primeros pasos. Search, use, show, set y
exploit son probablemente los mejores. Probaremos explotar una de las vulnerabilidades más
famosas en Windows, la MS 08-067 (para ver el boletín de la vulnerabilidad,
https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2008/ms08-067), una
vulnerabilidad crítica descubierta en 2008 que permitía ejecución remota de código.
Si en un paso anterior (con Nessus) se encontró que el sistema posee dicha vulnerabilidad (con
Nmap se podra haber encontrado que se está lidiando con una máquina Windows), sería lógico
con search encontrar el exploit a utilizar.
Entre los resultados, lo más importante es encontrar la ruta del exploit y luego con use podrás
decidir utilizarlo (sí, asombroso):
19
El comando show mostrará las alternativas para ejecutar el exploit.
Luego, se podrá utilizar el comando set para configurar el exploit antes de la ejecución. En este
caso, definiremos el local host (nuestra dirección IP), al host remoto (la dirección IP de destino,
donde se supone que ya sabemos existe la vulnerabilidad) y el payload (acción a ejecutar, en
este caso usaremos reverse_tcp que nos dará una consola remota en el equipo).
Si se logra hacer estos pasos correctamente, se puede ver una consola remota en el equipo
Windows y testearla con comandos regulares de consola (ipconfig, dir, etc.).
Ficha técnica
Herramienta: Metasploit
Sitio web: http://www.metasploit.com/
Dónde empezar: una vez instalado, hacer la prueba con alguna vulnerabilidad que
permita el uso de una consola meterpreter remota, son sencillas de probar si fueron
exitosas. Hay que tener precaución con las vulnerabilidades de denegación de servicio.
Más información: Existe un documento oficial completo para dar los primeros pasos en
Metasploit Framework, muy recomendable, “Metasploit Community Getting Started
Guide" en https://help.rapid7.com/?community.
20
7.4 DVL – DVWA
Para probar las tres herramientas anteriores, es necesario definir un sistema objetivo, un
sistema en el que se harán las pruebas. Una pésima costumbre de quienes inician en este
ámbito es realizar sus primeros pasos y pruebas en sistemas públicos de Internet, en un
entorno real. Esto podría acarrear problemas legales y no es la forma correcta (ni ética) de
realizarlo. Para aprender a usar estas herramientas, se debe utilizar un entorno de pruebas, es
decir, un escenario de investigación en donde uno pueda tener acercamientos sin riesgos de
afectar algún entorno en producción.
Para ello, existen dos herramientas excelentes: Damn Vulnerable Linuxy (DVL) y Damn
Vulnerable Web Application (DVWA). Aunque el primero está descontinuado, aún se puede
conseguir en Internet para hacer los primeros pasos y primeras pruebas. Se trata de un sistema
operativo y una aplicación web que poseen todo tipo de vulnerabilidades, de tal forma que, la
persona que los utiliza, puede intentar explotarlas y experimentar.
También es posible “construir” nuestro propio sistema de pruebas: tan solo instala cualquier
sistema operativo (desactiva las actualizaciones o instala una versión antigua) y sobre él
comienza a instalar servicios en versiones anteriores a la última. De esta forma, tendrás tu
propio sistema vulnerable para hacer pruebas. Este entorno es el correcto para dar tus primeros
pasos en Penetration Testing.
21
Ficha técnica
Herramienta: Damn Vulnerable Web Application
Sitio web: http://www.dvwa.co.uk/
Dónde empezar: Instalar el programa e intentar encontrar y explotar vulnerabilidades
comunes con la herramienta anterior.
22
El listado de herramientas disponibles en Kali Linux puede encontrar en la siguiente dirección
http://tools.kali.org/tools-listing y todos los paquetes se pueden encontrar en la siguiente
dirección http://git.kali.org/gitweb
Según los desarrolladores de Kali Linux, las herramientas más populares/utilizadas según en
las diferentes etapas de un pentest son:
23
Sniffing/Spoofing: Wireshark y Ettercap son las herramientas más recomendables. Con
ellas, es posible ver el tráfico de red que podría permitir el acceso a información
confidencial, entre otros ataques.
Ingeniería inversa: Ollydbg es uno de los mejores debuggers que podrían ayudar a
comprender qué acciones realiza un archivo en el sistema por medio de un proceso de
ingeniería inversa.
Forense: También hay una serie de herramientas para realizar análisis forenses sobre
un sistema, es decir, se puede analizar el estado de un sistema justo en el momento que
ocurrió determinado incidente; además se identifican acciones pasadas o archivos
ocultos en el mismo, entre otros.
Ficha técnica
Herramienta: Kali Linux
Sitio web: http://www.kali.org/
Cómo empezar: primero, probar las herramientas antes listadas pero desde dentro de
Kali Linux y luego, adentrarse en su menú, donde las herramientas están categorizadas,
lo que permitirá mayor comprensión.
Más información: hay documentos disponibles en el sitio oficial en varios idiomas, para
conocer más en detalle el kit de herramientas.
24
8 Conclusiones
Existen beneficios cuando se realiza un Pentest por que proporciona un conocimiento del grado
de vulnerabilidad, nos permiten evaluar, y encontrar riesgos que existen en los sistemas
informáticos, y es imprescindible para aplicar medidas correctivas para así poder prevenir
cualquier amenaza que podría existir.
También estar conscientes de que siempre habrá fallas de seguridad tras cambios de
configuración, desactualizaciónes, configuraciones erróneas y cada día los cibercriminales
siempre se encuentran nueva maneras de vulnerar la seguridad.
La seguridad en una organización es un aspecto cambiante, es por eso muy importante realizar
un Pentest. Una empresa puede alcanzar un nivel de protección óptimo en un momento
determinado y ser totalmente sensible poco después, tras cambios en la configuración de un
servidor o tras la instalación de nuevos dispositivos de red. Al pasar del tiempo también surgen
fallas en sistemas que se creían que eran seguros. Es por eso que las compañías deberían
tener una política de realización de Pentest periódicas para poder mitigar en gran medida los
riesgos asociados a un entorno cambiante. La seguridad de un producto o un entorno de
sistemas también dependen de las mejores prácticas específicas del producto en materia de
seguridad. Esto involucra la apropiada implementación de requerimientos de seguridad, realizar
análisis de riesgos, modelado de amenazas, revisión de código y una medición de la seguridad
operativa.
El test de intrusión es considerado una de las formas más agresivas de evaluar la seguridad.
Debería ser llevado a cabo por profesionales calificados y puede hacerse con o sin
conocimiento previo de la red o aplicación objetivo.
25
9 Mantenernos Informados
Estar actualizado es de vital importancia para el Ethical Hacker. Todos los días se descubren
fallos de seguridad, o se dan a conocer ciberataques que nos pueden dar ideas a tener en
cuenta a la hora de realizar una auditoría. Los siguientes son sitios muy buenos donde se
puede encontrar información para estar al día:
http://www.securitybydefault.com/
http://www.elladodelmal.com/
https://www.segu-info.com.ar/
https://unaaldia.hispasec.com/
26
10 Bibliografía
Karina Astudillo B, 2013. Hacking Etico 101 . Recuperado de:
http://informatikakoapunteak.esy.es/jakintza_kritikoa/Hacking%C3%89tico101.pdf
PTES, 2015. The Penetration Testing Execution Standard Guidelines. Recuperado de:
http://www.pentest-standard.org/index.php/PTES_Technical_Guidelines
OWASP, 2013. OWASP Top 10 – 2013, los diez riesgos más críticos en aplicaciones web.
Recuperado de: https://www.owasp.org/images/5/5f/OWASP_Top_10_-_2013_Final_-
_Espa%C3%B1ol.pdf
Pablo Gonzales Perez, 2015. Pentesting con Kali linux. Recuperado de:
https://www.scribd.com/document/360272089/Pentesting-con-Kali-Linux-Pablo-Gonzalez-Perez-
pdf
Segu-Info, 2017. Pentesting con kali paso a paso. Recuperado de: https://blog.segu-
info.com.ar/2017/01/pentesting-con-kali-paso-paso.html
Snifer, 2015. Pentesting con Kali. https://www.sniferl4bs.com/p/blog-page_7.html
Alonso Eduardo, 2018. Hacking con Kali Linux. Recuperado de:
http://www.reydes.com/archivos/Kali_Linux_v2_ReYDeS.pdf
27