top of page
Foto del escritorIng. Derman Alva

Ethical Hacking y Pentest en una organización en el Perú

Actualizado: 23 abr 2020

La evaluación de vulnerabilidad y las pruebas de penetración [Pentest] han adquirido gran importancia, especialmente en los últimos años. Las organizaciones a menudo tienen una red compleja de activos que almacenan datos confidenciales. Estos activos están expuestos a posibles amenazas internas y externas a la organización. Para obtener una visión general de la postura de seguridad de la organización, es esencial realizar una evaluación de vulnerabilidad.

Es importante comprender la clara diferencia entre las evaluaciones de vulnerabilidad y las pruebas de penetración. Para tener claro esta diferencia, consideremos un escenario del mundo real: Si observa que la puerta de su vecino no está cerrada correctamente y que el vecino dueño de la casa no está. Esta es una evaluación de vulnerabilidad. Ahora, si realmente vas y abres la puerta del vecino y entras en la casa, entonces esa es una prueba de penetración. En un contexto de seguridad de la información, puede observar que el servicio SSH se ejecuta con credenciales débiles; Esto es parte de una evaluación de vulnerabilidad. Si realmente usa esas credenciales para obtener acceso, entonces es una prueba de penetración. Las evaluaciones de vulnerabilidad a menudo son seguras de realizar, mientras que las pruebas de penetración, si no se realizan de forma controlada, pueden causar daños graves en los sistemas de destino.


Una evaluación de vulnerabilidad es uno de los requisitos previos y esenciales para realizar una prueba de penetración. A menos que sepa que vulnerabilidades existen en el sistema de destino.

Realizar pruebas de penetración requiere un enfoque metodológico y bien planificado. Es un proceso de varios pasos. Las siguientes son algunas de las fases de las pruebas de penetración:

1) Recopilación de información: la recopilación de información es la fase más importante del ciclo de vida de las pruebas de penetración. Esta fase también se conoce como reconocimiento. Implica el uso de varias técnicas pasivas y activas para recopilar tanta información como sea posible sobre el sistema de destino. La recopilación de información detallada sienta las bases sólidas para otras fases en el ciclo de vida de las pruebas de penetración.

2) Enumeración: una vez que tiene información básica sobre el objetivo, la fase de enumeración utiliza varias herramientas y técnicas para sondear el objetivo en detalle. Implica descubrir las versiones exactas del servicio que se ejecutan en el sistema de destino.

3) Evaluación de vulnerabilidad: la fase de evaluación de vulnerabilidad implica el uso de diversas herramientas y metodologías para afirmar la existencia de vulnerabilidades conocidas en el sistema de destino.

4) Obtener acceso: desde la fase anterior, tiene una lista de vulnerabilidades probables para su objetivo. Ahora puede intentar explotar estas vulnerabilidades para obtener acceso al sistema de destino.

5) Privilegios crecientes: puede obtener acceso a su sistema de destino explotando una vulnerabilidad particular; sin embargo, el acceso puede estar restringido. Para infiltrarse más profundamente, debe usar varias técnicas y escalar los privilegios al nivel más alto, como administrador, root, etc.

6) Mantenimiento del acceso: ahora que ha trabajado duro para obtener acceso al sistema de destino, seguramente querrá que persista. Esta fase implica el uso de varias técnicas para hacer que el acceso al sistema de destino sea persistente.

7) Cubrir pistas: el proceso de penetración puede crear archivos basura, modificar archivos de configuración, cambiar entradas de registro, crear registros de auditoría, etc. Cubrir tus huellas implica limpiar todas las huellas dejadas durante las fases anteriores.

Fases de las pruebas de penetración


Herramientas necesarias para las pruebas de penetración

Para realizar diversas tareas en estas fases, hay cientos de herramientas, scripts y utilidades disponibles. Las distribuciones de Linux como Kali Linux incluso proporcionan herramientas agrupadas para realizar estas tareas. Es natural sentirse abrumado con la cantidad de herramientas disponibles. Sin embargo, hay algunas herramientas que son tan poderosas y flexibles que solo ellas pueden realizar la mayoría de las tareas en todas estas fases.

Las 3 principales herramientas que nos proporcionan amplias capacidades de pruebas de penetración son NMAP, OpenVAS y Metasploit

1) NMAP

Este software de código abierto posee varias funciones para sondear redes de computadores, incluyendo detección de equipos, servicios y sistemas operativos. Estas funciones son extensibles mediante el uso de scripts para proveer servicios de detección avanzados, detección de vulnerabilidades y otras aplicaciones.

NMAP fue escrito originalmente por Gordon Lyon (alias Fyodor Vaskovich) y actualmente su desarrollo se encuentra a cargo de una comunidad. Fue creado originalmente para Linux aunque actualmente es multiplataforma y se puede bajar en la siguiente URL: https://nmap.org/download.html





Los productos más maduros que se usan ampliamente en la industria para la evaluación de vulnerabilidades son: Nessus, NeXpose, QualysGuard y OpenVAS.

2) OpenVAS

OpenVAS es una abreviatura de Open Vulnerability Assessment System. No es solo una herramienta, sino un marco completo que consta de varios servicios y herramientas que ofrece una solución integral y poderosa de escaneo de vulnerabilidades y gestión de vulnerabilidades.

Al igual que una solución antivirus tiene firmas para detectar malwares conocidos, OpenVAS ha establecido un conjunto de pruebas de vulnerabilidad de red (NVT). Los NVT se llevan a cabo utilizando complementos, que se desarrollan utilizando el código Nessus Attack Scripting Language (NASL). Hay más de 50,000 NVT en OpenVAS, y se agregan nuevos NVT regularmente.


3) Metasploit

El Metasploit Framework, una herramienta para desarrollar y ejecutar exploits hacia un computador remoto. Inicialmente fue creado utilizando el lenguaje de programación de scripting Perl aunque actualmente el Metasploit Framework ha sido escrito nuevamente en lenguaje Ruby.

En inglés Exploit significa explotar o aprovechar y en informática es un fragmento de software, fragmento de datos o secuencia de comandos o acciones utilizada para aprovechar una vulnerabilidad de seguridad de un sistema de información para conseguir un comportamiento no deseado del mismo.

Ing. Derman Alva

41 visualizaciones0 comentarios

Entradas recientes

Ver todo

Comments


bottom of page