Introducción al Pentesting


Pentesting, Pentester .... ¿Has oído hablar de estos términos? ¿Que es el Pentesting? Te has preguntado alguna vez quiénes son las personas que velan por la seguridad, tanto de las empresas como de la nuestra. Sabías qué actualmente es imprescindible para cualquier pequeña, mediana o gran empresa invertir en ciberseguridad que evite, o al menos contenga, los ciberataques.

Cierto es que en los últimos años el número de ciberataques han aumentado significativamente debido a la proliferación de virus, malwares y a la creación de nuevas técnicas cada vez más sofisticadas. Por eso, todas las empresas se enfrentan a riesgos que ponen en peligro su sistema y pueden dejar expuesta información confidencial. Ya que, según estudios recientes, no todas las organizaciones son conscientes de los riesgos a los que se enfrentan y por eso las brechas de seguridad siguen creciendo.

Vivimos en una época de constantes cambios tecnológicos y uno de los mayores retos de la seguridad informática son precisamente estos avances. Para evitar los ciberataques y proteger los sistemas, es clave que la ciberseguridad avance a la misma velocidad que lo hacen las nuevas tecnologías y aquí es donde entra en juego el Pentesting y el trabajo del Pentester.   

¿Que es el Pentesting? y Como Podrias empezar

Es el proceso para identificar las vulnerabilidades de seguridad en una aplicación mediante la evaluación del sistema o la red con diversas técnicas maliciosas. En este proceso se explotan los puntos débiles de un sistema mediante un ataque simulado autorizado.

El objetivo de esta prueba es proteger los datos importantes de personas ajenas al sistema, como los hackers, que pueden tener acceso no autorizado al sistema. Una vez identificada la vulnerabilidad, se utiliza para explotar el sistema y obtener acceso a información sensible.

Una prueba de penetración también se conoce como la prueba de la pluma y un probador de penetración también se conoce como un hacker ético

Causas de las vulnerabilidades de seguridad

  • Errores de diseño y desarrollo: Puede haber fallos en el diseño del hardware y del software. Estos fallos pueden poner en riesgo de exposición los datos críticos de la empresa.
  • Mala configuración del sistema: Esta es otra causa de vulnerabilidad. Si el sistema está mal configurado, puede introducir loopholes a través de las cuales los atacantes pueden entrar en el sistema y robar la información.
  • Errores humanos: Los factores humanos, como la eliminación inadecuada de documentos, el dejar los documentos desatendidos, los errores de codificación, las amenazas internas, el compartir contraseñas a través de sitios de suplantación de identidad, etc., pueden conducir a violaciones de la seguridad.
  • Conectividad: Si el sistema se conecta a una red no segura (conexiones abiertas), queda al alcance de los hackers.
  • Complejidad: La vulnerabilidad de la seguridad aumenta en proporción a la complejidad de un sistema. Cuantas más funciones tenga un sistema, más posibilidades de que sea atacado.
  • Contraseñas: Las contraseñas se utilizan para evitar el acceso no autorizado. Deben ser lo suficientemente fuertes como para que nadie pueda adivinar su contraseña. Las contraseñas no deben compartirse con nadie bajo ningún concepto y deben cambiarse periódicamente. A pesar de estas instrucciones, a veces la gente revela sus contraseñas a otras personas, las anota en algún sitio y guarda contraseñas fáciles de adivinar.
  • Entrada de usuarios: Seguro que has oído hablar de la inyección SQL, los desbordamientos de búfer, etc. Los datos recibidos electrónicamente a través de estos métodos pueden ser utilizados para atacar el sistema receptor.
  • Gestión: La seguridad es difícil y costosa de gestionar. A veces, las organizaciones carecen de una gestión de riesgos adecuada y, por lo tanto, la vulnerabilidad se induce en el sistema.
  • Falta de formación del personal: Esto conduce a errores humanos y otras vulnerabilidades.
  • Comunicación: Canales como las redes móviles, Internet o el teléfono abren el abanico de robos de seguridad.

Tipos de Pentesting

Podemos clasificar las pruebas de penetración de 3 tipos:

  • Tests de caja blanca: Se dispone de toda información de la aplicación, sistema y/o arquitectura.
  • Tests de caja gris: Se dispone de información parcial de la aplicación, sistema y/o arquitectura.
  • Tests de caja negra: No se dispone de ninguna información de la aplicación, sistema y/o arquitectura.

Cada tipo de pentesting normalmente va determinado en base a las condiciones que establece el cliente, donde esas condiciones suelen ir relacionadas con la visibilidad, como por ejemplo simular la visibilidad de un atacante de forma externa, un atacante de forma interna, etc. Como es lógico, en las pruebas de penetración cuanto menos información dispongamos del objetivo a testear, más complejo nos resultará inicialmente poder realizar el pentesting, dado que existe una fase de recopilación de información (fingerprinting y footprinting) que determinará la visibilidad que tenemos sobre esa aplicación, sistema y/o arquitectura a realizar los tests, por lo que sin información previa tendremos que realizar un esfuerzo grande y bastante meticuloso a la hora de recopilar estos datos si no

Como Crear un Laboratorio de Pruebas?

Aqui os Mostramos una lista de herramientas para Iniciarse En el Pentesting

1. Kali Linux

Una de las mejores opciones es Kali Linux. Se trata de una distribución completa de Linux especializada en la auditoría de seguridad de sistemas. Cuenta con 300 herramientas para realizar análisis de penetración, aunque están especializadas en la ofensiva. En cualquier caso, detectarás cualquier fallo de tu sistema en poco tiempo y sin apenas esfuerzo. Además, es el sistema operativo predeterminado que utiliza la mayoría de profesionales, por lo que no deberías subestimarlo.

2. Nessus

Se trata de una aplicación centrada en identificar vulnerabilidades en los servicios. Cuenta con una amplia base de datos y es muy sencilla de utilizar, lo que la hace ideal para iniciarse en el mundo de los análisis de penetración. Algo que se debe en gran parte a la sencillez de su interfaz, la cual resulta sumamente intuitiva. Es posible probar miles de vulnerabilidades sin establecer parámetro alguno, lo que mejora aún más la facilidad de uso de esta herramienta. Muy recomendable.

3. Metasploit

Mestasploit entra en juego cuando ya has descubierto las vulnerabilidades del sistema, pero no conoces cuál es el alcance de estas o el daño que pueden llegar a causarte. Asimismo, también permite saber qué contramedidas son las acertadas para detener una posible amenaza. Esta herramienta cuenta con una base de exploits de diferentes vulnerabilidades, lo que te permite conocer la gravedad del error. Sin duda, una de las más útiles que puedes encontrar.

5. Wireshark

Te permite comprender el estado del tráfico de la red de una empresa. Analiza cientos de protocolos, es capaz de capturar el tráfico en tiempo real y conocer lo que ocurre con gran detalle. Es utilizado para controlar las conexiones TCP/IP y en manos de un buen analista es realmente eficaz, ya que este podrá determinar desde dónde llegan las amenazas y actuar en consecuencia con rapidez. Es otra de las herramientas que deberías tener en cuenta.

6. Zed Attack Proxy

Esta herramienta actúa entre la página web y el navegador utilizado. Consigue captar todo el tráfico, inspeccionarlo y modificarlo para reconocer los fallos de la web. Es bastante sencillo de utilizar, gratuito y su código es abierto, por lo que puede modificarse para mejorarlo o añadirle nuevas funcionalidades. Es otra aplicación para principiantes que te revelará todas las vulnerabilidades relacionadas con el tráfico.

7. John the Ripper

John the Ripper está especializado en descifrar contraseñas sin conexión, lo que permite conocer la fiabilidad de las que has creado. Puede actuar de forma bruta recurriendo a la capacidad de procesamiento de un PC hasta encontrar la contraseña, lo cual puede llevarte literalmente millones de años, o alternar los signos de la base de datos de posibles contraseñas que contiene. Además, es capaz de desencriptar archivos, lo cual le otorga una nueva dimensión a este software de código libre.

8. Burp Suite

Estás ante uno de los analizadores más completos del mercado. Se centra en el análisis de vulnerabilidades de páginas web, lo que lo hace muy valioso. Lanza toda una serie de ataques contra la web seleccionada y en poco tiempo determina en qué falla. Es una herramienta utilizada solo por profesionales, pero ofrece unos resultados fuera de toda duda. Quizás su pega es el coste de la aplicación que ronda los 3.000€ por año la versión enterprise, por lo que solamente está al alcance de empresas especializadas en seguridad o profesionales que se dediquen en exclusiva a este tipo de análisis de seguridad.

A la hora de realizar pentesting disponemos de diversas metodologías las cuales podemos seguir o bien podemos tomar como referencia a la hora de realizar nosotros nuestras propias auditorías, esto ya es según las necesidades de cada uno, pues por requerimientos es posible que haya que cumplir algunas determinadas.

Algunas de las metodologías de pentesting serían:

  • ISSAF
  • PCI
  • PTF
  • PTES
  • OWASP
  • OSSTMM

Hablar en profundidad de todas ellas en un articulo es básicamente imposible, ya que por ejemplo ISSAF dispone de la friolera 845 páginas, OWASP 349 páginas, OSSTMM 213 páginas… si nos centraremos en algunas de ellas donde el objetivo sea recoger ideas interesantes de las mismas para comprender y estructurar como y en que se basa el pentesting.

PTES

Penetration Testing Execution Standard junto a OWASP (más adelante hablaremos de ella) ya han logrado definir y generar conciencia sobre lo que es realmente una prueba real de tests de penetración. PTES además de ser adoptada por múltiples profesionales altamente reconocidos en el sector ya es un referente inclusive en libros de aprendizaje de referencia de por ejemplo frameworks asociados al pentesting como el conocido Metasploit de Rapid7.

Si bien es cierto, anda algo desactualizada y no es la más utilizada, si dispone de meticulosidad, siendo la misma alta y llegando a tener niveles de detalle también altos como bien definidos, donde la facilidad de implementación de la misma es relativamente sencilla. La misma es aplicable a cualquier aplicativo, sistema y/o arquitectura y es aconsejable combinarla con otras como OWASP.

Dispone de 7 fases que enumeraremos de forma genérica y serían:

1. Fase de toma de requisitos y alcance

Básicamente es la típica toma de requisitos donde se define el alcance de lo que se va a hacer, es decir, las restricciones que habrán de cara a lo que se puede o no hacer durante la prueba del trabajo, ya vengan determinados por tiempos, objetivos, etc.

2. Capturar toda la información posible

Consiste en reunir la máxima información posible sobre lo que se está evaluando, siempre con carácter relativo a la seguridad donde nos pueda ser útil de cara a fases posteriores.

3. Modelando las posibles amenazas antes de atacar

Tras la adquisición de datos de la fase anterior, aquí se procede a realizar un modelado de las amenazas, determinando los posibles ataques que se utilizaran.

4. Analizando las vulnerabilidades de las posibles amenazas

Una vez definido los ataques a realizar, se analizarán en profundidad y correlacionarán con debilidades y/o vulnerabilidades para determinar los ataques finales.

5. Explotando las vulnerabilidades

La fase más “visual”, ya que aquí se lanzaran los ataques hacia el objetivo por medio de determinadas técnicas para lograr el éxito de la penetración.

6. Post-explotación determinando daños y como arreglarlos

Aquí determinaremos el valor y sensibilidad que pueda tener lo que hemos comprometido, así como su utilidad, identificando y documentando desde los datos sensibles, cualquier opción de configuración, relaciones con otros elementos (posibilidad de realizar pivoting), etc.

7. Informe

El informe es el documento que tiene por objetivo definir y dar visibilidad del estado de la seguridad en los elementos tratados en el pentesting. Básicamente es el resultado final, por lo que debe estar lo bien realizado como para darle la visibilidad real y exacta de lo que ha sucedido, como el estado actual de sus aplicaciones, sistemas y/o arquitectura a nivel de seguridad proponiendo las soluciones o medidas correctoras a aplicar.

Podemos encontrar información detallada sobre como aplicar PTES en http://www.pentest-standard.org/index.php/Main_Page.

OWASP

Enfocada a un contexto de “caja negra”, donde no se nos proporciona información sobre el aplicativo, sistema o arquitectura de la que debemos realizar el pentest. Muchas veces se proporciona un simple dominio donde deberemos ir tirando del hilo hasta conseguir encontrar debilidades y/o vulnerabilidades en todo lo que conforma a las aplicaciones web relacionadas con el propio dominio o cliente.

Bastante actualizada pero centrada principalmente en aplicativos web, dispone de meticulosidad, siendo la misma más alta que la de PTES y llegando a tener niveles de detalle también muy altos como bien definidos, donde la facilidad de implementación de la misma es relativamente sencilla a nivel técnico debido a la extensa documentación disponible.

OWASP está compuesta de 2 fases:

Pasiva: Realización de tests para la compresión de lógica de lo que se está analizando par determinar la operativa de la aplicación, sistema y/o arquitectura más los posibles vectores de ataques como debilidades y vulnerabilidades de la misma.

Activa: Realización de un número de procesos determinados por OWASP clasificados en las siguientes categorías:

Dentro de la fase activa disponemos de los siguientes 11 procesos:

1. Recopilación de información

Consiste en la recopilación relativa al objetivo que nos pueda proporcionar cualquier detalle para analizar y barajar la inclusión o utilización de esta información para la pruebas restantes.

2. Pruebas de la configuración y despliegue de la administración

Se trata de una serie de tests relativos a malas configuraciones de la propia aplicación o inclusive server donde está alojada.

3. Pruebas de la gestión de identificación

Son pruebas que determinan si existen fallos en el manejo y políticas de las identificaciones de los roles, cuentas, usuarios, etc.

4. Pruebas de autenticación

Aquí verificaremos la integridad de el role de cada usuario es quien dice ser durante el flujo de autenticación.

5. Pruebas de autorización

Cualquier autorización, es decir, determinar los recursos que podemos usar se tratará en esta categoría.

6. Pruebas de la gestión de sesiones

Se pretende testear que se controla correctamente las sesión durante todo el flujo.

7. Pruebas de validación de entrada

Las pruebas realizadas en este apartado tratan de validar el correcto tratamiento de los datos en la entrada de los mismos, por ejemplo realizando uso de diversas técnicas como XSS, SQL injection, LFI/RFI, etc

8. Pruebas de manejo de errores

En este apartado se provocan todo tipo de errores de aplicativo, sistema y/o arquitectura donde podamos determinar mediante un comportamiento adecuado el descubrimiento de alguna debilidad y/o vulnerabilidad en el objetivo.

9. Pruebas de cifrado

Aquí verificamos debilidades en todo lo relativo al cifrado, desde la implementación de algoritmos de cifrado hasta vulnerabilidades en los protocolos de capa de transmisión.

10. Pruebas de lógica de negocio

Se realizarán test relativos a un posible mal análisis de la lógica de negocio en la implementación de la aplicación, como podría ser por ejemplo insertar usuarios no validados, alteración de componentes en base a la no validación de campos, etc.

11. Pruebas del lado de cliente

La validación en esta parte irá más enfocada a tipos de ataque en la parte cliente, como podría ser DOM Based XSS, Clickjacking, Client Side URL Redirect, etc

Todos los procesos de cada categoría están definidos ampliamente en el site oficial de OWASP donde podremos ver con detalle de que se trata cada uno para poder realizar los pertinentes test de manera correcta.

Podemos encontrar información detallada sobre como aplicar OWASP en https://www.owasp.org/index.php/Main_Page.

OSSTMM

Es una metodología abierta orientada a la comprobación de seguridad de:

  • Seguridad física
  • Seguridad en redes de datos y telecomunicaciones
  • Seguridad inalámbrica
  • Seguridad de Procesos
  • Ingeniería social
  • Seguridad de Procesos
  • Ingeniería social
  • Cumplimiento

Esta metodología tiene gran similitud con la ISO 27001, aunque OSSTMM puede actuar de complemento sin ningún problema o inclusive de forma individual si lo que queremos obtener está más ligado a la obtención de detalles más técnicos y la verificación y prueba de los elementos analizados.

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 inlámbricas, sistemas, servicios y aplicaciones
  • Validación de la confidencialidad en accesos físicos, redes de datos, redes inlámbricas, sistemas, servicios y aplicaciones
  • Detalle técnico de los análisis
  • Contramedidas

Cyber Kill Chain

Es una metodología de origen militar basado en Kill Chain e inventada por la compañía multinacional de la industria militar y aeroespacial.

Se tiene tiene como base los pasos seguidos para la ejecución de una amenaza persistente avanzada, por lo que se puede tener una visibilidad más puramente del lado más ofensivo, mostrando a las empresas qué medidas debería establecer en cada una de las fases para garantizar una seguridad.

Dispone de varias fases:

1. Reconocimiento

Se trata de identificar los posibles objetivos e investigarlos.

2. Creación del arma

Desarrollo del arma detonante de la futura explotación, por ejemplo el desarrollo de un troyano con un exploit incrustado sería de lo más común.

3. Entrega

Aqui se define el canal de entrega del posible malware desarrollado, desde un correo electronico, url hasta un simple dispositivo USB.

4. Explotación

En esta fase se buscará la forma de expotar el código malicioso ya sea vía software o por medio de ingeniería social.

5. Instalación

En esta parte generamos persistencia en los sistemas para poder volver entrar a los mismos una vez finalizada nuestra sesión, evitando repetir los pasos anteriores por simple complejidad.

6. C&C

Tras asegurar la fase de instalación, durante la misma se dejará preparada normalmente con funcionalidades de Command & Control, que no es más que capacidad de control remoto de nuestro malware donde podamos establecer comunicación con el mismo de forma remota y ejecutar las ordenes que deseemos, funcionalidad muy común en las botnets.

7. Acciones

Finalmente esta es la fase donde se produce el daño real, desde el cifrado de ficheros, borrado, exfiltración de datos, etc.

Recuros Para Aprender Sobre Pentesting

 
by Date: 21-04-2021 hacking pentesting security cybersecurity visitas : 4777  
 
 
 
 

Artículos relacionados

Búsqueda en la Dark Web: instrucciones

Hoy en día, las ciberamenazas vienen de todas partes, tanto de la superficie como de la web oscura. Muchas empresas se basan en la información recogida en las comunidades de…

Google Dorks Como Encontrar Datos Interesantes y Buscar Como Un Hacker

¿Van juntas las palabras Google y Hacking? Bueno, si usted pensó que vamos a aprender cómo utilizar el hack en Google, usted podría estar equivocado. Pero podemos Usar el motor de…

AIR-FI: hack para extraer datos de ordenadores desconectados usando señales electromagnéticas de SDRAM

Un investigador en seguridad ha demostrado que los datos sensibles pueden ser extraídos de ordenadores "air-gapped" mediante una novedosa técnica que aprovecha las señales de Wi-Fi como un canal encubierto,…

La vulnerabilidad de BleedingTooth y otros riesgos de seguridad del Bluetooth

¿Has oído hablar alguna vez de BleedingTooth? Y no nos referimos a la seta de aspecto realmente perturbador que se llama así y que es totalmente real (lo comprobamos dos veces),…

El tipo que hizo la ingeniería inversa de TikTok revela las cosas aterradoras que aprendió, aconseja a la gente que borre esa app

Facebook se metió en un escándalo de datos sensibles cuando hizo negocios turbios con Cambridge Analytica, Instagram confirmó un problema de seguridad exponiendo cuentas de usuarios y números de teléfono,…

Desbloquear las funciones ocultas del móvil con estos códigos secretos

Los datos de servicio suplementario no estructurado (USSD), a veces conocidos como "códigos rápidos", son un protocolo extra-UI, que permite a las personas acceder a características ocultas. Este protocolo fue…

Proton VPN se convierte en la primera VPN de código abierto y auditada

En una entrada de blog, ProtonVPN acaba de anunciar que está usando código fuente abierto y también ha publicado los informes de la auditoría de seguridad. Con este paso, ProtonVPN pretende…

Un bug de CloudFlare deja descubiertos millones de datos sensibles de páginas y usuarios

Una vulnerabilidad de seguridad severa Se ha descubierto en la red CDN CloudFlare que ha provocado que los sitios web de gran nombre expongan claves de sesión privadas y otros…

Fallo en WordPress, ahora es pánico: 1,5 millones de sitios afectados

No hay nada que hacer, a pesar de los esfuerzos conjuntos de los desarrolladores, servicios de alojamiento y operadores, los ataques a los sitios de WordPress están creciendo exponencialmente y…

Hacking ético para diagnosticar la seguridad de una web: 15 herramientas

Las pruebas de intrusión, conocidas como "Análisis de Penetración" o "Hacking Ético", son actualmente una práctica habitual para conocer el nivel de seguridad que tiene una web. Dichas pruebas se encargan…

Clicky