PenTest: Recopilación y escaneo de información

La importancia de recopilar información

Para iniciar un pentest es importante recopilar información sobre el objetivo en primer lugar, esto también incluye definir las metas y los objetivos de la prueba. La recopilación de información consiste en la búsqueda de información pública disponible relacionada con el sistema y busca cuál es la mejor manera de explotar esa información.

El propósito de recopilar tanta información como podamos, es comprender cómo funciona la aplicación o el sistema para descubrir las carencias de seguridad que se pueden resolver. Para ese proceso tenemos dos enfoques:

Recolección pasiva de información – este método se puede usar antes de la recolección activa de información, porque es menos evasivo. Solo se utiliza la información publicada públicamente de la información del objetivo, y se recopila la mayor cantidad de información posible sin establecer contacto entre el pentéster y el objetivo. Para ello podemos utilizar algunas herramientas de código abierto, por ejemplo: dominio whois, redes sociales, servidores de correo, lista de aplicaciones alojadas en la misma dirección IP y otra información abierta.

Recopilación de información activa: en este tipo de enfoque, se requiere más preparación del pentéster porque deja rastros, lo que puede dar lugar al desencadenamiento de alertas al objetivo. Utilizando este método, la organización objetivo puede tomar conciencia del proceso en curso, ya que hay una participación activa con el objetivo. En esta etapa, obtenemos información sobre los puertos abiertos, los servicios, las versiones de las aplicaciones, la versión del sistema operativo, etc.

Conjunto de herramientas del pentester para escanear

Ahora que sabemos qué información queremos recuperar, hay muchas formas de recopilarla. La primera herramienta que todo el mundo debería usar es Google. La cantidad de datos mostrados por Google es enorme y puedes encontrar cosas interesantes con respecto a tu objetivo. La base de datos de Google Hack te muestra una gran lista de trucos útiles para buscar información con el motor de búsqueda de Google. Maltego es también otra herramienta que ayuda a vincular datos con direcciones de negocios y correo electrónico. Buscar información de esa manera se llama indirecta, pero no es suficiente para recuperar todo lo que queremos.

Se mencionó en el artículo anterior que la herramienta principal de un pentester es un sistema operativo orientado a la seguridad. Hay tres grandes: Kali, ParrotSec y BlackArch. Proporcionan todas las herramientas necesarias para ejecutar rápidamente una prueba de penetración contra un entorno. Entre todos ellos, hay algunos que se utilizan principalmente para escanear y recopilar información:

  • nmap: es un escáner de red de código abierto utilizado para descubrir hosts y servicios en una red informática mediante el envío de paquetes y el análisis de las respuestas, también se puede usar para escanear vulnerabilidades.
  • OWASP ZAP: es un escáner de seguridad de aplicaciones web de código abierto. Está diseñado para ser utilizado tanto por aquellos nuevos en seguridad de aplicaciones como por probadores de penetración profesionales.
  • nslookup – esta es una herramienta de línea de comandos disponible en cada computadora para consultar el Sistema de Nombres de dominio para obtener nombres de dominio o direcciones IP o incluso otros registros DNS.

Existen muchas otras herramientas, pero son más específicas dependiendo de los resultados de las mencionadas anteriormente. Por ejemplo, si encuentra un servidor de base de datos que escucha en un puerto al que se puede contactar a través de un software cliente, puede usarlo para intentar conectarse al servicio. Esto llevó a una mayor investigación posterior y cuanto más profundo vayas, mejor será el resultado.

Escanear el host y la red con Nmap

Para realizar un descubrimiento en la red del destino, podemos utilizar la herramienta Nmap. Ayuda a identificar hosts y servicios en una red. En este caso, si queremos escanear un host, podemos obtener información sobre los puertos que están abiertos, los servicios que se están ejecutando, la versión del sistema operativo, etc.

Hay muchos comandos que podemos hacer en Nmap, pero vamos a mostrar dos casos:

Figura 1: Comando «nmap 8.8.8.8»
Figura 2: Comando «nmap cloudflare.com «

En estas dos imágenes podemos ver ejemplos de la salida que el Nmap recupera. Podemos ver los puertos abiertos y cerrados, los servicios que se ejecutan detrás de los puertos y si la red tiene otras direcciones.

Escanee el sitio web con OWASP ZAP

OWASP, que significa Open Web Application Security Project, es una comunidad en línea que produce numerosos recursos en el campo de la seguridad de aplicaciones web. Más que el famoso proyecto Top Ten de OWASP, proporcionan una herramienta llamada ZAP, Zed Attack Proxy. Ayuda a encontrar vulnerabilidades de seguridad dentro de una aplicación web con la ayuda de herramientas como Escáner, Araña, Fuzzer, etc.

Después de iniciar ZAP, el software le muestra una ventana de inicio rápido donde puede colocar la URL de destino y realizar un análisis rápido y de vulnerabilidad en la aplicación web. Este es el primer paso fácil con el software.

Figura 3: OWASP ZAP

También puede configurar ZAP como un proxy para su navegador, por lo que cada solicitud que se realice pasará por ZAP y se analizará.

Sin embargo, el método más eficiente es usar manualmente cada herramienta que se le proporciona:

  • Con la Araña, podrá rastrear a través de un sitio web. El software intentará recuperar cada enlace y página que pueda encontrar dentro del alcance especificado.
  • Con el Fuzzer, si desea realizar un gran número de solicitudes cambiando uno o más parámetros cada vez, le ayudará a definir reglas al respecto
  • Con el Escáner activo, realizará varios ataques y le mostrará cuán vulnerable es la aplicación

ZAP tiene muchas más funciones, y sin embargo es uno de los software más potentes para el escaneo de vulnerabilidades web.

¿Qué es interesante ?

Podemos recopilar mucha información sobre el objetivo, y ahora es importante filtrar lo que es útil para el pentest. Por defecto, todo necesita ser guardado y ninguna información es inútil, pero algunas son más interesantes para un pentester. Por ejemplo: servicios que se ejecutan en el host, versiones de software, nombre y correo electrónico de los empleados de la empresa, direcciones IP, nombre de host y arquitectura. Todo lo que podría ser un punto de entrada para un atacante es una información crítica.

Ahora que tenemos suficiente información sobre el objetivo, el pentester puede dibujar un mapa de amenazas de la red o la aplicación. Se centra en el vector que considera fácil de usar y comienza la explotación de acuerdo con eso. En la siguiente parte de esta serie, hablaremos sobre la explotación y cómo podemos usar lo que encontramos durante la fase de escaneo. Andreia Francisco, del equipo de seguridad, también contribuyó a este artículo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.