Revisión de ferramentas gratuítas para probar recursos web e moito máis v2

Hai un tempo escribín sobre isto, pero un pouco escaso e caótico. Despois, decidín ampliar a lista de ferramentas na revisión, engadir estrutura ao artigo e ter en conta as críticas (moitas grazas Lefty para obter asesoramento) e enviouno a un concurso en SecLab (e publicouno ligazón, pero por todas as razóns obvias ninguén a viu). Rematou o concurso, xa están anunciados os resultados e coa conciencia tranquila podo publicalo (o artigo) en Habré.

Aplicación web gratuíta Ferramentas de Pentester

Neste artigo falarei das ferramentas máis populares para pentesting (probas de penetración) de aplicacións web mediante a estratexia da "caixa negra".
Para iso, analizaremos as utilidades que nos axudarán con este tipo de probas. Considere as seguintes categorías de produtos:

  1. Escáneres de rede
  2. Escáneres de violación de scripts web
  3. Explotación
  4. Automatización de inxeccións
  5. Depuradores (sniffers, proxies locais, etc.)


Algúns produtos teñen un “carácter” universal, polo que os clasificarei na categoría na que teñen unоmellor resultado (opinión subxectiva).

Escáneres de rede.

A tarefa principal é descubrir os servizos de rede dispoñibles, instalar as súas versións, determinar o sistema operativo, etc.

NmapRevisión de ferramentas gratuítas para probar recursos web e moito máis v2
Nmap ("Mapeador de rede") é unha utilidade gratuíta e de código aberto para análise de redes e auditoría de seguridade do sistema. Os adversarios violentos da consola poden usar Zenmap, que é unha GUI para Nmap.
Este non é só un escáner "intelixente", é unha ferramenta extensible seria (unha das "funcións pouco comúns" é a presenza dun script para comprobar a presenza dun verme nun nodo "Stuxnet"(mencionado aquí). Exemplo de uso típico:

nmap -A -T4 localhost

-A para a detección de versións do SO, a exploración de guións e o rastrexo
-Configuración de control de tempo T4 (máis é máis rápido, de 0 a 5)
localhost - host de destino
Algo máis 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 é un conxunto de opcións do perfil de "escaneo completo lento" en Zenmap. Leva bastante tempo completar, pero ao final ofrece información máis detallada que se pode atopar sobre o sistema de destino. Guía de axuda en ruso, se decides afondar, tamén recomendo traducir o artigo Guía para principiantes de Nmap.
Nmap recibiu o status de "Produto de seguridade do ano" de revistas e comunidades como Linux Journal, Info World, LinuxQuestions.Org e Codetalker Digest.
Un punto interesante, Nmap pódese ver nas películas "The Matrix Reloaded", "Die Hard 4", "The Bourne Ultimatum", "Hottabych" e outro.

Ferramentas IPRevisión de ferramentas gratuítas para probar recursos web e moito máis v2
Ferramentas IP - unha especie de conxunto de diferentes utilidades de rede, que inclúe unha GUI, "dedicada" aos usuarios de Windows.
Escáner de portos, recursos compartidos (impresoras/cartafoles compartidos), WhoIs/Finger/Lookup, cliente telnet e moito máis. Só unha ferramenta cómoda, rápida e funcional.

Non hai ningún punto particular en considerar outros produtos, xa que hai moitas utilidades nesta área e todas teñen principios de funcionamento e funcionalidade similares. Aínda así, nmap segue sendo o máis usado.

Escáneres de violación de scripts web

Tentando atopar vulnerabilidades populares (SQL inj, XSS, LFI/RFI, etc.) ou erros (arquivos temporais non eliminados, indexación de directorios, etc.)

Escáner de vulnerabilidades web AcunetixRevisión de ferramentas gratuítas para probar recursos web e moito máis v2
Escáner de vulnerabilidades web Acunetix — na ligazón podes ver que este é un escáner xss, pero isto non é totalmente certo. A versión gratuíta, dispoñible aquí, ofrece moitas funcionalidades. Normalmente, a persoa que executa este escáner por primeira vez e recibe un informe sobre o seu recurso por primeira vez experimenta un lixeiro shock, e entenderá por que unha vez que o faga. Este é un produto moi potente para analizar todo tipo de vulnerabilidades nun sitio web e funciona non só cos sitios web habituais de PHP, senón tamén noutros idiomas (aínda que a diferenza de linguaxe non é un indicador). Non ten ningún sentido particular describir as instrucións, xa que o escáner simplemente "recolle" as accións do usuario. Algo semellante a "seguinte, seguinte, seguinte, listo" nunha instalación de software típica.

NiktoRevisión de ferramentas gratuítas para probar recursos web e moito máis v2
Nikto Este é un explorador web de código aberto (GPL). Elimina o traballo manual rutineiro. Busca no sitio de destino scripts sen eliminar (algúns test.php, index_.php, etc.), ferramentas de administración de bases de datos (/phpmyadmin/, /pma e similares), etc., é dicir, comproba o recurso para detectar os erros máis comúns. xeralmente causada por factores humanos.
Ademais, se atopa algún script popular, comproba que hai exploits publicados (que están na base de datos).
Informes de métodos "non desexados" dispoñibles como PUT e TRACE
Etcétera. É moi cómodo se traballas como auditor e analizas sitios web todos os días.
Dos inconvenientes, gustaríame destacar a alta porcentaxe de falsos positivos. Por exemplo, se o teu sitio sempre dá o erro principal en lugar dun erro 404 (cando debería ocorrer), entón o escáner dirá que o teu sitio contén todos os scripts e todas as vulnerabilidades da súa base de datos. Na práctica, isto non ocorre con tanta frecuencia, pero de feito, moito depende da estrutura do teu sitio.
Uso clásico:

./nikto.pl -host localhost

Se precisa estar autorizado no sitio, pode configurar unha cookie no ficheiro nikto.conf, a variable STATIC-COOKIE.

WiktoRevisión de ferramentas gratuítas para probar recursos web e moito máis v2
Wikto — Nikto para Windows, pero con algúns engadidos, como a lóxica "difusa" á hora de comprobar o código de erros, usar GHDB, obter ligazóns e cartafoles de recursos, seguimento en tempo real de solicitudes/respostas HTTP. Wikto está escrito en C# e require o framework .NET.

saltarínRevisión de ferramentas gratuítas para probar recursos web e moito máis v2
saltarín - escáner de vulnerabilidades web de Michal Zalewski (coñecido como lcamtuf). Escrito en C, multiplataforma (Win require Cygwin). De forma recursiva (e durante moito tempo, unhas 20 ~ 40 horas, aínda que a última vez que funcionou para min foi de 96 horas) rastrexa todo o sitio e atopa todo tipo de buracos de seguridade. Tamén xera moito tráfico (varios GB entrantes/saíntes). Pero todos os medios son bos, especialmente se tes tempo e recursos.
Uso típico:

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

No cartafol "informes" haberá un informe en html, exemplo.

w3af Revisión de ferramentas gratuítas para probar recursos web e moito máis v2
w3af — Web Application Attack and Audit Framework, escáner de vulnerabilidades web de código aberto. Ten unha GUI, pero podes traballar desde a consola. Máis precisamente, é un marco con unha morea de complementos.
Podes falar das súas vantaxes durante moito tempo, é mellor probalo :] O traballo típico con el pasa por escoller un perfil, especificar un obxectivo e, de feito, poñelo en marcha.

Marco de seguridade MantraRevisión de ferramentas gratuítas para probar recursos web e moito máis v2
Mantra é un soño que se fixo realidade. Unha colección de ferramentas de seguridade da información gratuítas e abertas integradas nun navegador web.
Moi útil á hora de probar aplicacións web en todas as fases.
O uso redúcese a instalar e iniciar o navegador.

De feito, hai moitas utilidades nesta categoría e é bastante difícil seleccionar unha lista específica delas. Na maioría das veces, cada pentester determina o conxunto de ferramentas que necesita.

Explotación

Para unha explotación automatizada e máis cómoda das vulnerabilidades, os exploits están escritos en software e scripts, aos que só precisan pasar parámetros para explotar o buraco de seguridade. E hai produtos que eliminan a necesidade de buscar manualmente exploits, e mesmo aplicalos sobre a marcha. Esta categoría será agora discutida.

Marco Metasploit Revisión de ferramentas gratuítas para probar recursos web e moito máis v2
O marco Metasploit® - unha especie de monstro no noso negocio. Pode facer tanto que as instrucións abranguen varios artigos. Veremos a explotación automática (nmap + metasploit). A conclusión é esta: Nmap analizará o porto que necesitamos, instalará o servizo e metasploit tentará aplicarlle exploits en función da clase de servizo (ftp, ssh, etc.). En lugar de instrucións de texto, inserirei un vídeo, bastante popular sobre o tema autopwn

Ou simplemente podemos automatizar o funcionamento do exploit que necesitamos. Ex.:

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 feito, as capacidades deste marco son moi amplas, polo que se decides afondar, vai a Ligazón

ArmitageRevisión de ferramentas gratuítas para probar recursos web e moito máis v2
Armitage — OVA do xénero cyberpunk GUI para Metasploit. Visualiza o destino, recomenda exploits e ofrece funcións avanzadas do framework. En xeral, para os que lles gusta que todo se vexa bonito e impresionante.
Screencast:

Tenable Nessus®Revisión de ferramentas gratuítas para probar recursos web e moito máis v2
Escáner de vulnerabilidades Tenable Nessus® - pode facer moitas cousas, pero unha das capacidades que necesitamos é determinar que servizos teñen exploits. Versión gratuíta do produto "só na casa"

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

  • Descargado (para o teu sistema), instalado, rexistrado (a chave envíase ao teu correo electrónico).
  • Iniciou o servidor, engadiu o usuario a Nessus Server Manager (botón Xestionar usuarios)
  • Imos ao enderezo
    https://localhost:8834/

    e obtén o cliente flash no navegador

  • Escaneos -> Engadir -> enche os campos (seleccionando o perfil de dixitalización que nos convén) e fai clic en Escanear

Despois dun tempo, o informe de dixitalización aparecerá na pestana Informes
Para comprobar a vulnerabilidade práctica dos servizos aos exploits, pode utilizar o Metasploit Framework descrito anteriormente ou tentar atopar un exploit (por exemplo, en Explot-db, tormenta de paquetes, busca de exploración etc.) e utilízao manualmente contra o seu sistema
IMHO: demasiado voluminoso. Trouxéino como un dos líderes nesta dirección da industria do software.

Automatización de inxeccións

Moitos dos escáneres seccionais das aplicacións web buscan inxeccións, pero aínda son só escáneres xerais. E hai utilidades que se ocupan especificamente da busca e explotación de inxeccións. Xa falaremos deles.

sqlmapRevisión de ferramentas gratuítas para probar recursos web e moito máis v2
sqlmap — Utilidade de código aberto para buscar e explotar inxeccións SQL. Admite servidores de bases de datos como: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
O uso típico redúcese á liña:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Hai bastantes manuais, incluso en ruso. O software facilita moito o traballo dun pentester cando traballa nesta área.
Engaderei un vídeo de demostración oficial:

bsqlbf-v2
bsqlbf-v2 — un script perl, un forzador bruto para inxeccións Sql "cegas". Funciona tanto con valores enteiros en url como con valores de cadea.
Base de datos soportada:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • oráculo

Exemplo 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 - Vinculación con parámetros
-cego u — parámetro para a inxección (por defecto, o último tómase da barra de enderezos)
-sql "seleccione o nome da táboa de imformation_schema.tables limite 1 offset 0" — a nosa solicitude arbitraria á base de datos
- Base de datos 1 — Servidor de base de datos: MSSQL
-Tipo 1 — tipo de ataque, inxección "cega", baseada en respostas de verdadeiro e erro (por exemplo, erros de sintaxe)

Depuradores

Estas ferramentas son utilizadas principalmente polos desenvolvedores cando teñen problemas cos resultados da execución do seu código. Pero esta dirección tamén é útil para pentesting, cando podemos substituír os datos que necesitamos sobre a marcha, analizar o que vén en resposta aos nosos parámetros de entrada (por exemplo, durante o fuzzing), etc.

Suite Burp
Suite Burp — un conxunto de utilidades que axudan coas probas de penetración. Está en Internet boa crítica en ruso de Raz0r (aínda que para 2008).
A versión gratuíta inclúe:

  • Burp Proxy é un proxy local que che permite modificar solicitudes xa xeradas desde o navegador
  • Burp Spider - araña, busca ficheiros e directorios existentes
  • Burp Repeater: envío manual de solicitudes HTTP
  • Burp Sequencer: analiza valores aleatorios en formularios
  • Burp Decoder é un codificador-decodificador estándar (html, base64, hex, etc.), dos cales hai miles, que se poden escribir rapidamente en calquera idioma.
  • Burp Comparer - Compoñente de comparación de cadeas

En principio, este paquete resolve case todos os problemas relacionados con esta área.

ViolinistaRevisión de ferramentas gratuítas para probar recursos web e moito máis v2
Violinista — Fiddler é un proxy de depuración que rexistra todo o tráfico HTTP(S). Permítelle examinar este tráfico, establecer puntos de interrupción e "xogar" cos datos entrantes ou saíntes.

Hai tamén Ovella de lume, monstro Wireshark e outros, a elección correspóndelle ao usuario.

Conclusión

Por suposto, cada pentester ten o seu propio arsenal e o seu propio conxunto de utilidades, xa que simplemente hai moitas. Tentei enumerar algúns dos máis cómodos e populares. Pero para que calquera poida familiarizarse con outras utilidades nesta dirección, proporcionarei ligazóns a continuación.

Varios tops/listas de escáneres e utilidades

Distribucións de Linux que xa inclúen unha morea de diferentes utilidades de pentesting

actualización: Documentación de BurpSuite en ruso do equipo "Hack4Sec" (engadido Anton Kuzmin)

PS Non podemos gardar silencio sobre XSpider. Non participa na revisión, aínda que é shareware (decateime cando enviei o artigo a SecLab, en realidade por iso (non coñecemento, e carece da última versión 7.8) e non o incluín no artigo). E, en teoría, estaba prevista unha revisión do mesmo (teño probas difíciles preparadas para iso), pero non sei se o verá o mundo.

PPS Algún material do artigo utilizarase para o propósito previsto nun próximo informe en CodeFest 2012 na sección QA, que conterá ferramentas non mencionadas aquí (gratuítas, por suposto), así como o algoritmo, en que orde usar que, que resultado esperar, que configuracións usar e todo tipo de consellos e trucos cando traballando (penso no informe case todos os días, intentarei contarche todo o mellor sobre o tema do tema)
Por certo, houbo unha lección sobre este artigo en Open InfoSec Days (etiqueta en Habré, sitio), pode roubar aos Korovans botar unha ollada materiais.

Fonte: www.habr.com

Engadir un comentario