Nav
print $PAGE 2>/dev/null -rwxr-xr-- 1 ["uqbarun"] uqbar Nov 13 24 "/cursos/pentesting/index"

Curso de pentesting

La tecnología de la información (TI) es esencial para las organizaciones, se enfoca en construir, administrar y respaldar la tecnología informática. Incluye subdisciplinas como ciberseguridad, desarrollo de software, administración de bases de datos y redes. Ser bueno en este campo requiere práctica y esfuerzo. La ciberseguridad es desafiante, ya que requiere conocimientos básicos de TI y una comprensión profunda de áreas como redes, administración de sistemas y bases de datos. No es necesario ser experto en todas las áreas, pero la experiencia facilita el trabajo como especialista en seguridad informática o probador de penetración. Un desarrollador web debe conocer lenguajes como HTML, JavaScript, CSS y programación en el servidor. Un solo error puede causar graves consecuencias. Como atacantes, debemos identificar y explotar estos errores.

Pentest o prubea de penetración

Las pruebas de penetración son ataques organizados, dirigidos y autorizados que se realizan para evaluar la vulnerabilidad de la infraestructura de TI de una empresa. Estos ataques utilizan métodos y técnicas similares a las que emplearían los atacantes reales. El objetivo de las pruebas de penetración es descubrir y identificar todas las vulnerabilidades en los sistemas evaluados y mejorar la seguridad de dichos sistemas.

La cantidad de datos críticos y confidenciales almacenados en los sistemas de TI de las empresas está en constante crecimiento, al igual que la dependencia de un funcionamiento ininterrumpido de dichos sistemas. Por lo tanto, los ataques contra las redes corporativas, la interrupción de la disponibilidad de los sistemas y otras formas de causar daño significativo a una empresa (como los ataques de ransomware) son cada vez más frecuentes. La información importante obtenida a través de brechas de seguridad y ciberataques puede ser vendida a competidores, filtrada en foros públicos o utilizada con otros fines maliciosos. Las fallas en los sistemas se desencadenan deliberadamente porque cada vez es más difícil contrarrestarlas.

Una prueba de penetración se lleva a cabo aplicando diversas técnicas y análisis para evaluar el impacto que una vulnerabilidad o una cadena de vulnerabilidades específicas puede tener en la confidencialidad, integridad y disponibilidad de los sistemas y datos de una organización.

Otras evaluaciones, como las evaluaciones de equipos rojos, pueden basarse en escenarios específicos y centrarse únicamente en las vulnerabilidades utilizadas para lograr un objetivo final determinado (como acceder a la bandeja de entrada de correo electrónico del CEO u obtener una bandera en un servidor crítico).

Gestión de riesgos

La gestión de riesgos es una parte fundamental para cualquier empresa. El objetivo principal de la gestión de riesgos de seguridad de TI es identificar, evaluar y mitigar los posibles riesgos que podrían dañar la confidencialidad, integridad y disponibilidad de los sistemas de información y datos de una organización, y reducir el riesgo global a un nivel aceptable. Esto incluye identificar amenazas potenciales, evaluar sus riesgos y tomar las medidas necesarias para reducirlos o eliminarlos. Esto se logra mediante la implementación de controles y políticas de seguridad adecuados, como el control de acceso, la encriptación y otras medidas de seguridad. Al gestionar adecuadamente los riesgos de seguridad de los sistemas de TI de una organización, es posible garantizar que los datos se mantengan seguros.

Sin embargo, no se pueden eliminar todos los riesgos. Siempre existe el riesgo inherente de una violación de seguridad, incluso cuando la organización ha tomado todas las medidas razonables para gestionar el riesgo. Por lo tanto, algunos riesgos permanecerán. El riesgo inherente es el nivel de riesgo presente incluso cuando se implementan los controles de seguridad adecuados. Las empresas pueden aceptar, transferir, evitar y mitigar riesgos de diversas formas. Por ejemplo, pueden adquirir seguros para cubrir ciertos riesgos, como desastres naturales o accidentes. Mediante un contrato, también pueden transferir sus riesgos a otra parte, como un proveedor de servicios externo. Además, pueden implementar medidas preventivas para reducir la probabilidad de que ocurran ciertos riesgos, y si ocurren, pueden establecer procesos para minimizar su impacto. Finalmente, pueden utilizar instrumentos financieros, como derivados, para reducir las consecuencias económicas de riesgos específicos. Todas estas estrategias ayudan a las empresas a gestionar eficazmente sus riesgos.

Durante una prueba de penetración, preparamos documentación detallada sobre los pasos realizados y los resultados obtenidos. Sin embargo, es responsabilidad del cliente o del operador de los sistemas en investigación corregir las vulnerabilidades encontradas. Nuestro papel es el de asesores de confianza para informar sobre las vulnerabilidades, proporcionar pasos detallados de reproducción y recomendar las medidas adecuadas para su mitigación, pero no intervenimos directamente aplicando parches o realizando cambios de código, entre otros. Es importante tener en cuenta que una prueba de penetración no es un monitoreo continuo de la infraestructura de TI o los sistemas, sino una instantánea momentánea del estado de seguridad. Esta aclaración debe reflejarse en nuestro informe de prueba de penetración.

Métodos de pentest

Método externo de pentest

La mayoría de las pruebas de penetración se realizan desde una perspectiva externa o como usuario anónimo en Internet. El objetivo es asegurar la protección de la red perimetral externa contra posibles ataques. Podemos realizar pruebas desde nuestro propio equipo o desde un servidor virtual. Algunos clientes desean un enfoque sigiloso, mientras que otros quieren probar las capacidades de detección de sus sistemas de seguridad. El objetivo es acceder a los hosts externos, obtener datos sensibles o ingresar a la red interna.

Método interno de pentest

A diferencia de la prueba externa, la prueba interna se realiza desde dentro de la red corporativa. Puede ser realizada después de una prueba externa exitosa o desde un escenario de brecha asumida. En ocasiones, se accede a sistemas aislados sin acceso a internet, lo cual requiere nuestra presencia física en las instalaciones del cliente.

Métodos de pentest

Pentest tipo Blackbox

Solo se proporciona la información esencial, como direcciones IP y dominios.

Pentest tipo Greybox

En este caso, se nos proporciona información adicional, como URL específicas, nombres de host, subredes y similares.

Pentest tipo Whitebox

Aquí se nos revela todo. Esto nos brinda una visión interna de toda la estructura, lo que nos permite preparar un ataque utilizando información interna. Se nos pueden proporcionar configuraciones detalladas, credenciales de administrador, código fuente de aplicaciones web, etc.

Pentest tipo Red-Teaming

Puede incluir pruebas físicas y de ingeniería social, entre otras cosas. Se puede combinar con cualquiera de los tipos anteriores.

Pentest tipo Purple-Teaming

Se puede combinar con cualquiera de los tipos anteriores. Sin embargo, se enfoca en trabajar en estrecha colaboración con los defensores.

Entornos de pentest

Los entornos de pentest son los diferentes ámbitos o áreas en los que se lleva a cabo una prueba de penetración. Cada entorno tiene sus propias características y enfoques específicos para evaluar la seguridad.

Red

Se evalúa la seguridad de la infraestructura de red, como routers, switches, firewalls y otros dispositivos de red, para identificar posibles vulnerabilidades y brechas de seguridad.

Aplicación web

Se analizan las aplicaciones web en busca de vulnerabilidades, como inyecciones SQL, ataques de cross-site scripting (XSS), problemas de autenticación, entre otros.

Móvil

Se examinan las aplicaciones móviles en busca de debilidades y vulnerabilidades específicas de las plataformas móviles, como problemas de cifrado, filtración de datos y fallos en la autenticación.

API

Se analizan las interfaces de programación de aplicaciones (API) para detectar vulnerabilidades y posibles puntos débiles que podrían permitir el acceso no autorizado a los sistemas y datos.

Thick Clients

Se evalúan las aplicaciones de escritorio (thick clients) para identificar vulnerabilidades en el software instalado en los sistemas locales.

IoT

Se analizan los dispositivos de Internet de las cosas (IoT) para evaluar su seguridad y buscar posibles vulnerabilidades que podrían ser explotadas.

Fuente

Se examina la seguridad de las plataformas y servicios en la nube, como Amazon Web Services (AWS), Microsoft Azure o Google Cloud Platform, para detectar posibles vulnerabilidades y configuraciones incorrectas.

Código fuente

Se realiza una revisión de seguridad del código fuente de una aplicación para identificar vulnerabilidades en el diseño, implementación y configuración de la aplicación.

Seguridad física

Se evalúa la seguridad física de las instalaciones de una organización, como sistemas de acceso, cámaras de seguridad y medidas de protección física.

Empleados

Se examina la seguridad en relación con el factor humano, como la concienciación sobre la seguridad, la capacitación de los empleados y la gestión de contraseñas.

Hosts

Se analizan los sistemas individuales (hosts) en busca de vulnerabilidades y configuraciones incorrectas que podrían permitir el acceso no autorizado.

Servidores

Se evalúa la seguridad de los servidores, tanto físicos como virtuales, para identificar posibles vulnerabilidades y configuraciones incorrectas.

Políticas de seguridad

Se revisan las políticas y procedimientos de seguridad de una organización para asegurarse de que cumplan con las mejores prácticas y estándares de seguridad.

Firewalls

Se evalúa la configuración y efectividad de los firewalls para proteger la red de posibles ataques y amenazas externas.

IDS/IPS

Se analizan los sistemas de detección de intrusiones (IDS) y prevención de intrusiones (IPS) para identificar posibles brechas en la seguridad de la red y posibles ataques en curso.

El proceso de Pentesting

  1. Pre-compromiso
  2. Recopilación de información
  3. Evaluación de vulnerabilidades
  4. Explotación
  5. Post-explotación
  6. Movimiento lateral
  7. Prueba de concepto
  8. Pos-crompromiso
graph LR;
PRC((Pre-compromiso))
IG((Recopilación de<br>información))
EV((Evaluación de<br>vulnerabilidades))
EX((Explotación))
PX((Post-explotación))
ML((Movimiento<br>lateral))
PF((Prueba de<br>concepto))
PSC((Pos-compromiso))
PRC-->IG
IG-->EV
EV-->IG
EX-->IG
PX-->IG
EX --> PX
PX --> EX
EV-->EX & PX
EV --> ML
ML --> EV
PX --> ML
EX --> ML
PX -.-> PF
EX -.-> PF
ML -.-> PF --> PSC

Pre-compromiso

La etapa de pre-compromiso es donde se documentan por escrito los compromisos principales, las tareas, el alcance, las limitaciones y los acuerdos relacionados. Durante esta etapa, se elaboran los documentos contractuales y se intercambia información esencial que es relevante tanto para los probadores de penetración como para el cliente, según el tipo de evaluación.

Information Gathering

La recopilación de información es una parte esencial de cualquier evaluación. Debido a que la información, el conocimiento obtenido de ella, las conclusiones que extraemos y los pasos que tomamos se basan en la información disponible. Esta información debe obtenerse de algún lugar, por lo que es fundamental saber cómo obtenerla y aprovecharla al máximo en función de nuestros objetivos de evaluación.

La información que recopilamos previamente influirá en los resultados de la etapa de Explotación. A partir de esto, podemos ver si hemos recopilado lo suficiente o si hemos profundizado lo suficiente. El tiempo, la paciencia y el compromiso personal desempeñan un papel importante en la recopilación de información. En este momento, muchos probadores de penetración tienden a pasar directamente a explotar una posible vulnerabilidad. Esto a menudo falla y puede provocar, entre otras cosas, una pérdida significativa de tiempo. Antes de intentar explotar cualquier cosa, debemos haber completado una exhaustiva recopilación de información, tomando notas detalladas en el camino, centrándonos en aspectos a tener en cuenta una vez que lleguemos a la etapa de explotación. La mayoría de las evaluaciones se basan en el tiempo, por lo que no queremos perder el tiempo saltando de un lado a otro, lo que podría hacer que pasemos por alto algo crítico. La organización y la paciencia son vitales mientras somos lo más exhaustivos posible.

Evaluación de vulnerabilidades

La etapa de evaluación de vulnerabilidades se divide en dos áreas. Por un lado, es un enfoque para buscar vulnerabilidades conocidas utilizando herramientas automatizadas. Por otro lado, se trata de analizar posibles vulnerabilidades a través de la información encontrada. Muchas empresas realizan auditorías regulares de evaluación de vulnerabilidades para verificar su infraestructura en busca de nuevas vulnerabilidades conocidas y compararlas con las últimas entradas en las bases de datos de estas herramientas.

El análisis consiste en pensar de forma creativa. Intentamos descubrir brechas y oportunidades para engañar a los sistemas y aplicaciones en nuestro beneficio y obtener acceso o privilegios no deseados. Esto requiere creatividad y un profundo entendimiento técnico. Debemos conectar los diversos puntos de información que obtenemos y comprender sus procesos.

Explotación

La explotación es el ataque realizado contra un sistema o aplicación basado en la vulnerabilidad potencial descubierta durante nuestra recopilación de información y enumeración. Utilizamos la información de la etapa de recopilación de información, la analizamos en la etapa de evaluación de vulnerabilidades y preparamos los posibles ataques. A menudo, muchas empresas y sistemas utilizan las mismas aplicaciones, pero toman decisiones diferentes en cuanto a su configuración. Esto se debe a que la misma aplicación a menudo se puede utilizar para diversos fines, y cada organización tendrá objetivos diferentes.

Esta etapa es tan completa que se ha dividido en dos áreas distintas. La primera categoría son los protocolos generales de red que se utilizan con frecuencia y están presentes en casi todas las redes. La explotación real de las vulnerabilidades potenciales y existentes se basa en la adaptabilidad y el conocimiento de los diferentes protocolos de red con los que estaremos tratando. Además, necesitamos poder crear una visión general de la red existente para comprender los propósitos de sus componentes individuales. En la mayoría de los casos, los servidores web y las aplicaciones contienen una gran cantidad de información que se puede utilizar en su contra. Como se mencionó anteriormente, dado que la web es un área técnica muy amplia por sí misma, se tratará por separado. También nos interesan los servicios expuestos de forma remota que se ejecutan en los hosts objetivo, ya que estos pueden tener configuraciones incorrectas o vulnerabilidades públicas conocidas que podemos aprovechar para obtener un acceso inicial. Por último, los usuarios existentes también desempeñan un papel importante en la red en general.

Post-Explotación

En la mayoría de los casos, cuando explotamos ciertos servicios con el objetivo de obtener acceso al sistema, generalmente no obtenemos los privilegios más altos posibles. Esto se debe a que los servicios suelen estar configurados de una manera “aislada” para detener a posibles atacantes, por lo que el siguiente paso en esta etapa es eludir estas restricciones. Sin embargo, no siempre es fácil escalar los privilegios. Después de adquirir un conocimiento profundo sobre cómo funcionan estos sistemas operativos, debemos adaptar nuestras técnicas al sistema operativo específico y estudiar cuidadosamente cómo funciona la escalada de privilegios en Linux y Windows.

Una vez que hemos obtenido acceso a un sistema, debemos poder dar pasos adicionales desde dentro del sistema. Durante una prueba de penetración, los clientes a menudo desean saber hasta dónde podría llegar un atacante en su red. Existen muchas versiones diferentes de sistemas operativos. Por ejemplo, podemos encontrarnos con Windows XP, Windows 7, 8, 10, 11, y Windows Server 2008, 2012, 2016 y 2019. También existen diferentes distribuciones para sistemas operativos basados en Linux, como Ubuntu, Debian, Parrot OS, Arch, Deepin, Redhat, Pop!_OS y muchas otras. No importa en qué sistema nos encontremos, debemos encontrar la forma de manejarnos en él y comprender los puntos débiles individuales que un sistema puede tener desde dentro.

Movimiento lateral

El movimiento lateral es uno de los componentes esenciales para desplazarse a través de una red corporativa. Podemos utilizarlo para superponernos con otros hosts internos y ampliar aún más nuestros privilegios dentro de la subred actual o en otra parte de la red. Sin embargo, al igual que el Pillaging, la etapa de Movimiento Lateral requiere acceso al menos a uno de los sistemas de la red corporativa. En la etapa de Explotación, los privilegios obtenidos no desempeñan un papel crítico en primera instancia, ya que también podemos movernos a través de la red sin derechos de administrador.

Prueba de concepto

La prueba de concepto (POC) es simplemente una prueba de que existe una vulnerabilidad encontrada. Tan pronto como los administradores reciban nuestro informe, intentarán confirmar las vulnerabilidades encontradas reproduciéndolas. Después de todo, ningún administrador cambiará procesos críticos para el negocio sin confirmar la existencia de una vulnerabilidad determinada. Una gran red puede tener muchos sistemas interdependientes y dependencias que deben verificarse después de realizar un cambio, lo que puede llevar mucho tiempo y dinero. Solo porque un pentester encontró una falla determinada, no significa que la organización pueda solucionarla fácilmente cambiando un solo sistema, ya que esto podría afectar negativamente el negocio. Los administradores deben probar cuidadosamente las correcciones para asegurarse de que ningún otro sistema se vea afectado negativamente cuando se introduce un cambio. Las POC se envían junto con la documentación como parte de una prueba de penetración de alta calidad, lo que permite a los administradores utilizarlas para confirmar los problemas por sí mismos.

Post-compromiso

La etapa de Post-compromiso también incluye limpiar los sistemas que hemos explotado para que ninguno de estos sistemas pueda ser explotado utilizando nuestras herramientas. Por ejemplo, dejar un shell enlazado en un servidor web que no requiere autenticación y es fácil de encontrar hará lo contrario de lo que estamos tratando de lograr. De esta manera, ponemos en peligro la red debido a nuestra negligencia. Por lo tanto, es esencial eliminar todo el contenido que hemos transferido a los sistemas durante nuestra prueba de penetración para que la red corporativa quede en el mismo estado que antes de nuestra prueba. También debemos anotar cualquier cambio en el sistema, intentos de explotación exitosos, credenciales capturadas y archivos cargados en los apéndices de nuestro informe para que nuestros clientes puedan verificar esto en relación con cualquier alerta que reciban y demostrar que fueron resultado de nuestras acciones de prueba y no de un atacante real en la red.

Además, debemos conciliar todas nuestras notas con la documentación que hemos escrito en el ínterin para asegurarnos de que no hemos omitido ningún paso y poder proporcionar un informe completo, bien formateado y ordenado a nuestros clientes.

Certificaciones

CompTIA PenTest+

392 USD, 1.632.413 COP (27/06/23)

https://www.comptia.org/certifications/pentest

Planificación y Definición del Alcance

Incluye técnicas actualizadas que enfatizan los conceptos de gobernanza, riesgo y cumplimiento, así como los requisitos de alcance organizativo/cliente, y demuestran una mentalidad de hacking ético.

Recopilación de Información y Escaneo de Vulnerabilidades

Incluye habilidades actualizadas para realizar escaneos de vulnerabilidades y reconocimiento pasivo/activo, gestión de vulnerabilidades, así como analizar los resultados del ejercicio de reconocimiento.

Ataques y Exploits

Incluye enfoques actualizados para superficies de ataque ampliadas, investigación de técnicas de ingeniería social, realización de ataques de red, ataques inalámbricos, ataques basados en aplicaciones y ataques a tecnologías en la nube, así como técnicas de post-explotación.

Informes y Comunicación

Se amplía para centrarse en la importancia de los informes y la comunicación en un entorno regulatorio más riguroso durante el proceso de prueba de penetración, mediante el análisis de los hallazgos y la recomendación de medidas de remedio adecuadas dentro de un informe.

Herramientas y Análisis de Código

Incluye conceptos actualizados para identificar scripts en diversas implementaciones de software, analizar un fragmento de código o script, y explicar casos de uso de varias herramientas utilizadas durante las fases de una prueba de penetración. No se requiere habilidades de programación o codificación.

¿Qué sigue?


OSINT << >> 0.1 glosario

> Exit code: 1