Por Sebastián Passaro.
¿Qué es el hacking ético?
El hacking ético es una práctica del mundo cibernético especializada en evaluar la seguridad de infraestructuras y aplicaciones desde una perspectiva autorizada y controlada. Dependiendo del profesional de seguridad al que se le consulte puede ser también llamado “penetration testing”, “pruebas de penetración” o “pentest”. En el contexto de este artículo se considerarán estos términos alternativos para otro tipo de análisis que difiere en la metodología de trabajo y alcance.
Si te interesa conocer más a fondo sobre estas pruebas, te invitamos a leer nuestro artículo Todo sobre las pruebas de penetración o pentesting, donde profundizamos en los beneficios, fases y cómo contribuyen a fortalecer la ciberseguridad.
A diferencia de los hackers maliciosos, los hackers éticos emplean sus habilidades para identificar y corregir vulnerabilidades en lugar de explotarlas con fines maliciosos.
¿De quién querría protegerme?
Si no se ha sufrido (o detectado) un ataque, es común creer que nadie estaría suficientemente interesado en mi organización o aplicación como para considerar atacarla. Sin embargo, existen diversos actores que tendrán en vista cualquier potencial objetivo aunque sea por medio de automatizaciones, por ejemplo, escaneando todo Internet.
Atacantes “oportunistas” serán quienes identifiquen al menos una vulnerabilidad en varios objetivos e intenten explotarla, por lo general masivamente. Si tienen éxito evalúan qué tanto profundizar en la ventaja o provecho que pueden obtener y los accesos disponibles. Una categoría similar pero comúnmente con menos conocimiento son los llamados “script kiddies”, quienes utilizan herramientas de análisis automático sin ser completamente conscientes del funcionamiento de esta y del daño que pueden causar, simplemente enfocados en obtener un resultado fácil.
Otro tipo de agente de amenaza es el hacker motivado, ya sea por contrato u otro tipo de motivación suficiente para seleccionar objetivos concretos. Estos individuos cuentan con conocimiento avanzado, tiempo y dedicación. Además, suelen seguir una metodología de análisis.
Luego existen ligas mayores en las que están involucrados hackers de organizaciones criminales y/o patrocinados por gobiernos, donde una aplicación u organización puede ser el objetivo final o simplemente un objetivo intermedio para ser utilizado como herramienta para un ataque mayor (como sucede con botnets).
Cualquiera de estos tipos de hacker, que pueden ser categorizados de otras maneras, serán potenciales atacantes para considerar.
Tipos de hacking ético
Una forma de clasificar los tipos de hacking ético es en base a las variantes de agentes de amenaza que sean considerados en un análisis previo, idealmente un modelado de amenazas propiamente dicho.
Si se toma la clasificación ya mencionada, un enfoque válido es centrarse en los accesos externos con análisis perimetrales a la organización o aplicación. Este enfoque suele ser de forma anónima, sin credenciales de acceso, y con nula información sobre el objetivo excepto un acceso (URL o dirección IP). En dicho contexto, se le denomina hacking ético de “caja negra” asociándolo al concepto de “opaco” por no conocer del funcionamiento interno.
Cuando el enfoque deja de ser exclusivamente accesos externos, se provee mínimamente acceso a la aplicación u organización. En al caso puntual de aplicaciones, se brindan credenciales de acceso con al menos un rol o perfil de usuario para explorar las funcionalidades e intentar abusar de controles de acceso a funciones o datos privilegiados, ya sea de usuarios con el mismo rol (escalada horizontal) o con un rol de mayores permisos (escalada vertical). Este enfoque de acceso y conocimiento parcial se denomina “caja gris”.
Por último, si tenemos acceso completo a documentación, credenciales y en el caso de aplicaciones al código fuente, se cuenta con conocimiento para llevar a cabo un análisis profundo denominado de “caja blanca”. Un análisis de este tipo permite al hacker ético encontrar vulnerabilidades cuyo control se basa en el desconocimiento (seguridad “por oscuridad”) o simplemente evaluar la seguridad en términos de un individuo interno a la organización o aplicación.
En trabajos de hacking ético el tiempo es un recurso escaso dado que se trata de un servicio contratado a terceros o dedicado internamente, pero con un alcance al fin. Es relevante contemplarlo siendo que análisis de caja blanca o gris permiten ahorrar tiempo de pruebas, dado que hay visibilidad inherente que permite descartar si un control es vulnerable.
Comparado con el análisis de caja negra, este último intentaría en general hacer verificaciones con un conjunto amplio de pruebas para lograr una detección o explotación. El conjunto de pruebas es reducible con experiencia y otras circunstancias asociadas a la naturaleza objetivo analizado.
Herramientas de hacking ético
El arsenal de un hacker ético es variado, dado que dependiendo de si el objetivo es una infraestructura o una aplicación, las herramientas son necesariamente diferentes. Existen frameworks como Metasploit que concentran módulos para detección y explotación de vulnerabilidades multi-propósito. Incluso hay distribuciones de Linux como Kali y Parrot OS que contienen herramientas para todo tipo de análisis de seguridad.
Analizando infraestructuras es común utilizar escáneres como Greenbone o Tenable/Nessus por nombrar algunos. Algunos hackers construyen su propia cadena de herramientas y automatizaciones con herramientas de código abierto para prescindir de productos comerciales. Nmap es otra herramienta popular para el escaneo de puertos y ejecución de scripts de validación o explotación, cuando se detecta una potencial vulnerabilidad. Si se obtiene acceso a la infraestructura dependerá de las tecnologías presentes qué otras herramientas apliquen.
Respecto al análisis de aplicaciones, algunas de las herramientas mencionadas aplican, pero la interacción humana directa con proxies de ataque es el enfoque habitual dado que es necesario analizar en profundidad los flujos de lógica de la aplicación. Un proxy de ataque es una aplicación que oficia de intermediario entre clientes (navegadores, aplicaciones móviles) y servidores, permitiendo la visualización y manipulación del tráfico en ambos sentidos. Ejemplos de estos productos son Zed Attack Proxy (ZAP, antes parte de la fundación OWASP) y Burp Suite.
La siguiente imagen muestra una vista de ejemplo de Burp Suite con un historial de las interacciones entre un navegador y una aplicación en forma de tabla. Con una fila seleccionada que representa una interacción pedido-respuesta (Request-Response) pueden visualizarse los mensajes en crudo:
Un hacker ético analiza todos los componentes que conforman esta interacción para identificar puntos de entrada a la aplicación e intentar abusar por el medio que crea conveniente.
Al igual que en análisis de infraestructura, en una aplicación con tecnología específica se utilizarán herramientas acordes. Por ejemplo, un sitio WordPress sería analizado con la herramienta WPScan.
Mejores prácticas del hacking ético
Para ambas partes en el acuerdo del análisis es recomendable y en algunos casos necesario cumplir con pautas o prácticas que garanticen un servicio de calidad. A continuación, se nombran algunas sin exhaustividad dado que cada realidad requiere elementos diferentes.
Previo al inicio del trabajo debe existir al menos un acuerdo de confidencialidad o no divulgación. Es recomendable tener un alcance bien definido, ya sea granular por aplicación, conjunto de funcionalidades, listado de nombres de dominio o direcciones IP, entre otros. Debe asegurarse que el cliente tiene poder de autorización para habilitar el análisis sobre el o los objetivos seleccionados.
Durante la ejecución es recomendable para el analista seguir una metodología, estándar o personalizada, para llevar un orden replicable. También documentar la evidencia del proceso y guardar un historial de las acciones, manualmente o mediante las propias herramientas de trabajo. Es esencial respetar la integridad y disponibilidad del objetivo de análisis, más si se trata de un sistema en producción. Si se está ante un riesgo de afectar alguno de estos factores es conveniente comunicarse con la contraparte para pedir autorización de accionar.
Al finalizar, es importante entregar evidencia de los hallazgos que sea entendible por cada destinatario en su rol. Por ejemplo, tener una sección de resumen ejecutivo menos técnica para perfiles más gerenciales o menos conocimiento técnico y luego una más detallada con la evidencia en pasos reproducibles (variable según los perfiles involucrados de la contraparte).
Por último, es recomendable por parte del analista descartar el ambiente de trabajo y por parte del cliente limpiar registros resultantes del análisis como usuarios y otros datos. También tener una reunión de validación de los hallazgos para todos estar alineados con el entendimiento sobre reporte.
Importancia y beneficios del hacking ético en organizaciones
El hacking ético es una práctica esencial para las empresas de todos los tamaños. En un mundo con digitalización acelerada por la pandemia del año 2020, las empresas están expuestas a una amplia gama de riesgos de ciberseguridad.
Se puede concluir que ayuda a las organizaciones a identificar y mitigar estas vulnerabilidades, resultando en los siguientes beneficios:
- Mejora continua de la seguridad: Al descubrir y corregir vulnerabilidades, el hacking ético contribuye a fortalecer las defensas de una organización, implantando controles a nivel de software, hardware, configuraciones, políticas, educación, entre otros.
- Cumplimiento normativo: Muchas industrias y organizaciones están sujetas a regulaciones estrictas en cuanto a la protección de datos. El hacking ético ayuda a asegurar el cumplimiento normativo al identificar y solucionar posibles brechas de seguridad.
- Protección de la reputación: Evitar ataques cibernéticos ayuda a preservar la reputación de una empresa, ya que la confianza de los clientes y socios comerciales se mantiene intacta.
- Ayuda a mejorar la conciencia de la seguridad: Al simular escenarios de ataques reales, el hacking ético ayuda a las empresas a estar preparadas para enfrentar amenazas potenciales y a desarrollar respuestas efectivas. Demostrar impacto en los reportes es esencial para generar concientización de qué es posible lograr y el potencial daño asociado.
- Reducción de costos: El hacking ético puede ayudar a las empresas a reducir los costos de ciberseguridad al identificar y corregir las vulnerabilidades de seguridad antes de que sean explotadas por atacantes.
Por supuesto un servicio de perspectiva ofensiva como el hackeo único es beneficioso en muchos aspectos, pero no es el único tipo. Puede ejecutarse con un alcance de penetración donde el analista no se detiene ante la explotación de una vulnerabilidad, sino que avanza todo lo que puede sin necesariamente evaluar otros riesgos presentes en el objetivo analizado inicialmente (en este artículo catalogado como pruebas de penetración).
Cada tipo de análisis tiene sus beneficios y falencias. También existe el enfoque defensivo en el que se evalúa internamente la seguridad sin necesidad de recurrir a ataques evidenciados. Las organizaciones deben ser capaces de evaluar qué tipo de análisis se ajustan a sus realidades y necesidades sin considerarlo como una tarea de única ejecución, dado que la evolución y mantenimiento son continuos.
Finalmente, destacar que el hacking ético es una de las tantas medidas a tomar en la construcción y evolución tecnológica. La seguridad es abordable con diversas actividades en todas las etapas de los ciclos de vida de desarrollo para aplicaciones o de armado y mantenimiento de infraestructuras, un juego que nunca termina.
Conoce los planes y servicios de ciberseguridad que desde GeneXus Consulting tenemos para ofrecerte.