Vivimos en un mundo en línea en el que cada vez más personas confían en los servicios prestados a través de Internet. Poder acceder a tantas cosas a través de un smartphone ha supuesto, sin duda, una gran comodidad. Se acabaron los viajes al banco para ingresar la nómina y los fines de semana detrás de un carrito de compra: hoy, con unos pocos clicks, podemos transferir dinero y pedir los suministros que necesitamos en línea a Amazon.
Sin embargo, lo que mucha gente no sabe es que estas comodidades en línea conllevan riesgos en forma de filtraciones de datos y amenazas para la Seguridad. Para mantener la Seguridad de nuestra información sensible, las empresas deben realizar test de penetración (o pentests) de forma rutinaria para revelar los puntos débiles de la Seguridad.
Finalidad del pentesting
El pentesting se denomina a veces ataque de «sombrero blanco» (o hackeo ético) porque los responsables de los sistemas de la organización intentan saltar sus propias medidas de Seguridad para exponer las vulnerabilidades de la Seguridad. Este test de penetración es una estrategia preventiva, también conocida como Seguridad ofensiva.
En el mundo de la informática, estas pruebas son fundamentales porque identifican los riesgos de Seguridad que los hackers y los ladrones de identidad pueden intentar utilizar a su favor. En cierto modo, los test de penetración son como los caballeros medievales, que recorren el perímetro de su castillo, comprobando si hay grietas o cualquier punto débil que pueda permitir el acceso de los enemigos.
Además de detectar las vulnerabilidades de un sistema, el pentesting también revela hasta qué punto los empleados de la organización se adhieren a la política de Seguridad de la misma y cómo afrontan las filtraciones o intentos de filtraciones de datos. Es como un simulacro o ensayo que expone los puntos débiles de un sistema, a la vez que forma a las autoridades en las medidas de respuesta adecuadas ante las vulnerabilidades encontradas.
Armadas con los resultados de un test de penetración, las organizaciones pueden asignar mejor los recursos y, por tanto, maximizar los protocolos de Seguridad.
Causas de las vulnerabilidades de los sistemas informáticos
1) Dispositivos de comunicación:
Los teléfonos, las conexiones a Internet y las redes móviles presentan posibles áreas de debilidad en un sistema. Muchos de estos dispositivos electrónicos no disponen de ningún software de testeo para protegerse de los virus y el malware, por lo que son especialmente susceptibles de ser atacados por los hackers que utilizan estas vulnerabilidades a su favor.
2) Escasa formación del personal:
Si los miembros del personal no reciben formación para seguir los protocolos de Seguridad adecuados, pueden poner a la empresa inadvertidamente en peligro. Las contraseñas débiles del personal y la susceptibilidad al phishing convierten a los empleados en un posible objetivo.
3) Falta de profesionales para las pruebas de Seguridad:
Algunas empresas no disponen de personal de Seguridad adecuado para los test de penetración. Sin esta supervisión, las brechas en la red a menudo pueden pasar desapercibidas y sin un test adecuado.
4) Entrada de datos:
El flujo normal de datos a través de un sistema puede contener código malicioso y atacar el sistema. Sin test de penetración, este código puede pasar desapercibido y registrar información sensible, como nombres de usuario y contraseñas.
5) Contraseñas:
Desafortunadamente, no todo el mundo mantiene las contraseñas seguras, lo que hace que el sistema sea vulnerable a los ataques. Además, muchas contraseñas son débiles y fáciles de descifrar. Una prueba que exija que las contraseñas cumplan ciertos umbrales puede mejorar la integridad general de una red.
6) Complejidad:
Los sistemas complejos y con muchas funciones presentan más áreas de ataque. Hoy en día, con un número cada vez mayor de servicios y datos accesibles a través de dispositivos móviles, los expertos en pentesting tienen una responsabilidad especialmente difícil.
7) Conexiones:
Los ordenadores que forman parte de una red son vulnerables al hackeo. Los sistemas deben conectarse con puertos externos, pero cada puerto de acceso externo representa un posible punto de filtración.
8) Error humano:
Compartir contraseñas, errores de codificación, no destruir correctamente los documentos, etc., son tipos de errores que pueden dar lugar a un sistema informático comprometido.
9) Red informática mal diseñada:
La configuración de un sistema informático puede influir en sus medidas de Seguridad: los sistemas bien diseñados eliminan las fisuras. Los test de penetración buscan los puntos débiles de la instalación antes de que los hackers puedan explotarlos.
10) Un error de hardware, software o aplicación web:
Los puntos débiles en el hardware y el software pueden dejar vías abiertas que los delincuentes pueden utilizar para obtener acceso al mainframe.
Con qué frecuencia debería realizar un test de penetración (ataque simulado)
Los responsables del pentesting (pen testers) sugieren que los equipos de Seguridad realicen test de penetración al menos una vez al año. Las empresas más pequeñas quizá no puedan permitirse realizar test de penetración cada año y opten por hacerlos cada dos años; todo lo que vaya más allá de eso es realmente poner en riesgo la Seguridad de la red.
Otras circunstancias en las que se debe solicitar un test de penetración:
- Si la empresa ha cambiado su política de usuarios es necesario realizar un test de penetración.
- Después de instalar o actualizar nuevo hardware o software, una empresa debe realizar pentesting.
- Si la organización ha abierto una nueva sede es necesario realizar test de penetración.
- Después de añadir un parche o nuevo código a la infraestructura de la red o a la aplicación web, una empresa debe utilizar herramientas para test de penetración.
Algunas empresas e industrias almacenan información extremadamente sensible y la ley, de hecho, las obliga a realizar test de penetración un cierto número de veces al año para mantener la Seguridad adecuada de la red.
Tipos de test de penetración y ataques simulados (penetración de vulnerabilidades)
Para que un test de penetración sea efectivo, los pen testers (el equipo de Seguridad) deben centrarse y ser específicos. Cualquier intento de probar todos los sistemas conduce a resultados superficiales. Siempre es mejor centrarse en varios aspectos de los sistemas informáticos, como la ingeniería social, redes, IoT y aplicaciones web.
Ingeniería social:
Uno de los aspectos más vulnerables del sistema de una empresa es el personal. El error humano es muy a menudo responsable de las violaciones de Seguridad en forma de phishing. Cuando los delincuentes utilizan técnicas de phishing, intentan engañar a los empleados para que revelen sus credenciales de seguridad enviándoles correos electrónicos falsos.
A veces, los ataques de phishing incluyen programas maliciosos que pasan desapercibidos en los dispositivos electrónicos, recogen información y la transfieren a los hackers. Los test de penetración que examinan a los empleados incluyen ataques de phishing para descubrir las vulnerabilidades de estos test. Esta información es útil para que los pen testers formen a los empleados de la organización para evitar dichas tácticas.
Testeo de redes:
La red de una empresa (y las redes inalámbricas) presenta algunos obstáculos para las pruebas de Seguridad, ya que tiene aberturas que los delincuentes pueden explotar, como routers, switches y hosts de red, si no se configuran correctamente. Otras partes de una red que presentan vulnerabilidades son los puertos de acceso de los clientes, los sitios web y los servidores de correo. Cada vez que un sistema se pone en contacto con una fuente externa, existe la posibilidad de que se produzca una filtración.
Testeo de IoT (Internet of Things, Internet de las cosas):
Muchos dispositivos se conectan a Internet en nuestro mundo moderno. Hoy en día, la gente controla sus luces, alarmas y cámaras de seguridad a distancia. Este acceso remoto presenta desafíos únicos para los expertos en Seguridad que realizan test de penetración.
Cada uno de estos dispositivos es un punto de entrada potencial de ataque, por lo que los pen testers deben asegurarse de que cada uno de ellos implemente el más alto nivel de protección. El dispositivo físico y el firmware necesitan un examen minucioso porque cualquier error de configuración puede dar lugar a posibles violaciones de la organización.
Testeo de ataques a aplicaciones web (penetración de vulnerabilidades):
Los pentests que examinan las aplicaciones web buscan vulnerabilidades de inyección, errores de codificación y autenticación rota. Estos test de penetración examinan detenidamente el código fuente y las posibles vulnerabilidades de la aplicación, y su relación con toda la infraestructura y el firewall de aplicaciones web.
Fases, planificación y reconocimiento de los test de penetración:
Un test de penetración bien ejecutado comienza con la discusión de los objetivos y la respuesta a algunas preguntas fundamentales, como qué parte del sistema se va a probar y quién sabrá sobre el test de penetración en la red.
Todos los test de penetración deben comenzar con una revisión de toda la arquitectura para entender el sistema. Los encargados de las pruebas y los expertos en Seguridad deben comprender su función y los riesgos de Seguridad en caso de que se vea comprometido.
Test de escaneo de la infraestructura de la red (recopilación de información):
En esta fase, un pen tester, al igual que un hacker ético, recopila información, en la medida de lo posible, antes de realizar el test de penetración. Al igual que recopilan información los delincuentes del mundo real, los pen testers intentan aprender mucho sobre los Sistemas Operativos, las políticas de Seguridad, la organización y los empleados. Esta información puede ayudarles a explotar los puntos débiles.
Conseguir acceso:
Esta es la parte activa de la prueba. Armados con los datos y el conocimiento del sistema, los pen testers comienzan a buscar los puntos débiles. Deben explorar todos los vectores de entrada posibles. Los hackers que explotan las vulnerabilidades en el mundo real son tenaces, por lo que los pen testers deben ser igual de diligentes al realizar los test de penetración.
Mantener el acceso:
Los ataques más eficaces permiten a los atacantes acceder durante largos períodos de tiempo; por lo tanto, los equipos de penetración deben centrarse en establecer una presencia a largo plazo en el sistema y mantener el acceso a los datos sensibles.
Informes de los test y análisis:
Una vez finalizados los test, llega el momento de recopilar los datos y elaborar un informe del test de penetración. El análisis de los test debe ser muy exhaustivo e incluir detalles específicos sobre las técnicas de testeo utilizadas. Las organizaciones necesitan saber hasta dónde han podido llegar los pen testers en el sistema y qué información han podido descubrir.
Por último, el informe debe proporcionar sugerencias de mejora, formas en que la empresa podría evitar un ciberataque real en el futuro, directrices para los esfuerzos de remediación y las posibles vulnerabilidades de los test de penetración.
Saneamiento después de los test de penetración:
Los encargados de los test de penetración y los expertos en Seguridad deben eliminar cualquier código o herramienta de software que hayan utilizado. Si se dejan atrás después de un test de penetración, los hackers podrían utilizarlos para entrar en tiempo real.
Revisión del test y test de penetración posterior:
La clave de la Seguridad es la repetición. Esto explica por qué las organizaciones de las fuerzas del orden realizan interminables simulacros, de modo que, cuando sucede algo real, los miembros del equipo pueden reaccionar instintivamente. La Ciberseguridad no es diferente; los sistemas más seguros se someten a pruebas constantes. Después de cada test de penetración, los líderes de Seguridad de una organización deben considerar los resultados de los test de penetración con detenimiento.
Un pen tester es un hacker ético que prepara notas detalladas sobre los métodos y esta información a menudo señala problemas sistémicos. Por ejemplo, muchos empleados no reconocen el peligro de los ataques de phishing y, en consecuencia, exponen sus datos de acceso a los delincuentes. Una solución eficaz incluiría la formación del personal y cambios en la política.
Un único test de penetración es como una instantánea del momento. Es necesario realizar múltiples test para obtener una visión más completa del perfil de Seguridad de una empresa.
Para hacer rendir al máximo cada test de penetración es necesario priorizar los datos. No todos los problemas de Seguridad tienen el potencial de causar el mismo daño, por lo que el equipo de comprobación de la Seguridad debe centrarse en las áreas del test de penetración que presenten la mayor amenaza para la organización.
Herramientas y aplicaciones de software para realizar pentesting
Para que los pen testers (hackers éticos y profesionales de la Seguridad) sean eficaces, tienen que pensar de forma creativa en la recopilación de información y los test de penetración. Estos profesionales deben confiar en varios tipos de herramientas automatizadas que hacen la mayor parte de los cálculos por ellos.
Estas herramientas de testeo en tiempo real escanean el código y buscan puntos de entrada o áreas de debilidad que puedan permitir el acceso. Las mejores herramientas de pentesting son adaptables, fáciles de configurar y capaces de generar informes detallados de los test.
John the Ripper es un paquete de test de penetración de código abierto, herramientas de test de penetración diseñadas para descifrar contraseñas fuera de línea. El software de test de penetración comienza con una lista de palabras probables, que luego muta. La mayoría de la gente utiliza contraseñas breves, por lo que John the Ripper suele tener éxito a la hora de superar la encriptación.
Wireshark es para testear la solidez de la red de una empresa. Se centra en los problemas de conexión TCP/IP de los test de penetración y analiza la desencriptación para muchos protocolos de test de penetración diferentes.
Nmap, que viene de «network mapper» (mapeador de redes), escanea los puertos y busca las vulnerabilidades de la organización. Es un estándar de testeo de la industria y utiliza un software que comprueba continuamente la Seguridad de los puertos públicos abiertos.
The Metasploit Project es un programa de código abierto útil para encontrar debilidades de Seguridad en servidores, redes y aplicaciones. Los usuarios programan el software para probar áreas específicas de la red y luego dejan que el programa automatice la carga de trabajo del test de penetración.
Kali Linux, antiguamente llamada BackTrack Linux, es una herramienta de test de penetración fundamental para los test de penetración agresivos.
Hashcat es un competidor de John the Ripper; un hacker ético lo utiliza para romper las contraseñas cifradas con hash de las organizaciones en los test de penetración.
Hydra funciona para probar y romper contraseñas en línea como RDP, IRC, IMAP, FTP y SSH.
Burp Suite es una costosa herramienta de test de vulnerabilidades web utilizada por los profesionales del test de penetración. Tras seleccionar un objetivo web, este software de test de penetración se pone a trabajar, probando sin descanso y buscando vulnerabilidades en el sistema.
Zed Attack Proxy trata de recopilar información instalándose en una aplicación web y monitorizando el tráfico durante los test de penetración.
Sqlmap, una herramienta de código abierto, busca puntos débiles de inyección SQL para poder tomar el control de los servidores de bases de datos de la organización mientras se realizan los test de penetración.
Aircrack-ng es útil para probar la resistencia de una red wifi durante un test de penetración.
Estrategias de pentesting, Seguridad de las aplicaciones e infraestructura de IT
Antes de iniciar cualquier test de penetración, el pen tester debe definir la amplitud de los escenarios de ataque de terceros y la metodología del test de penetración. En otras palabras, qué sistemas específicos y políticas de Seguridad se someterán al test de penetración, y qué técnicas implementará la empresa para maximizar la postura de Seguridad de las aplicaciones de red.
Test dirigido en tiempo real (Real-Time Targeted Testing) a veces se denomina «luces encendidas» porque pone a prueba un sistema a la vista de todos; tanto el equipo de Seguridad de la empresa como el equipo de test de penetración están al tanto de la prueba y observan el progreso y los resultados del test.
Como su nombre indica, un test externo (External testing) se centra en los elementos que existen en el exterior, como los servidores de aplicaciones web, firewalls, servidores de correo electrónico y servidores de nombres de dominio. Los pen testers trabajan para obtener acceso a través de estos vectores e introducirse tan profundo como puedan en el sistema.
El test de penetración interno (Internal penetration testing) combate al ocasional empleado descontento que puede intentar causar daños en la red de una empresa. Un pen tester obtiene el nivel apropiado de autorización y luego explora cuántos sistemas sensibles podrían estar en peligro.
El test a ciegas (Blind testing) proporciona solo el nombre de la empresa a los que realizan los test de penetración. El equipo de penetración y los hackers éticos tienen que realizar todo el procedimiento de los test de penetración, lo que puede llevar mucho tiempo y costar mucho dinero. Sin embargo, este test de penetración es muy realista porque refleja el tipo de situación que la mayoría de los atacantes encuentran cuando intentan acceder a los sistemas informáticos y a las posibles vulnerabilidades.
El test doblemente ciego (Double-blind testing) es cuando un número mínimo de personas sabe sobre el test. Los departamentos no pueden prepararse para los test de penetración, por lo que estos revelan cómo responde un equipo de Seguridad a las brechas de Seguridad y a las vulnerabilidades de los datos.
El tests de caja negra (Black box testing) es similar al test a ciegas, pero el equipo de penetración no recibe ninguna información. Solo puede usar los datos recopilados una vez que comienza el test de penetración de Seguridad.
El test de caja blanca (White box testing) proporciona información como código fuente, esquemas de la infraestructura y direcciones IP a los equipos de test de penetración.
Riesgos de los usuarios: Phishing, Vishing, Smishing y otras debilidades de la Seguridad
Los usuarios del sistema representan uno de los aspectos más vulnerables de una postura de Seguridad. El error humano es fácilmente explotable, por lo que no es de extrañar que los delincuentes centren sus esfuerzos en él. Una de las principales formas en que los delincuentes consiguen entrar en un sistema y eludir los controles de Seguridad es descifrando los nombres de usuario y las contraseñas de un mainframe o una aplicación web. Desafortunadamente, muchas personas tienen contraseñas débiles y fáciles de descifrar. Las empresas también sufren ataques de phishing que engañan a los empleados para que introduzcan sus datos, que luego los hackers utilizan para entrar en el sistema.
El phishing es una de las formas más fáciles que tienen los delincuentes para penetrar en un sistema. Básicamente, el ataque viene en forma de correo electrónico. Incluye un mensaje que parece oficial e importante, a menudo sobre un restablecimiento de la contraseña. El correo electrónico está diseñado para parecer oficial y, a primera vista, parece tener todos los criterios correctos. Sin embargo, si se examina con detenimiento, queda claro que la dirección de correo electrónico está mal escrita y que apunta a una URL que se aproxima al sitio web de la empresa, pero que está ligeramente cambiada. Estos correos electrónicos de phishing engañan a las personas para que introduzcan sus nombres de usuario y contraseñas, que los phishers utilizan para hackear sitios web.
Además de recopilar información de inicio de sesión, las vulnerabilidades de phishing también transmiten malware, o software malicioso diseñado para ejecutarse en un sistema y recopilar información sensible. Al abrir archivos adjuntos o enlaces en los correos electrónicos (lo que a veces se conoce como spear phishing), los empleados pueden permitir fácilmente que ransomware, gusanos y programas para minar criptomonedas accedan a los servidores.
Los atacantes también utilizan los teléfonos móviles para obtener información importante. Esto se conoce como Vishing. Una persona real o un ordenador llama diciendo que es un representante de una empresa. Piden al objetivo que confirme ciertos datos por teléfono o que los introduzca en el teclado. Los atacantes suelen hacerse pasar por empleados del banco o de la tarjeta de crédito. Le indican que su respuesta es urgente y necesaria para proteger su cuenta. La mayoría de las personas están condicionadas a obedecer y confiar en la autoridad, por lo que ofrecen de buen grado detalles sensibles sobre sus cuentas.
Una de las nuevas vulnerabilidades de riesgo para el usuario es el Smishing, un ataque a través de dispositivos móviles. El software malicioso entra en el teléfono a través de una aplicación de mensajería o un mensaje de texto. La mayoría de los teléfonos no tienen ningún software antivirus, por lo que el software malicioso permanece allí, sin ser detectado, recogiendo información privada y propagándola a otros ordenadores y teléfonos.
10 ciberataques recientes de filtración de datos
A lo largo de la última década, las filtraciones de datos y los fallos de Seguridad han dejado al descubierto miles de millones de registros de consumidores, lo que significa que un gran número de estadounidenses han visto comprometidas una o varias de sus cuentas. Cuando esto ocurre, se tambalea la confianza de los consumidores y las empresas pierden ingresos.
1) Yahoo:
En 2013, 500 millones de cuentas se vieron comprometidas, exponiendo datos sensibles, nombres reales de los usuarios, fechas de nacimiento, direcciones e información sobre el teléfono y el correo electrónico. El hackeo le costó a Yahoo un valor estimado de 350 millones de dólares.
2) UnderArmour:
En marzo de 2018, los delincuentes accedieron a la app de fitness de esta empresa, MyFitnessPal, y hackearon 143,6 millones de registros. Pudieron entrar a través de una base de datos backend y descubrieron nombres de usuario, direcciones y contraseñas.
3) Adobe:
En 2013, los hackers robaron la información de las tarjetas de crédito/débito, los nombres y las contraseñas de 150 millones de usuarios.
4) Comité Nacional Republicano:
En junio de 2017, 198 millones de personas residentes en Estados Unidos tuvieron su información personal expuesta al público cuando la empresa de seguridad Deep Root Analytics no logró asegurar sus servidores. Se expusieron al público fechas de nacimiento, domicilios, números de teléfono y opiniones políticas.
5) Equifax:
En septiembre de 2017, los delincuentes expusieron 147 millones de registros utilizando una debilidad en el sistema de la empresa para recopilar números de la seguridad social, números de tarjetas de crédito y fechas de nacimiento. Al final, Equifax acordó pagar 700 millones de dólares después de que una investigación descubriera una vulnerabilidad que la empresa nunca había parcheado.
6) Zynga:
En septiembre de 2019, los hackers pudieron recopilar 218 millones de registros: identificación de inicio de sesión, números de teléfono e identificación de Facebook.
7) Exactis:
340 millones de registros se vieron comprometidos. Un punto débil en la base de datos de un servidor no seguro permitió la exposición de datos sensibles, direcciones de correo electrónico, números de teléfono, domicilios y (probablemente lo más inquietante) información sobre los niños de la casa.
8) Dubsmash:
En febrero de 2019, los delincuentes robaron 162 millones de registros que incluían nombres, información del teléfono y del correo electrónico, y contraseñas.
9) eBay:
En 2014, los hackers accedieron a toda la base de datos de 145 millones de usuarios, comprometiendo nombres, fechas de nacimiento, direcciones y contraseñas cifradas.
10) LinkedIn:
165 millones de cuentas de usuarios quedaron expuestas en 2012, lo que permitió a los delincuentes minar direcciones de correo electrónico y contraseñas y, posteriormente, publicar la información para su venta en un sitio web ruso.
Controles de Seguridad para transformar su postura de testeo de la Seguridad a largo plazo
Exponer las vulnerabilidades del sistema debería formar parte de la cultura de una organización. En lugar de considerar el pentesting como un obstáculo más que hay que superar o una prueba que hay que pasar, las empresas deberían adoptar cada test como una forma de identificar los puntos débiles y prevenir la pérdida catastrófica de datos y las posibles demandas judiciales.
Si una empresa adopta los test de penetración como parte de su cultura de Seguridad, es mucho menos probable que cometa errores. Por lo tanto, los test de penetración también sirven como un recordatorio constante de que las amenazas están siempre presentes, por lo que la vigilancia de los protocolos de Seguridad es primordial.
Vea Core Impact en acción
Core Impact es una solución de pentesting que hace más fácil y ágiles los procesos de testeo, simulando acciones de un atacante real, con exploits comerciales, funcionalidades de generación de reportes para auditorías y más. Es una solución versátil, su uso es fácil para pentesters que recién empiezan y lo suficientemente potente para expertos.
Vea una demostración de Core Impact así como también casos de uso práctico en este breve video.