Testando la seguridad de nuestros servidores I

La soberanía tecnológica y la auto-gestión, hacen que nos tengamos que ocupar de todas las tareas que se requieran en nuestros servicios(actualizaciones,configuraciones,puesta en marcha de servicios,problemas etc..) delegar este servicio en terceros, es justo lo que no queremos, puesto que lo que queremos es tender el control de nuestra propia tecnología, y eso solo puede ocurrir si nos implicamos en ese ámbito. Hoy en día obviar la seguridad de nuestros sistemas es una completa locura,puesto que es la parte mas vulnerable de nuestra infraestructura, ademas si esa infraestructura da un servicio publico donde se almacenan datos de usuarios, lo es todavía mas, las personas que confían en esos servicios, lo hacen porque son una gran alternativa a los tiránicos servicios privativos que existen hoy en día,pero lo hacen también porque saben que las personas que hay detrás de ellos, cuidaran con mimo de esos servicios y los datos expuestos. Hay muchas maneras de securizar nuestros sistemas, no vamos a entrar en ellas, porque daría para muchos artículos, pero lo que si vamos a hacer es una guía muy básica de como testar la seguridad de los mismos, para que nos pueda servir como pequeña referencia, para testar nuestra propia tecnología y servicios.

Nmap

Nmap es una magnifica herramienta para escanear los puertos y servicios a la escucha que tiene un determinado host, junto con algunas opciones mas, es la herramienta que usa “trinity” en la película de Matrix Reloaded, cuya magnifica escena podéis visualizar aquí https://hooktube.com/watch?v=0PxTAn4g20U para instalar nmap en sistemas debian solo necesitamos usar apt-get

apt-get install nmap

Como hemos dicho antes nmap dispone de funciones que no tienen otros programas escaneadores de puertos, entre ellas, la función de ejecutar scripts de vulnerabilidades mientras se realiza el escaneo, nmap tiene mas de 400 scripts que podemos usar, para encontrarlos podemos usar el siguiente comando:

locate nse | grep script

Hay una buena lista como podemos ver, pero para empezar vamos a lanzar el script con la opción por defecto

nmap -sS --script default IP 

Como podemos ver, tenemos un servidor web, con drupal, con los puertos 22,80,443,3306 expuestos, por lo que esos son los “caminos” que deberemos andar para intentar explotar alguna vulnerabilidad, hay multiples opciones que podriamos testear como por ejemplo lanzar todos los scripts de ssh con nmap

nmap -sV --script=smb* IP

O todos los scripts de http

nmap -sV --script=http* IP

También podríamos probar si el servidor tiene una versión de ssl antigua si es vulnerable a “Heart Bleeed”

nmap -sV -p 443 –script=ssl-heartbleed.nse 

Pero para seguir vamos a lanzar otro escaneo con nmap con el script de auth

 nmap -sS --script default IP

Si nos encontramos el mensaje en amarillo, es que se han echo bien los “deberes” y no se permite conexiones ssh que no vengan con clave publica(certificados) por lo que si no tenemos el certificado es absurdo que sigamos probando esa vía, por fuerza bruta o diccionario, a no ser que encontremos una vulnerabilidad de la versión de ssh instalada.

Como hemos desechado la opcion de ssh, vamos a intentar explotar la opcion via web, para ello vamos a usar un escaner de vulneravildiades web como nikto

Nikto

Nikto es un popular escaner de vulneravilidades web del que ya os hablamos hace tiempo https://elbinario.net/2016/09/16/niktoescaner-de-vulnerabilidades-web/ es una poderosa herramienta que nos facilita multiples opciones de escaneo y plugins, vamos a conocerla.

Para instalar nikto, solo teneis que tener perl y seguir al anterior articulo

Primero lanzamos nikto por defecto para que nos escanee el puerto 80 y luego el 443

perl nikto -h IP 

   perl nikto -h IP -p 443

Como veis es muy importante que realicemos el escaner en los dos puertos web, porque las respuestas a el escaneo con distintas y nos pueden mostrar “pistas” de por donde falla la seguridad de nuestros servicios

En las dos capturas obtenemos datos interesantes por explotar, sobre los que volveremos después, de momento podemos testear si TRACE esta activo, como nos indica el reporte

curl –XTRACE http://IP

Si obtenemos una captura como esta:

Esta activo y deberemos desactivarlo si no lo usamos,porque es una via de ataques XSS https://www.owasp.org/index.php/Cross_Site_Tracing

hasta aquí el primer articulo en el próximo iremos viendo nuevas herramientas, para testar nuestra seguridad.

2 Comments

Deja una respuesta

Tu correo no será publicado. Los campos obligatorios están marcados *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax