Hoy en día, la imagen de Hacker que tenemos está muy desvirtuada gracias en parte a la fama que han generado diversas fuentes audiovisuales. No obstante, el perfil del correctamente denominado Experto en Seguridad Informática es uno de los más demandados (aunque también de los menos valorados a pesar de la responsabilidad que se delega en éstos). No son muchos los que se especializan en este amplio campo de las nuevas tecnologías, y una de las razones es la innumerable cantidad de métodos de intrusión, de infección, exploits, etc… que existen hoy día, además de los que van surgiendo prácticamente por horas.

Podemos encontrar muchas personas que prácticamente hacen de su vida un constante hacking de redes WiFi y pasan a considerarse expertos en seguridad informática sin siquiera haber oído hablar de una herramienta fundamental en este campo, Metasploit. En el uso de Kali Linux (distribución ampliamente conocida en esta plataforma) y de esta herramienta basaré una serie de publicaciones en las que intentaré acercar e iniciar en el mundo del Pentesting a quienes tengan interés en esta rama de la informática.

Pentesting

Vamos a empezar por lo básico ¿Qué es el pentesting? Pentesting o Penetration Testing es la práctica de atacar diversos entornos con la intención de descubrir fallos, vulnerabilidades u otros fallos de seguridad, para así poder prevenir ataques externos hacia esos equipos o sistemas . Es una rama de estudio relativamente reciente y en auge (sobrevenido por los importantes ataques y filtraciones sufridos por varias empresas importantes los últimos años), por lo que actualmente existen pocas certificaciones oficiales que nos acrediten como Pentesters o Expertos en Seguridad Informática (esto último parece que viste más el curriculum, ¿No?), no obstante estas certificaciones al ser tan escasas son más valoradas en los puestos de trabajo que requieren de una titulación mínima por la responsabilidad asignada.

¿Es legal?

Si. El pentesting es totalmente legal siempre y cuando los ataques que realicemos sean dirigidos hacia nuestros propios equipos o los equipos de nuestros clientes (bajo su consentimiento, por supuesto). De no ser así sí que podríamos usar de forma correcta la terminología “hackear”, cosa que en la mayoría de países es un acto penado con prisión, por lo que, por favor, ceñiros a comprobar vuestra propia seguridad. Para dejarlo claro, diferenciamos el pentesting del hacking porque en el pentesting contamos con el permiso y aprobación del propietario del sistema a atacar, mientras que durante un ataque no consentido por el propietario incurriremos en un delito de hacking.

Para ir abriendo el apetito, os dejo algunos términos importantes en este campo:

    Vulnerabilidad : Un fallo en la seguridad de una aplicación, sistema o hardware, más comúnmente conocido como agujero por donde colarse para hacerse con el control de la aplicación o incluso del equipo al completo. Las vulnerabilidades pueden ser desde un fallo en la programación de una aplicación, una contraseña muy débil u obvia del tipo “1234”, “password” o “contraseña”; o incluso algo tan complejo como un desbordamiento de un buffer de información del sistema.

    Exploit : Para aprovecharnos de las vulnerabilidades del sistema existen los exploits; pequeñas aplicaciones programadas con el fin único de acceder al sistema que contiene la vulnerabilidad, para hacernos con su control o para provocar un funcionamiento indebido. Metasploit es un referente en lo que se refiere a exploits, un proyecto Open Source que recopila vulnerabilidades e informa de éstas, colaborando posteriormente con grandes compañías para desarrollar o mejorar sistemas de detección de intrusos y malware, pero ya entraremos más adelante en desarrollar las ventajas que ofrece este proyecto. Podemos diferenciar tres tipos de exploits, según desde dónde se ejecute éste:

    • Exploit Local : Para ejecutar este tipo de exploit, deberemos haber tenido acceso previo al sistema vulnerable. También puede ejecutarse tras acceder a la máquina con un exploit remoto. Exploit Remoto: Se puede ejecutar desde una red interna o bien desde la red de redes para poder acceder al sistema víctima.

    • Exploit del lado del cliente : Es el tipo de exploit más usado, puesto que aprovecha vulnerabilidades existentes en aplicaciones que se encuentran instaladas en la mayoría de equipos de usuarios finales. Suelen llegar al equipo mediante correos electrónicos, pendrives o mediante una “navegación insegura”.

  • Payload : Es un término al que no se puede dejar de hacer mención siempre que se habla de exploits. Por definirlo de una forma simple, un payload es una pequeña aplicación que aprovecha una vulnerabilidad afectada por un exploit para obtener el control del sistema víctima. Lo más común en un ataque es aprovechar una vulnerabilidad con un exploit básico para inyectar un payload con el que obtener el control del equipo al que atacamos. Si para los exploits hablábamos de Metasploit, para los payload, no tenemos que salir de esa aplicación para encontrar un subproyecto dentro del propio Metasploit, el denominado Meterpreter. Con esta solución, podremos cargar payloads que nos permitirán realizar multitud de acciones sobre nuestra víctima, desde acceder al sistema de archivos del equipo víctima a incluso que podamos ver en nuestra pantalla lo que muestra la pantalla del ordenador atacado.

Estos términos son sólo una base con la que comenzar a comprender el proceso de un ataque, para posteriormente poder asegurar nuestro equipo contra ellos. De ahí que debamos tener en cuenta mantener nuestros sistemas actualizados , ya que la mayoría de las actualizaciones aparte de corregir fallos menores, se centran en solucionar esos famosos agujeros de seguridad por los que se podría colar alguien para acceder a nuestra información o para sencillamente controlar nuestro equipo y cometer algún acto delictivo en el que quedaríamos incriminados, eso, por poner un ejemplo ;)