Saltar al contenido
Portada » Blog – Laprovittera Carlos » TryHackMe Dive Into Pentesting

TryHackMe Dive Into Pentesting

Hola hacketones! Bienvenidos a un nuevo CTF de la ruta completa de Jr Penetration Tester para obtener la certificación PT1: TryHackMe Dive Into Pentesting

Tarea 1 Introducción

Las pruebas de penetración son una práctica de seguridad proactiva que ayuda a las organizaciones a descubrir vulnerabilidades en sus sistemas, aplicaciones y redes antes de que los atacantes puedan explotarlas. El valor de las pruebas de penetración sigue aumentando a medida que los entornos modernos se vuelven más complejos. Los profesionales que comprenden los fundamentos de las pruebas de penetración pueden obtener resultados significativos y comunicar eficazmente los riesgos a las partes interesadas.

Esta sala presenta los conceptos fundamentales que todo aspirante a especialista en pruebas de penetración debe conocer. Cubre qué son las pruebas de penetración y en qué se diferencian del hacking malicioso, las áreas clave durante una prueba de penetración y la relación entre vulnerabilidad, amenaza y riesgo. También explora por qué existen las vulnerabilidades, la mentalidad y los hábitos que caracterizan a los especialistas en pruebas de penetración eficaces y los principios éticos que fortalecen las relaciones con los clientes.

Objetivos de aprendizaje

  • Distinga entre pruebas de penetración y piratería informática maliciosa en función de la autorización, el alcance, la cobertura y la responsabilidad.
  • Describa las áreas principales en las que se centra la realización de pruebas de penetración en aplicaciones web y redes.
  • Defina vulnerabilidad, amenaza y riesgo, y aplique esta  Vulnerability x Threat = Risk relación para evaluar escenarios del mundo real.
  • Describa las cuatro etapas del ciclo de gestión de riesgos e identifique cuándo se mitigan, se aceptan o se transfieren los riesgos.
  • Identifique las razones comunes por las que existen vulnerabilidades, incluidas las suposiciones humanas, los errores de software, la complejidad del sistema, la personalización excesiva y los fallos técnicos o de diseño.
  • Aplica la mentalidad y los hábitos de un probador de penetración eficaz, como la atención al detalle, el pensamiento contextual y evitar la dependencia excesiva de las herramientas o la visión de túnel.
  • Siga las mejores prácticas durante el trabajo, lo que incluye tomar buenas notas, recopilar pruebas, gestionar el tiempo, comunicarse de forma proactiva y mantener una actitud profesional.
  • Respetar los principios de ética, autorización y confianza a lo largo de toda la colaboración para proteger tanto a la organización como al evaluador.

Tarea 2 Pruebas de penetración frente a piratería informática maliciosa

¿Qué son las pruebas de penetración?

Las pruebas de penetración, o «pentesting», son evaluaciones de seguridad autorizadas que se realizan en sistemas, aplicaciones o redes. Se llevan a cabo con el permiso explícito del propietario del sistema y dentro de los límites acordados.

Las pruebas de penetración son importantes porque los sistemas modernos son complejos y están en constante evolución. Estos factores dificultan que las organizaciones identifiquen todas las vulnerabilidades únicamente mediante el diseño y el desarrollo. Incluso los sistemas bien construidos pueden contener vulnerabilidades que los expongan a ataques. Una prueba de penetración cubre esta brecha y ayuda a las organizaciones a comprender cómo se podrían explotar estas vulnerabilidades, lo que les permite priorizar las correcciones y reducir el riesgo antes de que los atacantes puedan aprovecharlas.

Las pruebas de penetración son un servicio de seguridad esencial por muchas razones. Garantizan que las organizaciones puedan priorizar los esfuerzos de remediación en función del nivel de riesgo asociado a las vulnerabilidades. Ayudan a proteger la confidencialidad de los datos sensibles de los clientes, como la información de pago o la información de identificación personal, lo que garantiza el cumplimiento de muchos marcos regulatorios y estándares de la industria, como el Estándar de seguridad de datos de la industria de tarjetas de pago ( PCI-DSS)) y el Reglamento General de Protección de Datos (RGPD) Los escenarios de ataque reales y la evaluación de la postura de seguridad general de una organización garantizan la eficacia de los controles de seguridad. Este proceso ofrece a la dirección, a las partes interesadas y a los clientes la seguridad de que las vulnerabilidades se abordan de forma proactiva.

Pruebas de penetración frente a piratería informática maliciosa

Si bien los pentesters y los atacantes maliciosos pueden usar herramientas similares, su forma de operar es totalmente diferente. Los factores clave que se muestran en la siguiente tabla distinguen las pruebas de penetración del hacking malicioso:

Factor centralProbador de penetraciónAtacante malicioso
AutorizaciónLos profesionales que realizan pruebas de penetración trabajan con el consentimiento explícito por escrito del propietario del sistema.Los atacantes actúan sin consentimiento y violan los derechos y la seguridad de la organización.
AlcanceLos especialistas en pruebas de penetración operan dentro de un ámbito claramente definido por la organización con el fin de proteger los sistemas críticos.Los atacantes no tienen restricciones de alcance y atacarán cualquier cosa que les ayude a lograr su objetivo.
CoberturaLos especialistas en pruebas de penetración buscan una amplia cobertura y evalúan múltiples áreas de un sistema.Los atacantes se centran en la vía más rápida o eficaz para lograr el éxito y, a menudo, atacan sistemas y datos que pueden proporcionarles un beneficio económico.
ResponsabilidadLos profesionales que realizan pruebas de penetración son responsables de sus acciones y del impacto de su trabajo, y se espera que actúen con profesionalidad en todo momento.Los atacantes no se sienten responsables de sus actos ni asumen la responsabilidad por los daños que causan.

Responda las siguientes preguntas

¿Cuál es el término abreviado común para las pruebas de penetración?

pentesting

¿Qué actor busca una amplia cobertura y evalúa múltiples áreas de un sistema?

Penetration Tester

¿Qué actor se centra en el camino más rápido hacia el éxito?

Attacker

Tarea 3 Áreas clave para las pruebas de penetración

En una prueba de penetración, la cobertura es fundamental para evaluar completamente la postura de seguridad general de una organización. Para lograr una cobertura efectiva, es importante comprender las diferentes áreas que analiza un especialista en pruebas de penetración. Esta tarea abarcará las áreas que se evalúan al realizar pruebas de penetración en aplicaciones web y redes.

Pruebas de penetración de aplicaciones web

Las pruebas de penetración de aplicaciones web se centran en encontrar vulnerabilidades y debilidades en una aplicación web. Generalmente, las pruebas se realizan desde la perspectiva del usuario, interactuando con la interfaz de usuario y las API de la aplicación. El objetivo es evaluar cómo la aplicación gestiona la entrada de datos, la autenticación, la autorización, las sesiones y el procesamiento de datos. Las debilidades en las aplicaciones web pueden tener un gran impacto en sus usuarios, ya que estas aplicaciones suelen estar expuestas a internet.

El diagrama anterior ilustra una interacción sencilla entre un probador de penetración y una aplicación web y sus componentes. En una prueba de penetración de una aplicación web, se evalúan las vulnerabilidades de la aplicación en diferentes áreas, como la autenticación, la autorización, la gestión de sesiones, la validación de entrada y salida, y la configuración de seguridad.

  • Autenticación: Esta área se evalúa para detectar debilidades en el manejo de credenciales de la aplicación, política de contraseñas, mecanismos de bloqueo de cuentas, autenticación multifactor, implementación, protección contra ataques automatizados como fuerza bruta y relleno de credenciales, flujo de restablecimiento de contraseña y lógica general relacionada con la autenticación.
  • Autorización: Esta área se evalúa para detectar debilidades en el mecanismo de control de acceso de la aplicación, garantizando que los usuarios solo puedan acceder a los recursos y realizar las acciones permitidas por su rol, y protegiéndolos contra ataques de escalada de privilegios verticales y horizontales.
  • Gestión de sesiones: esta área se evalúa para detectar debilidades en la forma en que se crean, mantienen e invalidan las sesiones. Esto incluye riesgos de fijación de sesión, invalidación de sesión después del cierre de sesión, aplicación del tiempo de espera por inactividad, atributos de cookies seguros y protección contra la falsificación de solicitudes entre sitios (CSRF).
  • Validación de entrada y salida: Esta área se evalúa para detectar debilidades en los controles de manejo de datos de la aplicación, incluyendo la protección contra ataques de inyección, la validación del tipo de datos y el manejo de la salida.
  • Configuración de seguridad: Esta área se evalúa para detectar deficiencias en las configuraciones del servidor y la aplicación, incluidos los encabezados de seguridad, el comportamiento de manejo de errores, los controles de limitación de velocidad, la configuración criptográfica y la exposición de servicios o funciones innecesarias.

Pruebas de penetración de redes

Las pruebas de penetración de red se centran en encontrar vulnerabilidades en la infraestructura subyacente que conecta los sistemas entre sí. Las pruebas pueden realizarse desde la perspectiva de un usuario externo o interno.

Las pruebas de penetración de redes externas se realizan desde la perspectiva de un usuario externo con poco o ningún acceso a la información sobre los sistemas expuestos externamente. Este tipo de evaluación se centra en la infraestructura orientada al exterior, como servidores orientados a Internet, cortafuegos, VPN y servicios de acceso remoto. El objetivo es evaluar cómo se exponen estos sistemas y analizar los controles de seguridad que los protegen contra usuarios no autorizados.

Por otro lado, las pruebas de penetración de redes internas son un escenario de «intrusión simulada» donde un atacante ya tiene acceso a un sistema de la red. Este tipo de evaluación analiza qué podría hacer un atacante a continuación, como moverse entre sistemas, escalar privilegios o acceder a datos confidenciales. El objetivo es evaluar las relaciones de confianza, los controles de acceso y la red. Segmentación para identificar configuraciones débiles y determinar si los controles de seguridad pueden limitar el impacto de una vulneración.

El diagrama anterior muestra una interacción sencilla entre un probador de penetración y una red, tanto desde una perspectiva externa como interna.

  • Mecanismos de autenticación : Esta área se evalúa para detectar debilidades en los controles de autenticación a nivel de red, como la política de contraseñas y la autenticación multifactor aplicación, reutilización de credenciales, uso de credenciales predeterminadas y protección contra ataques a servicios como portales de administración, VPN, SSH, o RDP.
  • Autorización y controles de acceso : Esta área se evalúa para detectar debilidades en los mecanismos de control de acceso a la red, garantizando que los usuarios y los sistemas solo puedan acceder a los recursos permitidos por su rol o nivel de confianza.
  • Red segmentación y relaciones de confianza : esta área se evalúa para detectar debilidades en las relaciones de confianza entre el usuario y el sistema, cortafuegos  y controles de aislamiento.
  • Gestión de configuración y parches : Esta área se evalúa para detectar deficiencias en las configuraciones y los servicios de los dispositivos, como el uso de software obsoleto, una configuración predeterminada insegura y protocolos de cifrado débiles.

En definitiva, las aplicaciones web y las redes modernas se construyen con diversos componentes y sistemas interconectados. Identificar la superficie de ataque ayuda a las organizaciones a encontrar todos los puntos de entrada que podrían contener vulnerabilidades y proporcionar acceso no autorizado a los ciberdelincuentes. Además, facilita la definición del alcance de una prueba de penetración antes de su ejecución.

Responda las siguientes preguntas

¿Qué tipo de prueba de penetración de red se centra en la infraestructura conectada a Internet desde la perspectiva de un usuario no autorizado?

External

Durante las pruebas, descubriste que las cookies de sesión siguen siendo válidas después de que un usuario cierra sesión en la aplicación. ¿A qué área de pruebas corresponde este problema?

Session management

Tarea 4 Vulnerabilidad, amenaza y riesgo

Vulnerabilidad, amenaza y riesgo son conceptos fundamentales en ciberseguridad que suelen utilizarse conjuntamente. Permiten a las organizaciones evaluar y gestionar sus problemas de seguridad de forma estructurada. Como especialista en pruebas de penetración, comprender la relación entre estos conceptos le permitirá comunicar claramente los hallazgos y su importancia a las partes interesadas.

Vulnerabilidad

Una vulnerabilidad es una debilidad o brecha en el entorno de una organización que podría ser explotada para comprometer la seguridad de los sistemas, los datos o las operaciones. Si bien no causa daño por sí misma, representa una oportunidad para su explotación.

Existen muchos tipos de vulnerabilidades. Para simplificar, nos centraremos en las vulnerabilidades técnicas, que son debilidades en el software, los sistemas o las configuraciones que pueden ser explotadas debido a errores de codificación, configuraciones inseguras o un diseño de sistema defectuoso.

Por ejemplo, un servidor web que ejecuta software obsoleto con fallos conocidos constituye una vulnerabilidad. La debilidad existe, pero no ocurre nada a menos que se aproveche.

Amenaza

Una amenaza es cualquier cosa que pueda explotar una vulnerabilidad y causar daño al entorno de una organización. Representa una fuente de peligro que puede aprovechar una debilidad para comprometer la confidencialidad, integridad y la disponibilidad de los sistemas de la organización.

Las amenazas pueden incluir agentes maliciosos como ciberdelincuentes, amenazas internas o herramientas utilizadas para realizar ataques automatizados. También pueden ser eventos no maliciosos como fallas del sistema, errores humanos o incidentes ambientales.

Por ejemplo, un atacante que escanea internet en busca de servidores obsoletos representa una amenaza. Tiene la capacidad y la intención de explotar la vulnerabilidad.

Más recientemente, los atacantes utilizan inteligencia artificial para automatizar ataques, descubrir vulnerabilidades a gran escala y acelerar la explotación. Esto hace que una amenaza significativa en los entornos modernos debido a su capacidad para aumentar la velocidad y la sofisticación de los ataques.

Riesgo

El riesgo es el daño potencial que podría ocurrir si una amenaza explota con éxito una vulnerabilidad. Podemos determinar el riesgo general de una vulnerabilidad combinando el impacto y la probabilidad de explotación. En algunos casos, una vulnerabilidad que puede parecer inofensiva podría causar un riesgo significativo si afecta a sistemas críticos. Por el contrario, una vulnerabilidad que puede parecer dañina podría causar un riesgo mínimo si existe en un entorno aislado.

La siguiente fórmula se utiliza comúnmente para simplificar el cálculo del riesgo general: Vulnerability * Threat = Risk.

Esta fórmula es un modelo simplificado que ilustra la relación entre los factores contribuyentes, más que un cálculo formal de riesgo. Una vulnerabilidad por sí sola no representa un riesgo si no existe una amenaza que pueda aprovecharla. Del mismo modo, una amenaza no puede tener impacto si no hay una vulnerabilidad que explotar. 

A continuación se muestran ejemplos prácticos de cómo se calcula el riesgo.

Bajo riesgo

Imagina una aplicación web que muestra mensajes de error detallados cuando se introduce información no válida.

  • Vulnerabilidad: Mensajes de error detallados que revelan rutas de archivos internas.
  • Amenaza: Atacantes que provocan errores para recopilar información del sistema.
  • Riesgo: Divulgación limitada de información que puede ayudar en el reconocimiento, pero que no compromete directamente el sistema.

Alto riesgo

Imagina una aplicación web que permita a los usuarios cambiar un parámetro de ID de cuenta en una solicitud y acceder a los datos de otros usuarios.

  • Vulnerabilidad: Control de acceso defectuoso que permite el acceso no autorizado a los datos del usuario.
  • Amenaza: Los atacantes modifican los parámetros de la solicitud para recuperar o alterar otra información confidencial del usuario.
  • Riesgo: Exposición o manipulación de datos confidenciales de clientes, lo que conlleva violaciones de la privacidad de los datos y consecuencias regulatorias.

Gestión de riesgos

La gestión de riesgos es un proceso estructurado que muchas organizaciones utilizan para identificar, evaluar y controlar los riesgos de seguridad a lo largo del tiempo. Una gestión de riesgos eficaz implica comprender qué riesgos son los más importantes y aplicar los controles adecuados para eliminar o reducir su impacto o la probabilidad de que sean explotados.

La gestión de riesgos suele ser un ciclo continuo que consta de cuatro etapas:

  • Identificación : Identificar los activos, las vulnerabilidades y las amenazas potenciales que podrían afectar a la organización.
  • Análisis : Consiste en evaluar los riesgos para determinar el impacto potencial y la probabilidad de explotación, lo que se traduce en la gravedad de cada riesgo y ayuda a planificar las medidas correctivas.
  • Mitigación : Reducir o controlar los riesgos identificados. Esto puede incluir la aplicación de parches de seguridad, el fortalecimiento de los controles de acceso, la mejora de las configuraciones, la implementación de herramientas de monitoreo o el rediseño de procesos inseguros.
  • Supervisión : Seguimiento continuo de los riesgos para garantizar que los controles sigan siendo eficaces, se detecten nuevas vulnerabilidades y se aborden con prontitud las amenazas emergentes.

En algunos casos, las organizaciones pueden optar por aceptar o transferir el riesgo si la mitigación no es práctica o rentable. Generalmente, se elige aceptar un riesgo cuando su impacto es mínimo y el costo de reducirlo supera el beneficio. Transferir el riesgo implica ceder la responsabilidad a un tercero, por ejemplo, mediante la contratación de una póliza de seguro que cubra los costos asociados al riesgo.

Un ejemplo en el que una empresa aceptaría el riesgo es si descubre que su aplicación web interna muestra la versión del servidor en elencabezado del servidorLa empresa decide asumir el riesgo porque la versión está actualizada, la aplicación web solo se utiliza internamente y no contiene datos confidenciales. Sin embargo, mitigar el riesgo es costoso y requiere tiempo y recursos.

En cambio, un ejemplo en el que una empresa transferiría el riesgo sería si opera una plataforma en línea que almacena información personal y de pago de sus clientes. La empresa decide transferir el riesgo contratando un seguro cibernético para cubrir los costos financieros en caso de una filtración de datos, ya que, aunque existan controles de seguridad efectivos, el riesgo no puede eliminarse por completo.

Responda las siguientes preguntas

Una organización solucionó un problema de alta gravedad que usted reportó. ¿En qué etapa del ciclo de gestión de riesgos se ubica esta actividad?

Mitigation

¿Una vulnerabilidad de inyección SQL representaría un mayor riesgo en una aplicación orientada al exterior o en una aplicación orientada al interior?

external-facing application

Tarea 5 ¿Por qué existen las vulnerabilidades?

Las vulnerabilidades pueden surgir debido a fallos, características o errores humanos, lo que puede comprometer datos y recursos. Los atacantes pueden explotar una o más de estas vulnerabilidades para lograr su objetivo. En esta tarea, analizaremos algunas de las causas más comunes de la existencia de vulnerabilidades.

Suposiciones humanas

Los desarrolladores que no tienen conocimientos de seguridad suelen dar por sentado que los usuarios utilizarán los sistemas según lo previsto. Los atacantes desafían intencionadamente esta suposición utilizando los sistemas de formas no previstas para exponer sus vulnerabilidades.

Por ejemplo, un desarrollador que asume que los usuarios solo subirán archivos de imagen como foto de perfil. La falta de controles de validación de archivos permite que un atacante suba un script malicioso, que luego es ejecutado por el servidor.

Errores de software

Los errores de programación pueden generar comportamientos no deseados que podrían suponer un riesgo para la seguridad, derivados de errores lógicos y una validación incompleta. Un código mal escrito puede funcionar según lo previsto, pero podría presentar fallos si no está codificado de forma segura.

Por ejemplo, una aplicación web no valida correctamente la entrada al procesar datos de formulario que interactúan con una base de datos. Un atacante envía una entrada especialmente diseñada que altera laSQLconsulta, lo que les permite obtener acceso no autorizado a datos confidenciales.

Complejidad del sistema

Los entornos modernos constan de numerosos componentes interconectados, como API, microservicios, bases de datos e integraciones con terceros. La probabilidad de que se produzca una configuración incorrecta en estos entornos complejos es mayor, lo que podría generar una vulnerabilidad explotable.

Por ejemplo, una empresa con múltiples servicios integrados en su aplicación web, como un proveedor de autenticación o un procesador de pagos externo, podría pasar por alto una configuración incorrecta que exponga las API administrativas. Debido a la complejidad de las interacciones entre estos componentes, esta configuración incorrecta permite a un atacante acceder a API administrativas críticas que no deberían estar expuestas.

Personalización excesiva

La personalización exhaustiva del software o los flujos de trabajo puede generar inconsistencias y vulnerabilidades de seguridad no deseadas. Las funciones personalizadas pueden no seguir las prácticas de seguridad estándar, y los sistemas muy modificados pueden ser difíciles de mantener, actualizar o parchear correctamente.

Por ejemplo, una organización que desarrolla una función de autenticación personalizada en lugar de usar un marco de inicio de sesión estándar puede implementar su propio almacenamiento de contraseñas, gestión de sesiones y lógica de recuperación de cuentas para cumplir con sus requisitos internos. Sin embargo, su mantenimiento a largo plazo puede resultar complicado. Las personalizaciones pueden quedar obsoletas y dar lugar a prácticas inseguras, como algoritmos de hash débiles o tiempos de espera de sesión inconsistentes.

Fallos técnicos y de diseño

Pueden surgir fallos técnicos y de diseño cuando la seguridad no se integra en el diseño desde el principio. El origen de estos fallos puede no ser intencional, pero puede suponer un gran riesgo para la seguridad de una organización.

Por ejemplo, implementar la autenticación multifactor en una aplicación web existente. Los desarrolladores podrían implementar la función, pero pasar por alto el diseño existente donde una autenticación completacookie de sesiónse emite antes de laMáster en Bellas ArtesEl proceso se ha completado. Este descuido permite que un atacante navegue a páginas autenticadas sin completar el proceso.Máster en Bellas Artesproceso.

Causas comunes y vulnerabilidades resultantes

La tabla que aparece a continuación relaciona cada causa común con una vulnerabilidad resultante que un atacante podría explotar.

Causa principalEscenario de ejemploVulnerabilidad resultante
Suposiciones humanasEl desarrollador asume que los usuarios solo suben imágenes a un campo de foto de perfil; no se aplica ningún tipo de validación.Carga de archivos sin restricciones: Un atacante carga un shell web y ejecutaSistema operativocomandos en el servidor.
Errores de softwareLos datos del formulario se concatenan en una consulta de base de datos en lugar de procesarse mediante entradas parametrizadas.SQLInyección: Un atacante manipula los datos de entrada para extraer o modificar registros confidenciales de la base de datos.
Complejidad del sistemaLos múltiples servicios integrados hacen que sea fácil pasar por alto una configuración incorrecta.APIpunto final.Administrador expuestoAPIUn atacante accede a funciones de administración que nunca debieron ser accesibles públicamente.
Personalización excesivaLa autenticación personalizada reemplaza un marco estándar con una lógica difícil de mantener.Autenticación débil: El hash obsoleto y la lógica de sesión defectuosa exponen las cuentas de usuario a posibles ataques.
Fallos técnicos y de diseñoLa sesión autenticada se emite antes de laMáster en Bellas ArtesEl paso se ha completado.Máster en Bellas Artesbypass: Un atacante navega a páginas autenticadas sin completar el proceso.Máster en Bellas Artesproceso.

Responda las siguientes preguntas

Un desarrollador implementó la función «Subir currículum» en un portal de empleo sin establecer medidas de seguridad. ¿Cuál es la razón que podría causar una vulnerabilidad de carga de archivos sin restricciones?

Human Assumptions

Tarea 6 La mentalidad del pentester

Las habilidades técnicas por sí solas no bastan para definir la competencia de un especialista en pruebas de penetración. Si bien es importante comprender cómo se pueden explotar las vulnerabilidades, saber cómo ejecutar pruebas de penetración de manera efectiva es igualmente valioso. Esta tarea abarca algunos de los comportamientos y hábitos que pueden ayudar a los especialistas en pruebas de penetración a obtener resultados significativos.

Mentalidad positiva frente a mentalidad negativa durante una prueba de penetración

Para obtener resultados significativos en una prueba de penetración, es fundamental contar con un enfoque metódico y estructurado. Además, la capacidad de adaptación a entornos cambiantes es esencial para mantener la calidad en las distintas evaluaciones. Disponer de una base y un proceso sólidos no solo ayuda a lograr una cobertura integral, sino que también garantiza una evaluación adecuada del riesgo general.

Una buena mentalidad al realizar pruebas de penetración incluye varias cualidades. Los siguientes ejemplos destacan características que amplían estas cualidades:

  • Comprender el sistema : En la mayoría de los casos, los sistemas se comportan de manera diferente entre sí. Un buen conocimiento del funcionamiento del objetivo ayudará a los evaluadores a planificar con anticipación y a obtener el contexto necesario para explorar posibles oportunidades de explotación.
  • Atención al detalle : Observar cómo se comporta la aplicación y notar pequeñas diferencias en ciertos escenarios a menudo da como resultado hallazgos importantes.
  • Curiosidad constante : Hacerse constantemente preguntas del tipo «¿Qué pasaría si…?» ayuda a descubrir muchas ideas que se pueden explorar y abre nuevas oportunidades para identificar debilidades.
  • Priorizar las áreas críticas : Centrarse en las funciones de alto impacto antes que en las de menor riesgo garantiza que los esfuerzos se dirijan a las áreas donde los problemas de seguridad tendrían un mayor impacto en el negocio.
  • Pensar en contexto : comprender cómo se utiliza una función y qué datos maneja ayuda a evaluar el riesgo con mayor precisión y permite que los hallazgos se evalúen en función de las consecuencias en el mundo real, en lugar de basarse únicamente en la gravedad técnica.
  • Pensamiento creativo : Los sistemas robustos suelen partir de la premisa de que no existen vulnerabilidades. Abordar estos sistemas con creatividad permite al evaluador identificar debilidades que de otro modo podrían pasar desapercibidas. Este enfoque puede implicar vincular dos vulnerabilidades para lograr un mayor impacto.

Una mentalidad inadecuada al realizar pruebas de penetración puede reducir la calidad de la evaluación y dar lugar a hallazgos erróneos o incompletos. Los siguientes ejemplos destacan características que podrían resultar en pruebas poco fiables:

  • Precipitarse a explotar una vulnerabilidad: Atacar un sistema sin comprender su funcionamiento suele conllevar el descubrimiento de debilidades que pasan desapercibidas. Además, este enfoque puede aumentar el riesgo de interrumpir el funcionamiento del sistema, lo que podría limitar las pruebas.
  • Ignorar el contexto: Centrarse únicamente en el éxito técnico sin tener en cuenta el impacto empresarial podría dar lugar a conclusiones que carecen de relevancia en el mundo real.
  • Dependencia excesiva de las herramientas: Depender demasiado de las herramientas automatizadas sin un análisis adecuado puede producir falsos positivos o pasar por alto problemas basados ​​en la lógica que requieren pruebas manuales.
  • Hacer suposiciones: Suponer cómo funciona un sistema o una funcionalidad sin verificarlo puede hacer que los evaluadores pasen por alto comportamientos importantes.
  • Visión de túnel: Es fácil obsesionarse con una sola funcionalidad, sobre todo si el evaluador cree que le permitirá descubrir una vulnerabilidad crítica. Este comportamiento suele conllevar una pérdida de tiempo, lo que puede reducir la cobertura y dificultar la exploración de otras áreas que podrían contener debilidades más importantes.
  • Seguir ciegamente una lista de verificación : Si bien contar con una lista de verificación exhaustiva es útil para garantizar una cobertura completa, depender demasiado de ella podría reducir la capacidad del evaluador para pensar de forma creativa y llevar a perder oportunidades para obtener hallazgos más significativos. Además, podría generar la suposición de que las pruebas terminan una vez completada la lista de verificación.

La tabla que aparece a continuación resume el contraste entre las mentalidades eficaces e ineficaces durante una prueba de penetración.

Mentalidad efectivaMentalidad ineficaz
Comprenda el sistema: estudie cómo funciona el objetivo antes de realizar las pruebas.Precipitarse a la explotación: Atacar sin comprender el sistema.
Atención al detalle: Observa las sutiles diferencias de comportamiento.Ignorar el contexto: Informar hallazgos sin relevancia para el negocio.
Curiosidad constante: pregúntate «¿y si…?» para descubrir nuevas oportunidades.Dependencia excesiva de las herramientas: pasar por alto fallos lógicos que requieren pruebas manuales.
Prioriza las áreas críticas: centra primero los esfuerzos en las funciones de mayor impacto.Hacer suposiciones: adivinar el comportamiento del sistema sin verificación.
Piensa en contexto: evalúa el riesgo según las consecuencias en el mundo real.Visión de túnel: Fijarse en un área a costa de la cobertura.
Pensamiento creativo: Encadenar vulnerabilidades para un mayor impactoSeguir una lista de verificación a ciegas: Pasar por alto problemas más profundos que no están en la lista.

Buenas prácticas comunes durante una prueba de penetración

Aplicar las mejores prácticas durante una prueba de penetración ayuda a mantener la coherencia y a mejorar la calidad general del proceso. Los siguientes ejemplos destacan hábitos comunes que fortalecen el proceso de prueba y el valor de los resultados finales:

Cómo mantener buenas notas

Tomar notas detalladas durante una prueba de penetración ayuda al evaluador a registrar su actividad, hallazgos y observaciones a medida que avanza la evaluación. Unas buenas notas facilitan la reproducción de problemas posteriormente, si fuera necesario, y garantizan que no se olvide nada importante.

Por ejemplo, si se descubre una vulnerabilidad al principio de la evaluación, contar con notas detalladas permite al evaluador revisarla más adelante sin tener que repetir todo el proceso.

Recopilación de pruebas

Al igual que es importante tomar buenas notas, recopilar evidencia, como capturas de pantalla, resultados de herramientas o registros, respalda la validez de los hallazgos y proporciona una prueba clara del impacto. Recopilar evidencia durante las pruebas ayuda a ahorrar tiempo al evitar la reproducción innecesaria de problemas durante la elaboración de informes, lo cual podría llevar bastante tiempo.

Gestionar el tiempo

Las pruebas de penetración se realizan dentro de plazos fijos. Una gestión eficaz del tiempo permite al evaluador equilibrar el esfuerzo en diferentes áreas y garantizar que se dedique el tiempo suficiente a las funciones críticas y a la elaboración de informes. En lugar de invertir horas en una función de bajo impacto, es preferible priorizar las funcionalidades de autenticación o control de acceso, donde los fallos de seguridad tendrían un mayor impacto.

Además, trabajar en el informe a medida que se avanza es un buen hábito que ayuda significativamente a gestionar el tiempo de forma eficaz. A menudo, la elaboración del informe se incluye en el cronograma, y ​​asegurarse de que se realice dentro de ese plazo es crucial para evitar el agotamiento y garantizar que los entregables se presenten a tiempo. Un ejemplo de cómo resulta útil informar a medida que se avanza es cuando se descubre un riesgo crítico hacia el final de un proyecto. Documentar los nuevos hallazgos junto con los ya existentes y recopilar evidencia puede llevar mucho tiempo. Esto podría generar una presión innecesaria, especialmente cuando el proyecto está a punto de concluir.

Comunicación proactiva

Mantener una comunicación proactiva durante una prueba de penetración ayuda a que el proyecto avance correctamente, proporcionando actualizaciones periódicas sobre el progreso y detectando los obstáculos con antelación. Comunicar las dificultades permite abordar los problemas lo antes posible. Si bien ningún proyecto es perfecto, la comunicación proactiva garantiza que se puedan redirigir los esfuerzos cuando sea necesario, brindar apoyo y reducir el impacto general en la cobertura.

Mantenerse profesional

Un comportamiento profesional a lo largo de todo el ciclo de vida de las pruebas de penetración genera confianza entre el evaluador y la organización que se está analizando. Respetar los límites del alcance, manejar los datos confidenciales de forma responsable y realizar las pruebas de manera controlada son algunos de los hábitos esenciales para mantener el profesionalismo.

El profesionalismo también se aplica a la hora de comunicar un hallazgo a las partes interesadas. Explicar el impacto empresarial del hallazgo, en lugar de limitarse a los detalles técnicos, ayuda a las partes interesadas a comprender su importancia. Además, refuerza la credibilidad y la fiabilidad del evaluador.

Responda las siguientes preguntas

¿Qué característica incluye atacar sin comprender cómo funciona una funcionalidad o un sistema?

Rushing to exploitation

¿Qué buenas prácticas comunes ayudan a reproducir los resultados posteriormente?

Maintaining Good Notes

¿Qué buenas prácticas comunes podrían ayudar a evitar que los obstáculos afecten la cobertura de una prueba de penetración?

Proactive Communication

Tarea 7 Ética, permiso y confianza

La ética, el consentimiento y la confianza son tres principios fundamentales para garantizar que las evaluaciones se realicen de forma profesional. Dado que las pruebas de penetración suelen requerir acceso a sistemas y datos confidenciales, la aplicación de estos principios es esencial para proteger los activos de la organización y minimizar los riesgos durante la evaluación. Seguir estos principios asegura que las actividades estén alineadas con los objetivos de la organización.

 

Ética

La ética en las pruebas de penetración se demuestra evaluando de forma responsable sistemas que pueden contener datos confidenciales o funcionalidades críticas. Un comportamiento ético ayuda al evaluador a tomar decisiones responsables durante la evaluación, garantizando que sus acciones sean intencionadas y justificadas. Algunos ejemplos de cómo se aplica el comportamiento ético en la práctica durante una prueba de penetración son:

  • Respetar el alcance definido y evitar actividades fuera de los límites autorizados.
  • Evitar acciones que puedan interrumpir los sistemas y servicios.
  • Manejar los datos sensibles de manera responsable y acceder únicamente a los datos necesarios para demostrar el impacto.
  • Detener e informar sobre accesos inesperados a sistemas altamente sensibles o fuera del alcance previsto.
  • Ocultar datos confidenciales en los informes para evitar su divulgación no deseada.

Permiso

La autorización para realizar pruebas de penetración se establece mediante una autorización formal y un alcance claramente definido antes de ejecutar el proyecto. Obtener la autorización adecuada garantiza que todas las actividades estén aprobadas por la organización evaluada y se ajusten a sus expectativas y objetivos. Los siguientes ejemplos ilustran cómo se respeta la autorización en la práctica durante una prueba de penetración:

  • Obtener autorización por escrito antes de iniciar cualquier actividad de prueba.
  • Definir un alcance claro y adherirse al alcance de las pruebas acordado.
  • Confirmar los periodos de prueba y los métodos aprobados antes de llevar a cabo acciones potencialmente disruptivas.
  • Buscar aclaraciones cuando existe incertidumbre sobre si un sistema o una acción está dentro del alcance.
  • Pausar y notificar a la organización si las actividades pueden exceder los límites autorizados.

Confianza

Las organizaciones pueden mostrarse cautelosas al principio al permitir que evaluadores externos analicen sus sistemas. Sin embargo, muchas organizaciones confían en evaluaciones independientes realizadas por terceros para evaluar y mejorar adecuadamente su nivel de seguridad. Por lo tanto, generar confianza desde el principio es fundamental. Los siguientes ejemplos ilustran cómo se puede construir y mantener la confianza durante una prueba de penetración:

  • Proporcionar actualizaciones periódicas sobre el estado de las pruebas para asegurar a las partes interesadas que están progresando según lo previsto.
  • Ser transparente sobre las limitaciones, los obstáculos y las incertidumbres durante las pruebas para recibir la asistencia adecuada.
  • Informar los resultados de forma precisa y demostrar claramente el impacto en el negocio.
  • Proporcionar recomendaciones prácticas que ayuden a eliminar o mitigar los riesgos.
  • Abordar las inquietudes organizativas con prontitud y adaptar el estilo de comunicación a las partes interesadas, tanto técnicas como no técnicas.

La ética, el consentimiento y la confianza son principios fundamentales que permiten que las pruebas de penetración se consoliden como una práctica de seguridad profesional. Estos principios garantizan que las pruebas se realicen de forma profesional y exhaustiva, protegiendo tanto al evaluador como a los sistemas analizados. Al aplicar estos principios de manera consistente durante todo el proceso, los profesionales de las pruebas de penetración contribuyen a preservar la credibilidad de esta práctica como un método de seguridad confiable y profesional.

Responda las siguientes preguntas

¿Qué define los límites durante una prueba de penetración?

scope

¿Qué tipo de impacto deberían demostrar claramente los resultados?

 business impact

¿Qué tipo de datos deben eliminarse de los informes para evitar su divulgación involuntaria?

sensitive data

Tarea 8 Resumen de conocimientos

Tema o TareaConcepto ClaveDescripción de ContenidoMejores Prácticas o PrincipiosPreguntas de Evaluación
Tarea 1 IntroducciónFundamentos de las pruebas de penetraciónPresenta los conceptos fundamentales que todo especialista en pruebas de penetración debe conocer, incluyendo las diferencias con el hacking malicioso, áreas clave de evaluación, la relación entre vulnerabilidad, amenaza y riesgo, causas de vulnerabilidades, la mentalidad del pentester y los principios éticos.Saber comunicar eficazmente los riesgos a las partes interesadas y comprender los fundamentos para obtener resultados significativos.No figura en la fuente
Tarea 2 Pruebas de penetración frente a piratería informática maliciosaPruebas de penetración vs. Hacking maliciosoAnaliza qué son las pruebas de penetración como evaluaciones autorizadas de seguridad y establece la diferenciación con el hacking malicioso según cuatro factores clave: Autorización (consentimiento por escrito vs. sin consentimiento), Alcance (definido y limitado vs. sin restricciones), Cobertura (amplia evaluación vs. camino más rápido/beneficio económico) y Responsabilidad (profesionalismo/asunción de impacto vs. irresponsabilidad por daños).Operar siempre dentro de los límites acordados, con autorización explícita por escrito y asumiendo la responsabilidad de las acciones realizadas.¿Cuál es el término abreviado común para las pruebas de penetración? | ¿Qué actor busca una amplia cobertura y evalúa múltiples áreas de un sistema? | ¿Qué actor se centra en el camino más rápido hacia el éxito?
Tarea 3 Áreas clave para las pruebas de penetraciónÁreas de evaluación en Aplicaciones Web y RedesDetalla las áreas evaluadas en pruebas de aplicaciones web (autenticación, autorización, gestión de sesiones, validación de entrada/salida y configuración de seguridad) y en pruebas de redes (mecanismos de autenticación, autorización y controles de acceso, segmentación de red y relaciones de confianza, y gestión de configuración/parches), abarcando tanto perspectivas externas como internas.Identificar adecuadamente la superficie de ataque para encontrar todos los puntos de entrada y definir con precisión el alcance antes de la ejecución.¿Qué tipo de prueba de penetración de red se centra en la infraestructura conectada a Internet desde la perspectiva de un usuario no autorizado? | Durante las pruebas, descubriste que las cookies de sesión siguen siendo válidas después de que un usuario cierra sesión en la aplicación. ¿A qué área de pruebas corresponde este problema?
Tarea 4 Vulnerabilidad, amenaza y riesgoGestión de riesgos y la ecuación Vulnerabilidad x Amenaza = RiesgoDefine vulnerabilidad (debilidad técnica o de entorno), amenaza (agente o evento que explota la debilidad) y riesgo (daño potencial evaluado mediante la fórmula $\text{Vulnerabilidad} \times \text{Amenaza} = \text{Riesgo}$). Describe las 4 etapas del ciclo de gestión de riesgos (Identificación, Análisis, Mitigación, Supervisión) y las opciones de aceptar o transferir el riesgo.Comprender la relación entre conceptos para comunicar claramente los hallazgos; aplicar mitigaciones o evaluar la aceptación/transferencia del riesgo según el impacto y costo.Una organización solucionó un problema de alta gravedad que usted reportó. ¿En qué etapa del ciclo de gestión de riesgos se ubica esta actividad? | ¿Una vulnerabilidad de inyección SQL representaría un mayor riesgo en una aplicación orientada al exterior o en una aplicación orientada al interior?
Tarea 5 ¿Por qué existen las vulnerabilidades?Causas comunes de vulnerabilidadesExplica las razones de origen de las vulnerabilidades: suposiciones humanas (asumir uso previsto), errores de software (fallos lógicos y falta de parametrización/validación), complejidad del sistema (múltiples componentes e integraciones), personalización excesiva (lógica propia difícil de mantener) y fallos técnicos o de diseño (falta de seguridad desde el diseño original).Integrar la seguridad desde la fase de diseño, evitar suposiciones sobre el comportamiento del usuario y usar marcos estándar en lugar de lógica personalizada difícil de mantener.Un desarrollador implementó la función «Subir currículum» en un portal de empleo sin establecer medidas de seguridad. ¿Cuál es la razón que podría causar una vulnerabilidad de carga de archivos sin restricciones?
Tarea 6 La mentalidad del pentesterMentalidad y mejores prácticas de trabajoContrasta la mentalidad eficaz (comprender el sistema, atención al detalle, curiosidad constante, priorizar áreas críticas, pensar en contexto, pensamiento creativo) frente a la ineficaz (precipitarse a explotar, ignorar el contexto, dependencia excesiva de herramientas, hacer suposiciones, visión de túnel, seguir listas a ciegas). Describe 5 mejores prácticas: tomar buenas notas, recopilar pruebas, gestionar el tiempo, comunicación proactiva y mantenerse profesional.Tomar notas detalladas, recopilar evidencias (capturas/registros), priorizar funciones críticas, redactar informes a medida que se avanza, comunicarse proactivamente ante obstáculos y explicar el impacto empresarial.¿Qué característica incluye atacar sin comprender cómo funciona una funcionalidad o un sistema? | ¿Qué buenas prácticas comunes ayudan a reproducir los resultados posteriormente? | ¿Qué buenas prácticas comunes podrían ayudar a evitar que los obstáculos afecten la cobertura de una prueba de penetración?
Tarea 7 Ética, permiso y confianzaPrincipios profesionales: Ética, Permiso y ConfianzaAborda los principios rectores de la disciplina: Ética (evaluación responsable, no interrumpir sistemas, ocultar datos sensibles en informes), Permiso/Autorización (autorización por escrito, límites de alcance claros, confirmar periodos/métodos) y Confianza (transparencia sobre obstáculos, actualizaciones periódicas, recomendaciones prácticas e informe claro del impacto empresarial).Obtener siempre consentimiento por escrito, adherirse estrictamente al alcance acordado, ocultar información confidencial en los entregables y construir confianza mediante la transparencia y la comunicación oportuna.¿Qué define los límites durante una prueba de penetración? | ¿Qué tipo de impacto deberían demostrar claramente los resultados? | ¿Qué tipo de datos deben eliminarse de los informes para evitar su divulgación involuntaria?
Tarea 8 Resumen de conocimientosSíntesis y evaluación práctica finalResume las pruebas de penetración como una disciplina estructurada basada en comprender el contexto, evaluar el riesgo y aplicar una conducta ética/profesional. Incluye una evaluación práctica interactiva para tomar decisiones orientadas a mantener la profesionalidad.Fundamentar las técnicas de ataque en sólidos principios éticos, pensamiento crítico y análisis del impacto en el negocio.Completa la tarea y entrega la bandera.

En esta sala, hemos explorado las pruebas de penetración como una disciplina profesional que se centra en comprender los sistemas, evaluar el riesgo y desarrollar un pensamiento crítico, en lugar de simplemente explotar vulnerabilidades. Para obtener resultados significativos, las pruebas eficaces requieren el contexto del sistema que se está probando. Las debilidades descubiertas solo adquieren relevancia cuando se demuestra claramente su impacto en el negocio.

También hemos abordado los hábitos que contribuyen a una evaluación eficaz, así como las conductas que pueden reducir su calidad. Con la mentalidad adecuada, un comportamiento ético y una conducta profesional, las colaboraciones pueden generar resultados valiosos y fomentar la confianza entre los evaluadores y las organizaciones.

Aplica los conocimientos adquiridos en esta sala a medida que avances en tu camino para convertirte en un probador de penetración responsable. Las técnicas  que aprenderás a continuación serán mucho más efectivas si se basan en los principios y enfoques presentados aquí.

Evaluación práctica

Haz clic en el botón «Ver sitio» a continuación para comenzar una actividad interactiva. Esta actividad se ha preparado para que compruebes tu comprensión de los temas de esta sala. Tu tarea consiste en ayudar a un evaluador a determinar la mejor decisión para mantener la profesionalidad durante una evaluación. Al finalizar la tarea, pega la bandera que se muestra como respuesta a la pregunta que aparece a continuación.

Responda las siguientes preguntas

Completa la tarea y entrega la bandera.

THM{L3t$_d1v3_1nt0_Pen7es71ng!}

Sigan entrenando, Hacketones, Nos vemos en el próximo laboratorio!!!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *