Roger A. Grimes

Hackear al hacker


Скачать книгу

de intrusión es hackear en el sentido más estricto de la palabra. Es un humano contra una máquina en una batalla de ingenio. El «atacante» humano puede utilizar su propio ingenio y herramientas nuevas o existentes mientras busca debilidades, basadas ya sea en una máquina o en un humano. En todos los años que llevo de pruebas de intrusión, a pesar de que normalmente necesito semanas para realizar una prueba, la mayoría de las veces he hackeado con éxito mi objetivo en aproximadamente 1 hora. El mayor tiempo que he necesitado han sido 3 horas. Esto incluye bancos, sitios de Gobiernos, hospitales y sitios corporativos que me han contratado para hacerlo.

      Y tampoco soy tan bueno como pentester. En una escala del 1 al 10, en la que un 10 es el mejor, yo estoy sobre el 6 o el 7. En el lado de los defensores, me siento el mejor del mundo. Pero como atacante, soy bastante normal. He estado rodeado por impresionantes pentesters —hombres y mujeres que solo piensan en crear sus propias herramientas para pruebas o que no consideran sus pruebas un éxito a menos que no generen un evento en un archivo de registro que podría haber causado una alerta—. Pero incluso la gente a quien yo considero un 10 se considera ella misma normal y admira a otros pentesters de los cuales piensa que son dieces. ¿Cómo deben ser de buenos esos hackers?

      Sin embargo, no tienes que ser extremadamente bueno para ser un hacker de éxito. Incluso no tienes que entrar en la red del cliente que te ha contratado (asumo que te pagan de forma legal para la prueba de intrusión) para estar satisfecho con tu trabajo. De hecho, tu cliente estaría completamente emocionado si no tuvieras éxito. Podrían jactarse de que han contratado a un hacker y su red ha resistido el ataque. Todos salen ganando. A ti te pagarán lo mismo y ellos presumirán de ser impenetrables. Este es el único trabajo que conozco en el cual no puedes tener un mal resultado. Desgraciadamente, no conozco a ningún pentester que nunca haya entrado con éxito en todos sus objetivos. Estoy seguro de que existen hackers que fallan, pero la amplia mayoría de los pentester «consiguen su premio».

      NOTA Si tu prueba de intrusión no encuentra ninguna debilidad y poco después tu cliente es asaltado por atacantes reales, no quedarás bien. Si esto ocurre muchas veces, correrá la voz y probablemente tendrás que buscar otro empleo. Las debilidades están ahí. Encuéntralas.

      Los pentesters suelen hacer cosas extra para impresionar a los altos directivos de su objetivo, como sacar una foto clandestina del CEO en su mesa de trabajo o incrustar la contraseña del administrador del dominio en la imagen de una bandera pirata que aparece en el salvapantallas del administrador de seguridad. Una imagen vale más que mil palabras. Nunca subestimes lo que una imagen tonta puede hacer crecer la satisfacción de tu cliente con tu trabajo. Hablarán de la foto (y presumirán de ti) años después de que hayas acabado tu trabajo. Si puedes, termina siempre el pastel con una guinda. Con esta recomendación, quedarás como «un consultor de oro».

      El secreto de hackear

      Si existe algún secreto sobre cómo hackean los hackers, es que no hay ningún secreto de cómo lo hacen. Es un proceso de aprendizaje de los métodos correctos y del uso de las herramientas adecuadas para el trabajo, exactamente como un electricista, un fontanero o un constructor. Tampoco hay una única manera de hacerlo. Sin embargo, sí que hay un conjunto definido de pasos que describe el proceso más amplio y global, y que incluye todos los pasos que un hacker debería llevar a cabo. No todos los hackers utilizan todos los pasos, pero en general, si los sigues todos, es probable que tengas mucho éxito hackeando. Puedes saltarte uno o más de estos pasos y continuar siendo un hacker de éxito. El software malicioso y otras herramientas para hackear, a menudo, permiten a los hackers saltarse pasos, pero como mínimo uno de estos pasos, el punto de intrusión inicial, siempre es obligatorio.

      Independientemente de si te vas a dedicar a ser hacker (legal), si vas a luchar contra hackers maliciosos, tienes que entender la «metodología del hackeo» o como lo llame la persona o el documento que la describe. Los modelos pueden variar, así como el número de pasos incluidos, el nombre de los pasos y los detalles específicos de cada paso, pero todos ellos contienen los mismos componentes básicos.

      La metodología del hackeo

      La metodología del hackeo contiene, en este orden, los siguientes pasos:

      1. Recopilación de información

      2. Intrusión

      3. Opcional: Garantía de un acceso futuro más fácil

      4. Reconocimiento interno

      5. Opcional: Movimiento

      6. Ejecución de la acción prevista

      7. Opcional: Borrado de pistas

      Recopilación de información

      A menos que una herramienta de hacker lo esté ayudando a acceder de forma aleatoria a cualquier sitio vulnerable posible, el hacker suele tener un objetivo en mente. Si un hacker quiere introducirse en una empresa determinada, lo primero que debe hacer es investigar todo cuanto pueda acerca de la empresa que lo ayude a entrar. Como mínimo, esto significa direcciones IP accesibles, direcciones de correo electrónico y nombres de dominios. El hacker descubre a cuántos sitios y servicios potenciales puede acceder que están conectados con la empresa. Utiliza los medios de comunicación y los informes financieros públicos para averiguar quiénes son los altos cargos o para encontrar otros nombres de empleados para ingeniería social. El hacker busca noticias para ver qué software nuevo ha comprado el objetivo recientemente, qué fusiones o separaciones se están produciendo (estos son siempre asuntos confusos y acompañados a menudo por una relajación o pérdida de la seguridad) y con qué socios interactúa. Muchas empresas se han visto afectadas a través de un socio mucho más débil.

      Averiguar a qué activos digitales está conectada una empresa es la parte más importante de la recopilación de información en la mayoría de los ataques de hackers. No solo son los sitios y servicios principales (públicos) lo que normalmente se identifica, sino que para el atacante suele ser más útil localizar los sitios y servicios conectados menos populares, como portales de empleados y socios. Los sitios y servidores menos populares son más propensos a tener alguna debilidad en comparación con los sitios principales, con los cuales ya se ha luchado durante años.

      Todo buen hacker empieza recopilando todos los programas informáticos y los servicios alojados en cada uno de estos sitios, un proceso generalmente conocido como fingerprinting. Es muy importante saber qué sistemas operativos (OS) se utilizan y en qué versiones. Las versiones del sistema operativo pueden indicar a un hacker qué nivel de parches y qué errores de software existen o no existen. Por ejemplo, puede encontrarse con Windows Server 2012 R2 y Linux Centos 7.3-1611. Después, busca programas informáticos y las versiones de estos programas (por la misma razón) que se ejecutan en cada sistema operativo. Si se trata de un servidor web, podrá encontrarse con Internet Information Server 8.5 en el servidor de Windows y Apache 2.4.25 en el de Linux. Realiza un inventario de cada dispositivo, sistema operativo, aplicación y versión ejecutados en cada uno de sus objetivos previstos. Siempre es mejor hacer un inventario completo para obtener una imagen global del objetivo, pero otras veces el hacker puede encontrar una gran vulnerabilidad muy pronto y simplemente saltar al paso siguiente. A menos que encuentre una vulnerabilidad tan rápido, cuanta más información tenga acerca de lo que se está ejecutando, mejor. Cada programa informático y versión adicional proporciona posibles vectores de ataque adicionales.

      NOTA Algunos hackers denominan la recopilación de información general y no técnica footprinting y el mapeado del sistema operativo y los programas informáticos, fingerprinting.

      A veces, cuando un hacker se conecta a un servicio o sitio, este responde amablemente con información de versión muy detallada, por lo que no se necesita ninguna herramienta. Cuando esto no es así, existen muchas herramientas de ayuda para el fingerprinting del sistema operativo y las aplicaciones. De lejos,