qué es pentesting?

¿Qué es el pen testing?

Traducido por Pablo Adorno para Linux Latinoamérica del original What is Network Penetration Testing.


Este tutorial explica brevemente qué son las pruebas de pen testing, muestra un par de las principales herramientas utilizadas para llevar a cabo pen tests y ofrece algunos ejemplos prácticos en escenarios reales.

¿Qué son las pruebas de pen testing?

El código desactualizado, la adición de características, configuraciones incorrectas o el desarrollo de métodos ofensivos innovadores pueden resultar en “debilidades” explotables por código malicioso para obtener acceso o ejecutar una acción en un objetivo remoto (o local). Estas “debilidades” se denominan “vulnerabilidades” o “agujeros de seguridad”.

Una prueba de penetración, o pen test, es la acción de auditar un objetivo (un servidor, un sitio web, un teléfono móvil, etc.) para aprender sobre agujeros de seguridad que permitan al atacante penetrar en el dispositivo, interceptar comunicaciones o violar la privacidad o seguridad por defecto.

La razón principal por la que todos actualizamos nuestro sistema operativo y software es para evitar el “desarrollo” de vulnerabilidades como resultado del código antiguo.

Algunos ejemplos sobre agujeros de seguridad pueden incluir una contraseña fuerte, intentos de inicio de sesión, tablas sql expuestas, etc. Esta vulnerabilidad icónica para Microsoft Index Server explota un búfer dentro del código de un archivo dll de Windows que permite la ejecución remota del código mediante códigos maliciosos como CodeRed worm, diseñado como otros gusanos para explotar esta pieza de código incorrecto.

Las vulnerabilidades y los agujeros de seguridad surgen a diario o semanalmente en muchos sistemas operativos, siendo OpenBSD una excepción y Microsoft Windows la regla, es por eso que Pen Test es una de las principales tareas que cualquier administrador de sistemas o usuario en cuestión debería llevar a cabo.

Herramientas populares para Pen Test 

Nmap: Nmap (Network Mapper), es probablemente la herramienta de auditoría de redes y seguridad más importante y básica. Nmap es un escáner de puertos capaz de estimar la identidad del sistema operativo objetivo (huella) y el software que escucha detrás de los puertos. Incluye un conjunto de complementos que permite probar la penetración a través de la fuerza bruta, vulnerabilidades, etc. Puede ver 30 ejemplos de Nmap en https://linuxhint.com/30_nmap_examples/.

GSM / OpenVas: GreenBone Security Manager u OpenVas es la versión gratuita o comunitaria de Nessus Security Scanner. Es un escáner de usuario muy completo y amigable, fácil de usar para identificar vulnerabilidades, errores de configuración y agujeros de seguridad en general sobre objetivos. Si bien Nmap es capaz de encontrar vulnerabilidades, requiere la disponibilidad de complementos actualizados y cierta capacidad por parte del usuario. OpenVas tiene una interfaz web intuitiva, pero Nmap sigue siendo la herramienta obligatoria para cualquier administrador de red.

Metasploit: La funcionalidad principal de Metasploit es la ejecución de exploits contra objetivos vulnerables, pero Metasploit se puede utilizar para buscar agujeros de seguridad o confirmarlos. Además, los resultados de los análisis ejecutados por Nmap, OpenVas y otros escáneres de seguridad pueden importarse a Metasploit para ser explotados.

Estos son sólo 3 ejemplos de una gran lista de herramientas de seguridad. Se recomienda encarecidamente a cualquier persona interesada en la seguridad que mantenga esta lista de Herramientas de seguridad de red principales como la fuente principal de herramientas de hacking o seguridad.

Ejemplo Nmap Pen testing:

Para comenzar en Debian ejecute:

# apt install nmap -y

que es pen testing

Una vez instalado, el primer paso para probar Nmap para pen testing en este tutorial es verificar las vulnerabilidades utilizando el complemento vuln incluido en Nmap NSE (Nmap Scripting Engine). La sintaxis para ejecutar Nmap con este complemento es:

# nmap -v –-script vuln <Objetivo>

En mi caso ejecutaré:

# nmap -v –-script vuln 192.168.0.9

que es pentesting

A continuación, verá que Nmap encontró una vulnerabilidad que expone el dispositivo objetivo a ataques de denegación de servicio.

El resultado ofrece enlaces de referencias a la vulnerabilidad, en este caso puedo encontrar información detallada en https://nvd.nist.gov/vuln/detail/CVE-2011-3192.

El siguiente ejemplo muestra una ejecución de pen test usando OpenVas, al final de este tutorial puede encontrar tutoriales con ejemplos adicionales con Nmap.

Ejemplo de Openvas Penetration Testing:

Para comenzar con OpenVas, descargue Greenbone Community Edition desde https://dl.greenbone.net/download/VM/gsm-ce-6.0.0.iso para configurarlo usando VirtualBox.

Si necesita instrucciones para configurar VirtualBox en Debian, lea https://linuxhint.com/install_virtualbox6_debian10/ y regrese justo después de finalizar la instalación antes de configurar el SO Guest o Host.

En VirtualBox siga estas instrucciones

Seleccione las siguientes opciones en el asistente para VirtualBox manualmente mediante “New”

  • Type: Linux
  • Version: Other Linux (64bit)
  • Memory: 4096 MB
  • Harddisk: 18 GB
  • CPUs: 2

Ahora crea una nueva unidad de disco para la máquina virtual.

Tenga cuidado que la conexión de red funcione de adentro hacia afuera y de afuera hacia adentro: el sistema necesita acceso a Internet para la configuración. Para utilizar la interfaz web de los sistemas, debe acceder al sistema desde donde se ejecuta su navegador web.

Audio, USB y floppy deberán deshabilitarse.

Ahora haga clic en Start y haga clic en el icono de la carpeta para elegir la imagen iso descargada como medio para la unidad de CD e inicie virtual machine como se muestra en las capturas de pantalla a continuación:

Buscar en el directorio contenedor de ISO, seleccionar y presionar Open.

Seleccione su imagen ISO y presione Choose.

Presione Start para iniciar el instalador GSM.

Una vez ejecutado, seleccione Setup y presione OK para continuar.

En la siguiente pantalla presione YES para continuar.

Espere a que el instalador prepare su entorno:

Cuando le solicite definir un nombre de usuario como muestra en la siguiente imagen, puede dejar el usuario por defecto.

Configure su contraseña y presione OK para continuar.

Cuando pregunte si desea reiniciar, presione YES.

En el inicio seleccionar Greenbone OS presionando ENTER.

Cuando inicie por primera vez luego de la instalación no se loguee, el sistema finalizará la instalación y se reiniciará automáticamente. Usted verá la siguiente pantalla.

Debe asegurarse de que su dispositivo virtual sea accesible desde su dispositivo host, en mi caso cambié la configuración de red de VirtualBox de NAT a Bridge y luego reinicié el sistema y funcionó.

Nota: Fuente e instrucciones para actualizaciones y software de virtualización adicional en https://www.greenbone.net/en/install_use_gce/.

Una vez que inicie sesión, verá la pantalla a continuación, presione YES para continuar.

Para crear un usuario para la interfaz web, presione YES nuevamente para continuar como se muestra en la imagen a continuación:

Complete el nombre de usuario y contraseña solicitados, luego presione OK para continuar.

Presione OK en la confirmación de creación de usuario:

Puede omitir la suscripción por ahora, presione Skip para continuar.

Para descargar el feed, presione YES como se muestra a continuación.

Cuando informe sobre la tarea que se está ejecutando en segundo plano, presione OK.

Después de una breve comprobación, verá la siguiente pantalla, presione OK para finalizar y acceder a la interfaz web:

Verá la siguiente pantalla, si no recuerda su dirección de acceso web, puede verificarla en la última opción del menú About.

Cuando acceda con la clave SSL, recibirá la advertencia SSL, casi en todos los navegadores la alerta es similar, en Firefox, como en mi caso, haga clic en Advanced.

Presione en “Accept the Risk and Continue

Inicie sesión en GSM utilizando el usuario y la contraseña que definió al crear el usuario de la interfaz web:

Una vez dentro, en el menú principal, presione Scans y luego en Tasks.

Clic sobre el icono y sobre “New Task”.

Complete toda la información requerida, en Scan Targets, haga clic nuevamente en el icono:

Al presionar en una nueva ventana solicitará información sobre el objetivo, puede definir un solo host por IP o nombre de dominio, también puede importar objetivos desde archivos, una vez que haya completado todos los campos solicitados, presione Save.

Presione Save nuevamente

Una vez definido, puede ver su tarea creada con un botón PLAY para iniciar el escaneo:

Si presiona el botón Play, el estado cambiará a “requested“:

Luego comenzará a mostrar el progreso:

Una vez que haya terminado, verá el estado Done, haga clic en Status.

Una vez dentro, puede hacer clic en Results para ver una pantalla similar a la siguiente:

En este caso, GSM encontró una ligera vulnerabilidad sin importancia:

Este análisis se ejecutó en un sistema Debian recientemente instalado y actualizado sin servicios. Si está interesado en las prácticas de Pen test, puede obtener un entorno de prueba virtual de seguridad Metasploitable lleno de vulnerabilidades listo para ser detectado y explotado.

Original: https://linuxhint.com/what_is_network_penetration_testing/.