Volver

Configurar un escáner de auditoría de vulnerabilidades SSL «multihilo» utilizando la API QUALYS en CentOS 7

Imagen del slider

29 de marzo de 2019

Por J. Fau – Experto en ciberseguridad en SQUAD

Descripción: Elobjetivo es configurar un servidor que permita evaluar la correcta implementación de los certificados SSL de los servidores accesibles desde Internet.

La ventaja de este script es que permite proporcionar un archivo de entrada con todas las URL que se van a analizar. Todas las URL se someterán a las pruebas de seguridad de la API de QUALYS. Una vez finalizado el análisis, obtendrás un archivo CSV fácil de leer y reutilizar para manipular los datos en una hoja de cálculo.

Este tutorial se ha elaborado con la siguiente versión: CentOS Linux release 7.6.1810 (Core)

Requisitos previos:

  • Servidor CentOS 7 con instalación mínima
  • Conexión a Internet desde el servidor
  • Disponer de acceso con privilegios de «root» o «sudo» en el servidor
  • Disponer de una cuenta de usuario en el servidor

Fuente:

Script original que no funciona tal cual
https://github.com/moheshmohan/pyssltest/blob/master/pyssltest.py
No utilices el enlace anterior en el marco de este tutorial

/!\ Compromiso y responsabilidad /!\

Usted es el único responsable del uso de este script y de las consecuencias y acciones que pueda emprender tras utilizar esta solución. Aunque el script no realiza ninguna acción intrusiva ni destructiva en los objetivos, en ningún caso el autor del script, el autor de este tutorial o SQUAD podrán ser considerados responsables de los daños directos o indirectos derivados del uso de este tutorial.

Configuración del servidor CentOS

Acciones que deben realizarse con privilegios de «root» o equivalentes

Actualización del servidor

yum -y update

Configuración del repositorio externo EPEL (Extra Packages for Enterprise Linux)

yum -y install epel-release

Instalación del paquete «python-pip»

yum -y install python-pip

Instalación del módulo «unirest» para «PIP»

pip install unirest

Actualización de PIP

pip install --upgrade pip

Comprueba la versión de «PIP»

pip --versión

pip 19.0.1 de /usr/lib/python2.7/site-packages/pip (Python 2.7)

Comprobar la versión de «Python»

python -V

Python 2.7.5

Instalación del paquete «wget»

yum -y install wget

La configuración del servidor ha finalizado.

Configuración del espacio de trabajo

Acciones que se pueden realizar con una cuenta de usuario

Inicia sesión en el servidor con tu cuenta de usuario.

Crear un directorio de trabajo

mkdir scanssl

Acceder al directorio de trabajo

cd scanssl

Descargar el script

wget "https://tinyurl.com/scanssl"

Añadir la extensión «python» al script

mv scanssl scanssl.py

Añadir el permiso de ejecución al archivo

chmod +x scanssl.py

Crear el archivo que contiene las URL que se van a escanear

toca inputurl.txt

Introducir las URL de destino

vi inputurl.txt

Pulsa la tecla«Insert»o«Ins»para pasar al modo de edición del archivo. Debes indicar una sola URL por línea. Puedes introducir tantas URL como quieras.

Pulsa la tecla«Esc» para salir del modo de edición y, a continuación, escribe «:» seguido de«wq!» y pulsa la tecla«Intro» para salir y guardar.

Ejecutar el script

./scanssl.py -i inputurl.txt -o outputurl-31-01-2019.csv -n

No olvides la «-n» para que el resultado no se publique en la página web de QUALYS

Pulsa la tecla «Intro»

Se han leído 1002 URL del archivo

Se han identificado 1002 URL

El número de dominios es 1002

Pulsa Intro para continuar...

Pulsa la tecla«Intro» para iniciar los escaneos

Hay 902 pendientes

Hay 0 no válidos

Hay 0 errores

Hay 0 listos

Hay 101 hilos

Una vez finalizados los escaneos, encontrará en el directorio de trabajo los siguientes elementos:

Un directorio«results»que contiene, para cada una de las URL, un archivo de texto con todos los resultados de cada prueba realizada.

También encontrará el archivo con los resultados generales en formato CSV; en nuestro caso,«outputurl-31-01-2019.csv»

Tras aplicar algunos ajustes con los filtros, puedes obtener el siguiente resultado:

Para descargar los archivos a tu ordenador, puedes utilizar WinSCP si utiliza Windows, o bien el comando SCP si utiliza Linux.
 

Si el resultado de una URL te llama especialmente la atención y quieres más detalles, te recomiendo que realices un análisis adicional en la siguiente dirección: https://www.ssllabs.com/ssltest/index.html https://www.ssllabs.com/ssltest/index.html

Gracias por leerme 😊

Que tengáis un buen escaneo