Las pruebas de sitios le permiten encontrar vulnerabilidades y errores que pueden ser explotados por los atacantes. Si es administrador de un sitio, le recomendamos que añada las pruebas de penetración a su lista de herramientas y busque vulnerabilidades con regularidad para asegurarse de que sus sitios son totalmente seguros. Los problemas descubiertos le ayudarán a corregir los puntos débiles.
Las pruebas de seguridad implican muchas herramientas y tareas diferentes. En este artículo, vamos a cubrir los aspectos básicos de la búsqueda de vulnerabilidades en un sitio web. Con la ayuda de esta instrucción, usted será capaz de mantener su recurso seguro.
Las pruebas de penetración y la búsqueda de vulnerabilidades en un sitio web implican varias acciones. No basta con ejecutar una herramienta y probar el sitio, es necesario un enfoque adecuado que le ayude a recopilar toda la información posible sobre la seguridad de su sistema.
Los pasos principales son
A continuación, veamos qué se debe hacer en cada una de las etapas y qué herramientas se deben utilizar para ello. Es mejor no instalar todos estos programas por separado, sino utilizar un entorno ya preparado para las pruebas de penetración: Kali Linux. Se trata de una distribución de Linux especialmente preparada que ya contiene todos los programas necesarios. De esta forma no tienes que instalar nada. Puedes ejecutar el sistema desde una unidad flash o puedes instalar Kali Linux en tu disco duro.
Para averiguar qué información pueden encontrar otras personas sobre tu sistema, necesitas aplicar varias herramientas:
nmap
es una de las herramientas de escaneo de red más populares. Puedes utilizarla para ver qué servicios se están ejecutando en un servidor web, qué puertos están utilizando, sus versiones de puerto e incluso la versión del sistema operativo. Para ver los puertos abiertos en su máquina ejecute este comando en el terminal de Kali Linux:
$ nmap -sS 192.168.91.249
192.168.91.249
es la dirección ip del recurso. Este comando muestra los puertos abiertos y los nombres de los servicios. Puedes obtener información más detallada, por ejemplo, puedes reunir mucha información sobre el sistema ya en este punto. Por ejemplo, aquí puedes ver que la máquina está ejecutando un servidor SSH, un servidor web, servicios de compartición de archivos Samba y un servidor proxy en el puerto 3128. Todos ellos podrían ser potencialmente vulnerables.
El escáner Nmap le permite profundizar más, con un escaneo más intensivo. Para ello, utilice la opción -A:
$ nmap -A 192.168.91.62
Aquí ya verá mucha más información, como las versiones de los servicios, la hora del sistema, el sistema de gestión de contenidos e incluso la versión del sistema operativo. Además, si se encuentran vulnerabilidades simples como una contraseña FTP débil, también lo sabrá. Puedes leer más sobre cómo usar Nmap en otro artículo. También deberías utilizar otras fuentes de información disponibles. Es importante entender qué información está disponible sobre ti en la red y si un atacante puede obtener información a la que no debería tener acceso.
He aquí algunos servicios:
El fuzzing se utiliza a menudo para el escaneo. La idea detrás del fuzzing es enviar una gran cantidad de datos aleatorios a tu sitio para tratar de encontrar vulnerabilidades. Las diversas herramientas que veremos a continuación simularán ataques para probar la vulnerabilidad de una aplicación.
Fuzzing aplicaciones pueden identificar vulnerabilidades, pero para obtener los mejores resultados vale la pena entender cómo funcionan estas aplicaciones y lo que es el error. Si tienes acceso al código fuente del proyecto, puedes utilizar el fuzzing y el análisis manual en paralelo para encontrar problemas con mayor precisión. Los ataques de fuzzing son muy ruidosos porque requieren la transmisión de muchos datos. Un sistema de protección contra intrusos los notará, hay que tener cuidado. A continuación, veamos las herramientas que se pueden utilizar.
WPScan es un proyecto de código abierto escrito en Ruby específicamente para escanear WordPress. Es muy fácil de usar y puede ser útil para sitios que usan muchos plugins o que no están actualizados. La utilidad no necesita código fuente y realiza escaneos de forma remota.
Nikto es un escáner de vulnerabilidades para sitios web. Funciona mucho más que WPSan, pero está diseñado para algo más que WordPress. Incluye una gran cantidad de plugins, y se ejecutará una gran cantidad de consultas durante la exploración. Por ejemplo, el software puede encontrar un archivo que mostrará información phpinfo. Sin embargo, Nikto genera muchos falsos positivos, por lo que es necesario analizar la salida con cuidado.
Burp Suite es un programa muy potente para encontrar vulnerabilidades en un sitio web o en aplicaciones web. Esta herramienta sólo funciona a través de un navegador web. La herramienta permite comprobar todos los formularios que hay en el sitio web, comprobar el envío de diferentes cabeceras, ver las respuestas y peticiones del navegador, realizar un escaneado activo de URL, realizar un análisis estático de código javascript y buscar vulnerabilidades XSS en el sitio web. Es una gran herramienta, pero puede parecer complicada.
SQLMap es un programa para encontrar vulnerabilidades sql de un sitio web. Puede encontrar todos los lugares posibles donde se pueden realizar inyecciones SQL. Por ejemplo, si supones que puede haber una inyección sql en el parámetro id, utiliza este comando
$ sqlmap -u http://example.com/?id=1 -p id
El programa comprobará diferentes tipos de bases de datos, para que pueda especificar sólo la correcta:
$ sqlmap --dbms=MySQL -u http://example.com/?id=1 -p id
Estos comandos le permiten probar campos, especificar diferentes parámetros como bases de datos, tablas o contraseñas.
La explotación completa la búsqueda de vulnerabilidades en el sitio y permite explotarlas para acceder al sistema o a los datos. En general, si has sido capaz de encontrar agujeros en tu seguridad y cerrarlos, no necesitas hacer nada más. Pero a veces es necesario demostrar que el problema es realmente grave.
Se recomienda no utilizar la explotación de vulnerabilidades en sistemas de producción porque puede acarrear problemas. Es mejor crear una máquina virtual y ya en ella mostrar todo lo que necesitas. Aquí hay algunas herramientas que puede utilizar:
Metasploit es todo un entorno de pruebas de penetración que contiene muchos exploits ya preparados. Puede encontrar exploits para plugins instalados o servicios detectados en el primer paso. En un próximo artículo veremos más detenidamente cómo utilizar Metasploit.
Esta es la etapa final de la búsqueda de vulnerabilidades. En base a todo lo que se ha encontrado necesitas sacar conclusiones y cerrar todos los agujeros. Cuando tengas todos los datos sobre las vulnerabilidades. Priorice y arregle todo lo que ha encontrado. Si fuiste capaz de encontrar estas vulnerabilidades, entonces cualquier otra persona puede encontrarlas.
En este artículo, hemos hecho un curso muy intensivo sobre la búsqueda de vulnerabilidades de sitios web y hemos examinado los principales programas de búsqueda de vulnerabilidades de sitios web que puedes utilizar para asegurarte de que tu recurso o infraestructura es lo más seguro posible. Muchas de estas herramientas son estándares de la industria. Ahora puedes pensar en tu estrategia de pruebas e intentar eliminar todas las vulnerabilidades.
Apply the discount by inserting the promo code in the special field at checkout: