Pruebas de penetración

¿Qué es el pentesting?

Pentesting, también conocida como prueba de penetración, es una evaluación de seguridad, un análisis y una progresión de ataques simulados a una aplicación (web, móvil o API) o red para verificar su postura de seguridad. El objetivo es penetrar las defensas de seguridad de la aplicación o la red buscando vulnerabilidades. Suelen ser debilidades o fallos que un atacante podría aprovechar para afectar la confidencialidad, la integridad o la disponibilidad. Este objetivo es el mismo ya sea que se realice pentesting de aplicaciones o pentesting de red. El resultado de un pentest es una lista de vulnerabilidades, los riesgos que representan para la aplicación o la red y un informe final con un resumen ejecutivo de las pruebas junto con información sobre su metodología y recomendaciones para su solución. Las vulnerabilidades encontradas durante una prueba de penetración se pueden utilizar para ajustar sus políticas de seguridad, parchear sus aplicaciones o redes, identificar debilidades comunes entre aplicaciones y, en general, fortalecer toda su postura de seguridad.

¿Qué es el pentesting manual?

Las pruebas de penetración manuales son un enfoque de las pruebas de seguridad que combina la experiencia humana con el software y las herramientas profesionales de pruebas de penetración, como el análisis dinámico automatizado y estático binario automatizado. El software de pentesting es excelente para descubrir problemas con clases de vulnerabilidad estándar, pero no puede detectar ciertos defectos de diseño.

Se requiere una prueba manual realizada por un pentester capacitado para brindar una cobertura completa, incluido el diseño, la lógica empresarial y los riesgos de fallas compuestas que solo pueden detectarse mediante pruebas manuales (humanas).

Nuestro enfoque

Fase 1. Preparación

El primer paso en el proceso de Pentesting como servicio es preparar a todas las partes involucradas en el compromiso. Por parte del Cliente, esto implica determinar y definir el alcance de la prueba y crear cuentas en la plataforma de prueba de penetración. El equipo de SecOps asigna un líder central y expertos en el dominio con habilidades que coinciden con la pila tecnológica del cliente. También se crea un canal Slack para simplificar la comunicación bajo demanda entre el Cliente y el Equipo Pentest.

Fase 2. Inicio

El segundo paso es iniciar el pentest. Por lo general, esto implicará una llamada telefónica de 30 minutos con el cliente y los equipos de Pentest. El objetivo principal de la convocatoria es ofrecer una presentación personal, alinearse con el cronograma y finalizar el alcance de la prueba.

 Fase 3. Pruebas

El tercer paso es donde se realizará el pentesting. Los pasos 1 y 2 son necesarios para establecer un alcance claro, identificar el entorno de destino y configurar las credenciales para la prueba. Ahora es el momento de que los expertos analicen el objetivo en busca de vulnerabilidades y fallos de seguridad que podrían explotarse si no se mitigan adecuadamente. Mientras el equipo Pentest realiza las pruebas, el líder principal garantiza una cobertura profunda y se comunica con el cliente según sea necesario a través de la plataforma y el canal Slack. Aquí es también donde entra en juego el verdadero poder creativo de los Core Domain Experts.

Fase 4. Informes

El cuarto paso es la fase de presentación de informes, que es un proceso interactivo y continuo. Los hallazgos individuales se publican en la plataforma a medida que se descubren y, al final de una prueba, el líder principal revisa todos los hallazgos y produce un informe resumido final. Una vez que el informe está completo, se envía al cliente.

El informe no es estático; es un documento vivo que se actualiza a medida que se realizan cambios (consulte Nuevas pruebas en la Fase 5).

 

Fase 5. Nueva prueba

Es importante identificar vulnerabilidades en sus aplicaciones, pero lo más importante es solucionar los problemas encontrados para mejorar la seguridad y la calidad del código. Una vez que el Cliente sea consciente de los problemas de seguridad identificados durante el pentest, la solución de cada problema se realizará en el transcurso de las próximas semanas y meses. Cuando el Cliente marca un hallazgo como "Listo para volver a probar" en la plataforma, el líder principal verifica la solución y se actualiza el informe final.

Fase 6. Retroalimentación

Una vez que se completan las pruebas, se envía el informe al Cliente y se está trabajando en la solución, un Equipo de Éxito del Cliente se comunica con el Cliente para solicitar comentarios. Inicialmente, los clientes brindan comentarios a través de una encuesta de cinco preguntas que les permite calificar el proceso general, los hallazgos y el informe completo. Durante una llamada de comentarios programada, los Clientes profundizan en las respuestas de su encuesta según sea necesario y se alinean con el Equipo de Éxito del Cliente de Cobalt en los elementos de acción y las expectativas de cara al futuro. Estos comentarios ayudan al equipo de Cobalt a continuar mejorando el proceso para las próximas pruebas y a dar forma a la hoja de ruta del producto de la plataforma en el futuro.

Pentesting como servicio

Sin aplicar un enfoque de ciclo de vida a un programa Pentest, una organización está condenada a tratar la seguridad como un proyecto puntual en lugar de una función continua. Por su naturaleza, un proyecto tiene una fecha de inicio y de finalización. Cuando el proyecto está completo, todos pasan al siguiente. Es importante tratar un programa Pentest como un proceso continuo. El paso 6, la fase de retroalimentación, siempre debe conducir a la preparación para el próximo pentest, ya sea que se realice la semana, mes, trimestre o año siguiente. Brandvakt junto con Cobalt garantizarán que se realicen los preparativos adecuados para la iteración del ciclo.

Panorama

¿Qué es un pentest?
Las pruebas de penetración, también conocidas como pentesting, pentesting de seguridad y pruebas de seguridad, son una forma de piratería ética. Describe el lanzamiento intencional de ciberataques simulados por parte de evaluadores de penetración de “sombrero blanco” que utilizan estrategias y herramientas diseñadas para acceder o explotar sistemas informáticos, redes, sitios web y aplicaciones. Aunque el objetivo principal de las pruebas de penetración es identificar problemas explotables para que se puedan implementar controles de seguridad efectivos, los profesionales de la seguridad también pueden utilizar técnicas de pruebas de penetración, junto con herramientas de pruebas especializadas, para probar la solidez de las políticas de seguridad de una organización, su cumplimiento normativo, la conciencia de seguridad de sus empleados y la capacidad de la organización para identificar y responder a problemas e incidentes de seguridad, como el acceso no autorizado, a medida que ocurren.

Como un ciberataque simulado, las técnicas de piratería ética ayudan a los profesionales de seguridad a evaluar la eficacia de las medidas de seguridad de la información dentro de sus organizaciones. El pentest intenta perforar la armadura de las defensas cibernéticas de una organización, buscando vulnerabilidades explotables en redes, aplicaciones web y seguridad de los usuarios. El objetivo es encontrar debilidades en los sistemas antes de que lo hagan los atacantes.

¿Cuándo necesitas Pentests?

Los marcos de cumplimiento son los desencadenantes más comunes de un pentest de terceros. Casi todas las industrias tienen uno. Por ejemplo, considere cómo el comercio electrónico gira en torno a PCI DSS y los proveedores de SaaS demuestran una buena seguridad con informes SOC 2 y certificaciones ISO. Existen muchos otros marcos y el pentesting es parte de la mayoría de ellos. PCI DSS exige un pentest al menos una vez al año, mientras que SOC 2 e ISO 27001 lo incluyen como un componente de un requisito más amplio, generalmente evaluaciones de seguridad periódicas.

Ya sea que adquiera o adquiera otra empresa, descubrirá que las evaluaciones de seguridad se han convertido en una parte integral del proceso de diligencia debida. El 100% de los ejecutivos y asesores en una encuesta de 2019 (ISC)2 dijeron que las auditorías de seguridad se han convertido en una práctica estándar en las fusiones y adquisiciones. Los pentests son un componente común de estas auditorías, tanto como una instantánea de un momento dado como parte de un programa de pruebas continuo.

Si su auditor no solicita un pentest, es probable que sus clientes lo hagan. Los servicios digitales han creado una red compleja en la que una infracción exitosa puede afectar a varias empresas conectadas al objetivo, como lo demuestran los incidentes de FireEye y SolarWinds a finales de 2020. Como resultado, las empresas están cada vez más preocupadas por el compromiso de sus proveedores con la seguridad y antes de que firman, solicitan documentos como un informe SOC 2 o un informe pentest emitido en los últimos 6 meses.

Claramente, la presión sobre la ciberseguridad está presente. Para mitigar el riesgo y madurar sus programas, los equipos están diversificando cada vez más sus enfoques. Un ejemplo es la combinación de herramientas de seguridad automatizadas y pentests manuales. Cuando se configuran correctamente, los escáneres pueden capturar firmas de malware, errores de codificación y patrones de comportamiento sospechosos. Los pentests pueden actuar como una capa adicional de defensa, validando la precisión de estas herramientas y buscando fallas más complejas que requieren pensamiento creativo: fallas en la lógica de negocios, inconsistencias en las autorizaciones, exploits encadenados y condiciones de carrera.

Cómo funciona

Brandvakt offers Pentesting-as-a-Service together with Cobalt. Our approach is an agile approach with a short initiation time, usually 24-48 hours. Once the scope has been defined, the penetration test occurs over a set of two weeks. In contrast to traditional penetration testing, you do not have to wait weeks for the report but can rather follow along in a dashboard as the penetration testing occurs and as vulnerabilities are unveiled. Along with the discoveries, recommendations on how to remediate the problems are provided. 

Our penetration testing is an agile approach following the following steps Plan -> Test -> Remediate -> Report -> Analyze -> Discover.

¿Qué podemos probar?

Pentest de aplicaciones web

Internet es un aspecto esencial en muchas tareas del día a día. Millones de personas utilizan sitios web y aplicaciones para comprar, realizar operaciones bancarias y navegar de forma segura. A medida que las aplicaciones web se han vuelto cada vez más populares, están bajo constante amenaza de piratas informáticos, virus y terceros malintencionados.

Como muchas aplicaciones web almacenan o envían datos confidenciales, las aplicaciones deben ser seguras en todo momento, especialmente aquellas utilizadas por el público.

El pentesting de aplicaciones web funciona como una medida de control preventiva, permitiéndole analizar cada aspecto de la seguridad de su aplicación web.

Los expertos siguen una aplicación web con las mejores prácticas de pentesting y con los objetivos de:

  • Probar la eficacia de las políticas de seguridad existentes
  • Identificar vulnerabilidades desconocidas
  • Determinar las zonas más vulnerables a un ataque.
  • Pruebe todos los componentes de la aplicación expuestos públicamente (enrutadores, firewalls y DNS)
  • Encuentre cualquier laguna jurídica que pueda estar expuesta al robo de datos
Revisión de configuración de la nube

La diferencia principal y fundamental en las pruebas de penetración de la nube es que su organización no es propietaria del hardware subyacente en el que se ejecutan sus sistemas/aplicaciones/servicios. Por lo tanto, debe asegurarse de tener permiso antes de probar su infraestructura de nube o hacer que un tercero la pruebe. En algunos casos, esto es realmente simple, ya que muchos proveedores de hosting ya no requieren permiso para realizar pruebas de penetración a nivel de red de sus hosts públicos (por ejemplo, Azure, Digital Ocean, Google), siempre y cuando las pruebas no incluyan cualquier aspecto de denegación de servicio (DoS). 

Pentest asistido por código

Los pentests suelen realizarse desde una perspectiva de “caja negra” o “conocimiento cero”; Lo que significa que los expertos en seguridad tienen un conocimiento previo limitado o nulo sobre los detalles de implementación de la aplicación objetivo dentro del alcance. Con las pruebas de penetración de caja gris asistidas por código, nuestros pentesters tienen acceso al código fuente de la aplicación, lo que permite de manera efectiva que el equipo use el código junto con las actividades de prueba como un medio para obtener una comprensión profunda de la aplicación de destino y mejorar la precisión. de los hallazgos descubiertos. Sin embargo, nuestro pentest asistido por código no es una revisión de código, ya que solo se utiliza para analizar vectores de ataque.

No dude en comunicarse con nuestro directorio para que podamos analizar con más profundidad las pruebas de penetración como servicio y cómo funciona la plataforma Cobalt.

Tipos de pruebas de software

Black Box: No se proporciona acceso previo durante una prueba de penetración de red externa a menos que se indique explícitamente en el alcance.

White Box: El acceso específico se otorga durante una prueba de penetración de la red externa.

Gray Box: No se otorga acceso para comenzar, pero se otorga cierto acceso después de realizar ciertas pruebas.

Además, estos detalles se pueden incluir en el alcance del pentest deseado con pruebas de caja gris y caja blanca:

  • Diagramas de red
  • Diagramas de infraestructura
  • Cuentas (incluso cuentas temporales para pentests)
  • Informacion del usuario

Cualquier información proporcionada sobre el sistema que se está probando es útil para los pentesters. Cuantas más oportunidades y capacidades haya para descubrir el software que está ejecutando el servidor web de alguien, más efectivo será encontrar exploits específicamente relacionados con esa versión del software en lugar de probar una variedad de exploits para ver qué funciona.

Podemos encontrarnos con los clientes donde ellos quieren que estemos. Sin embargo, si los clientes buscan el máximo impacto y/o una prueba de caja blanca, esto es lo que recomendamos al preparar el alcance de la prueba:

  1. Determinar los activos a probar, como qué partes de la red externa.
  2. Determinar las direcciones IP que van con esos activos.
  3. Presentar esas direcciones IP como alcance

Es importante asegurarse de que las direcciones IP proporcionadas realmente pertenezcan a la empresa y también alertar a cualquier proveedor externo relacionado con esos activos. Para aumentar el valor de las evaluaciones externas, monitorear las IP públicas desde las que a veces se realizan ataques puede ser útil para identificar y responder mejor a futuros ataques.

Cuando se trata de la lista típica de cosas que normalmente verificamos durante un pentest de red externa, siguen marcos y mejores prácticas como OWASP, ASVS, or OSSTMM. Se realizan las actividades típicas de escaneo de puertos, seguidas de la búsqueda de servidores web. Determinar el software y la versión en uso para cada servicio también es útil para identificar configuraciones incorrectas o vulnerabilidades.

API Pentest

La falta de un protocolo claro hace que las evaluaciones de seguridad de las aplicaciones de las API de microservicios sean algo precarias, ya que las típicas herramientas de evaluación de seguridad web, las metodologías de evaluación de seguridad prescritas y la experiencia general en pruebas de penetración pueden no incluir conocimientos de cobertura o interacción para un microservicio en particular. Oferta de API o comportamiento operativo.

Las pruebas de penetración de API implican todos los procesos de comprobación de vulnerabilidades y creación de puntos finales sólidos en sus API. Una de las amenazas más comunes a las aplicaciones web es el abuso de API, que puede obstaculizar el buen funcionamiento de cualquier industria digital.

 

Las pruebas de penetración de API son muy similares a las pruebas de penetración de aplicaciones web, por lo que la metodología de pentesting de API se basa en la misma base: OWASP Top 10, OWASP ASVS y OWASP Testing Guide. Cobalt prueba API basadas en web, API REST y API móviles. Nuestros pentesters analizan la API de destino para determinar qué tipo de autenticación se utiliza, estudian las estructuras de la API, comprenden los métodos de solicitud, las respuestas, las funciones y explotan errores en una API de producción real o una API en un entorno de prueba.

Pentest de red externa

Es importante conocer las vulnerabilidades de su organización y cómo los atacantes podrían aprovecharlas. El pentesting de red externa es una forma de hacerlo, mediante la evaluación activa de la seguridad de la infraestructura perimetral de una organización a la que se puede acceder directamente desde Internet. Esto se hace para identificar áreas potenciales de oportunidad para que los atacantes obtengan información confidencial y comprometan la infraestructura crítica para el negocio.

Las redes externas incluyen el servidor, el inicio de sesión de VPN, un portal de correo web y cualquier portal al que se pueda acceder desde un navegador web. Durante una prueba de red externa, nuestros pentesters utilizan herramientas y vectores de ataque del mundo real para intentar comprometer sistemas externos y obtener acceso a información o sistemas confidenciales.

Pentest de aplicación móvil

Nuestros pentesters van más allá de simplemente buscar vulnerabilidades web y API comunes. Nuestros evaluadores examinan el riesgo de una aplicación móvil aprovechando OWASP Mobile Top 10 y otras metodologías para evaluar la seguridad.

La seguridad siempre ha sido una preocupación importante para las empresas y esta preocupación es aún mayor cuando se trata de aplicaciones móviles. Hoy en día, casi todas las marcas o productos líderes tienen una aplicación móvil para conectarse con sus clientes más fácilmente.

Más usuarios que nunca confían en las aplicaciones móviles para la mayoría de sus tareas digitales en lugar de las aplicaciones de escritorio tradicionales. Estas aplicaciones tienen acceso a grandes cantidades de datos de usuario, muchos de los cuales son datos confidenciales y deben protegerse del acceso no autorizado.

Desde la perspectiva de un pentester, existe una creciente necesidad de pentesters móviles capacitados. Las aplicaciones móviles son una importante superficie de ataque a cubrir y, aunque todas las plataformas móviles populares (iOS y Android) proporcionan su propio conjunto de controles de seguridad diseñados para ayudar a los desarrolladores a crear aplicaciones seguras, a menudo se deja que el desarrollador elija entre una variedad de opciones de seguridad. opciones. Si no se implementan correctamente o se dejan mal configurados, introducen lagunas de seguridad en una aplicación.