Revisión de herramientas gratuitas para pentesting de recursos web y más v2

Hace algún tiempo escribí sobre Este, pero un poco exiguo y caótico. Luego, decidí ampliar la lista de herramientas en la revisión, agregar estructura al artículo y tener en cuenta las críticas (muchas gracias). Lefty para pedir consejo) y lo envió a un concurso en SecLab (y publicó enlace, pero por razones obvias nadie la vio). El concurso ha terminado, se han anunciado los resultados y con la conciencia tranquila puedo publicarlo (el artículo) en Habré.

Herramientas gratuitas de Pentester para aplicaciones web

En este artículo hablaré de las herramientas más populares para pentesting (pruebas de penetración) de aplicaciones web utilizando la estrategia de “caja negra”.
Para hacer esto, veremos utilidades que ayudarán con este tipo de pruebas. Considere las siguientes categorías de productos:

  1. Escáneres de red
  2. Escáneres de infracción de scripts web
  3. Explotación
  4. Automatización de inyecciones.
  5. Depuradores (rastreadores, proxies locales, etc.)


Algunos productos tienen un “carácter” universal, así que los clasificaré en la categoría en la que tengan unоmejor resultado (opinión subjetiva).

Escáneres de red.

La tarea principal es descubrir los servicios de red disponibles, instalar sus versiones, determinar el sistema operativo, etc.

NmapRevisión de herramientas gratuitas para pentesting de recursos web y más v2
Nmap ("Mapeador de red") es una utilidad gratuita y de código abierto para análisis de redes y auditoría de seguridad del sistema. Los oponentes violentos de la consola pueden usar Zenmap, que es una GUI para Nmap.
Este no es solo un escáner "inteligente", es una herramienta extensible seria (una de las "características inusuales" es la presencia de un script para verificar un nodo en busca de un gusano "Stuxnet" (mencionado aquí). Ejemplo de uso típico:

nmap -A -T4 localhost

-A para detección de versión del sistema operativo, escaneo y seguimiento de scripts
-Configuración de control de tiempo T4 (más es más rápido, de 0 a 5)
localhost - host de destino
¿Algo más duro?

nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost

Este es un conjunto de opciones del perfil de "análisis completo lento" en Zenmap. Lleva bastante tiempo completarlo, pero finalmente proporciona información más detallada que se puede encontrar sobre el sistema de destino. Guía de ayuda en ruso, si decides profundizar más, también te recomiendo traducir el artículo. Guía para principiantes de Nmap.
Nmap ha recibido el estatus de "Producto de seguridad del año" de revistas y comunidades como Linux Journal, Info World, LinuxQuestions.Org y Codetalker Digest.
Un punto interesante es que Nmap se puede ver en las películas "The Matrix Reloaded", "Die Hard 4", "The Bourne Ultimatum", "Hottabych" y otro.

IP-ToolsRevisión de herramientas gratuitas para pentesting de recursos web y más v2
IP-Tools - una especie de conjunto de diferentes utilidades de red, viene con una GUI, "dedicada" a los usuarios de Windows.
Escáner de puertos, recursos compartidos (impresoras/carpetas compartidas), WhoIs/Finger/Lookup, cliente telnet y mucho más. Simplemente una herramienta conveniente, rápida y funcional.

No tiene ningún sentido considerar otros productos, ya que existen muchas utilidades en esta área y todas tienen principios operativos y funcionalidades similares. Aún así, nmap sigue siendo el más utilizado.

Escáneres de infracción de scripts web

Intentar encontrar vulnerabilidades populares (SQL inj, XSS, LFI/RFI, etc.) o errores (archivos temporales no eliminados, indexación de directorios, etc.)

Escáner de vulnerabilidades web AcunetixRevisión de herramientas gratuitas para pentesting de recursos web y más v2
Escáner de vulnerabilidades web Acunetix — En el enlace puedes ver que se trata de un escáner xss, pero esto no es del todo cierto. La versión gratuita, disponible aquí, proporciona muchas funciones. Por lo general, la persona que ejecuta este escáner por primera vez y recibe un informe sobre su recurso por primera vez experimenta un ligero shock, y comprenderá por qué una vez que lo haga. Este es un producto muy poderoso para analizar todo tipo de vulnerabilidades en un sitio web y funciona no solo con los sitios web PHP habituales, sino también en otros idiomas (aunque la diferencia de idioma no es un indicador). No tiene ningún sentido describir las instrucciones, ya que el escáner simplemente "capta" las acciones del usuario. Algo similar a “siguiente, siguiente, siguiente, listo” en una instalación de software típica.

NadieRevisión de herramientas gratuitas para pentesting de recursos web y más v2
Nadie Este es un rastreador web de código abierto (GPL). Elimina el trabajo manual rutinario. Busca en el sitio de destino scripts no eliminados (algunos test.php, index_.php, etc.), herramientas de administración de bases de datos (/phpmyadmin/, /pma y similares), etc., es decir, verifica el recurso en busca de los errores más comunes. generalmente causado por factores humanos.
Además, si encuentra algún script popular, lo comprueba en busca de exploits publicados (que se encuentran en la base de datos).
Informa métodos "no deseados" disponibles como PUT y TRACE
Etcétera. Es muy conveniente si trabajas como auditor y analizas sitios web todos los días.
De las desventajas, me gustaría destacar el alto porcentaje de falsos positivos. Por ejemplo, si su sitio siempre muestra el error principal en lugar de un error 404 (cuando debería ocurrir), entonces el escáner dirá que su sitio contiene todos los scripts y todas las vulnerabilidades de su base de datos. En la práctica, esto no sucede tan a menudo, pero de hecho, mucho depende de la estructura de su sitio.
Uso clásico:

./nikto.pl -host localhost

Si necesita estar autorizado en el sitio, puede configurar una cookie en el archivo nikto.conf, la variable STATIC-COOKIE.

ViktoRevisión de herramientas gratuitas para pentesting de recursos web y más v2
Vikto — Nikto para Windows, pero con algunas adiciones, como lógica “difusa” al verificar el código en busca de errores, usar GHDB, obtener enlaces y carpetas de recursos, monitoreo en tiempo real de solicitudes/respuestas HTTP. Wikto está escrito en C# y requiere el marco .NET.

saltamontesRevisión de herramientas gratuitas para pentesting de recursos web y más v2
saltamontes - escáner de vulnerabilidad web de Michal Zalewski (conocido como lcamtuf). Escrito en C, multiplataforma (Win requiere Cygwin). De forma recursiva (y durante mucho tiempo, entre 20 y 40 horas, aunque la última vez que funcionó para mí fue 96 horas) rastrea todo el sitio y encuentra todo tipo de agujeros de seguridad. También genera mucho tráfico (varios GB entrantes/salientes). Pero todos los medios son buenos, especialmente si se dispone de tiempo y recursos.
Uso típico:

./skipfish -o /home/reports www.example.com

En la carpeta “informes” habrá un informe en html, ejemplo.

w3af Revisión de herramientas gratuitas para pentesting de recursos web y más v2
w3af — Marco de auditoría y ataques de aplicaciones web, escáner de vulnerabilidades web de código abierto. Tiene GUI, pero puedes trabajar desde la consola. Más precisamente, es un marco con un montón de complementos.
Puedes hablar de sus ventajas durante mucho tiempo, es mejor probarlo :] El trabajo típico con él se reduce a elegir un perfil, especificar un objetivo y, de hecho, ejecutarlo.

Marco de seguridad de MantraRevisión de herramientas gratuitas para pentesting de recursos web y más v2
Mantra es un sueño hecho realidad. Una colección de herramientas de seguridad de la información abiertas y gratuitas integradas en un navegador web.
Muy útil a la hora de probar aplicaciones web en todas las etapas.
El uso se reduce a instalar e iniciar el navegador.

De hecho, hay muchas utilidades en esta categoría y es bastante difícil seleccionar una lista específica de ellas. La mayoría de las veces, cada pentester determina por sí mismo el conjunto de herramientas que necesita.

Explotación

Para una explotación automatizada y más conveniente de las vulnerabilidades, los exploits se escriben en software y scripts, a los que solo se les deben pasar parámetros para explotar el agujero de seguridad. Y hay productos que eliminan la necesidad de buscar exploits manualmente e incluso aplicarlos sobre la marcha. Esta categoría será ahora discutida.

Metasploit Framework Revisión de herramientas gratuitas para pentesting de recursos web y más v2
El marco Metasploit® - una especie de monstruo en nuestro negocio. Puede hacer tanto que las instrucciones cubrirán varios artículos. Veremos la explotación automática (nmap + metasploit). La conclusión es la siguiente: Nmap analizará el puerto que necesitamos, instalará el servicio y metasploit intentará aplicarle exploits según la clase de servicio (ftp, ssh, etc.). En lugar de instrucciones de texto, insertaré un vídeo bastante popular sobre el tema autopwn.

O simplemente podemos automatizar el funcionamiento del exploit que necesitamos. P.ej:

msf > use auxiliary/admin/cisco/vpn_3000_ftp_bypass
msf auxiliary(vpn_3000_ftp_bypass) > set RHOST [TARGET IP] msf auxiliary(vpn_3000_ftp_bypass) > run

De hecho, las capacidades de este marco son muy amplias, por lo que si decide profundizar más, vaya a enlace

ArmitageRevisión de herramientas gratuitas para pentesting de recursos web y más v2
Armitage — OVA de la GUI del género cyberpunk para Metasploit. Visualiza el objetivo, recomienda exploits y proporciona funciones avanzadas del marco. En general, para quienes les gusta que todo luzca bonito e impresionante.
Vídeo:

Nessus® sostenibleRevisión de herramientas gratuitas para pentesting de recursos web y más v2
Escáner de vulnerabilidad Tenable Nessus® - puede hacer muchas cosas, pero una de las capacidades que necesitamos es determinar qué servicios tienen vulnerabilidades. Versión gratuita del producto “sólo a domicilio”

Использование:

  • Descargado (para su sistema), instalado, registrado (la clave se envía a su correo electrónico).
  • Inicié el servidor, agregué el usuario a Nessus Server Manager (botón Administrar usuarios)
  • vamos a la dirección
    https://localhost:8834/

    y obtener el cliente flash en el navegador

  • Escaneos -> Agregar -> complete los campos (seleccionando el perfil de escaneo que más nos convenga) y haga clic en Escanear

Después de un tiempo, el informe del análisis aparecerá en la pestaña Informes.
Para comprobar la vulnerabilidad práctica de los servicios a los exploits, puede utilizar Metasploit Framework descrito anteriormente o intentar encontrar un exploit (por ejemplo, en explotar-db, tormenta de paquetes, explotar la búsqueda etc.) y utilizarlo manualmente contra su sistema
En mi humilde opinión: demasiado voluminoso. Lo traje como uno de los líderes en esta dirección de la industria del software.

Automatización de inyecciones.

Muchos de los escáneres de seguridad de aplicaciones web buscan inyecciones, pero siguen siendo solo escáneres generales. Y existen utilidades que se ocupan específicamente de buscar y explotar inyecciones. Hablaremos de ellos ahora.

mapa sqlRevisión de herramientas gratuitas para pentesting de recursos web y más v2
mapa sql — utilidad de código abierto para buscar y explotar inyecciones SQL. Soporta servidores de bases de datos como: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
El uso típico se reduce a la línea:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Hay suficientes manuales, incluso en ruso. El software facilita enormemente el trabajo de un pentester cuando trabaja en esta área.
Agregaré una demostración en video oficial:

bsqlbf-v2
bsqlbf-v2 – un script en Perl, una fuerza bruta para inyecciones SQL “ciegas”. Funciona tanto con valores enteros en url como con valores de cadena.
Base de datos compatible:

  • MS SQL
  • MySQL
  • PostgreSQL
  • Oracle

Ejemplo de uso:

./bsqlbf-v2-3.pl -url www.somehost.com/blah.php?u=5 -blind u -sql "select table_name from imformation_schema.tables limit 1 offset 0" -database 1 -type 1

-url www.somehost.com/blah.php?u=5 — Enlace con parámetros
-ciego — parámetro para inyección (por defecto, el último se toma de la barra de direcciones)
-sql "seleccione nombre_tabla de imformation_schema.tables límite 1 desplazamiento 0" — nuestra solicitud arbitraria a la base de datos
-base de datos 1 - servidor de base de datos: MSSQL
-tipo 1 — tipo de ataque, inyección “ciega”, basada en respuestas Verdadero y Error (por ejemplo, errores de sintaxis)

Depuradores

Estas herramientas son utilizadas principalmente por los desarrolladores cuando tienen problemas con los resultados de la ejecución de su código. Pero esta dirección también es útil para el pentesting, cuando podemos reemplazar los datos que necesitamos sobre la marcha, analizar lo que surge en respuesta a nuestros parámetros de entrada (por ejemplo, durante la fuzzing), etc.

Suite Burp
Suite Burp — un conjunto de utilidades que ayudan con las pruebas de penetración. esta en internet Buena reseña en ruso de Raz0r (aunque para 2008).
La versión gratuita incluye:

  • Burp Proxy es un proxy local que le permite modificar solicitudes ya generadas desde el navegador.
  • Burp Spider - araña, busca archivos y directorios existentes
  • Burp Repetidor: envío manual de solicitudes HTTP
  • Burp Sequencer: análisis de valores aleatorios en formularios
  • Burp Decoder es un codificador-decodificador estándar (html, base64, hexadecimal, etc.), de los cuales hay miles, que se puede escribir rápidamente en cualquier idioma.
  • Comparador de eructos: componente de comparación de cadenas

En principio, este paquete resuelve casi todos los problemas relacionados con esta área.

FiddlerRevisión de herramientas gratuitas para pentesting de recursos web y más v2
Fiddler — Fiddler es un proxy de depuración que registra todo el tráfico HTTP(S). Le permite examinar este tráfico, establecer puntos de interrupción y "jugar" con datos entrantes o salientes.

También hay Oveja de fuego, monstruo Wireshark y otros, la elección queda a criterio del usuario.

Conclusión

Naturalmente, cada pentester tiene su propio arsenal y su propio conjunto de utilidades, ya que simplemente hay muchas. Intenté enumerar algunos de los más convenientes y populares. Pero para que cualquiera pueda familiarizarse con otras utilidades en esta dirección, proporcionaré enlaces a continuación.

Varios tops/listas de escáneres y utilidades

Distribuciones de Linux que ya incluyen un montón de utilidades de pentesting diferentes

upd: Documentación de BurpSuite en ruso del equipo “Hack4Sec” (agregado antonkuzmin)

PD: No podemos guardar silencio sobre XSpider. No participa en la revisión, aunque es shareware (lo descubrí cuando envié el artículo a SecLab, en realidad por esto (sin conocimiento y falta de la última versión 7.8) y no lo incluí en el artículo). Y en teoría estaba prevista una revisión (tengo preparadas pruebas difíciles para ello), pero no sé si el mundo lo verá.

PPS Parte del material del artículo se utilizará para el propósito previsto en un próximo informe en CódigoFest 2012 en la sección de control de calidad, que contendrá herramientas que no se mencionan aquí (gratuitas, por supuesto), así como el algoritmo, en qué orden usar qué, qué resultado esperar, qué configuraciones usar y todo tipo de sugerencias y trucos cuando trabajando (pienso en el informe casi todos los días, intentaré contarles lo mejor sobre el tema)
Por cierto, hubo una lección sobre este artículo en Jornadas abiertas de InfoSec (etiqueta en Habré, sitio web), poder robar las vacas echa un vistazo Materiales.

Fuente: habr.com

Añadir un comentario