Tutoriales

Una aparejo de revisión de sitios web basada en reacciones

HttpDoom es una subsistencia muy rápida de grandes superficies de ataque basadas en HTTP. Muy inspirado por Aquatone.

¿Por qué?

Cuando utilizo Aquatone para escanear algunos hosts, tengo algunos problemas de rendimiento correcto a la función de captura de pantalla y la error de funciones de extensibilidad, como validar tecnologías de front-end con un sistema similar a un complemento. Por otra parte, mi saco de código consiste principalmente en C # y Rust. Ayudar una aparejo escrita en otro idioma puede originar muchos problemas.

Con estas ideas, nace HttpDoom.

Instalar

Para instalar HttpDoom en el ciclo de extensión flagrante, una compilación independiente del tiempo de ejecución no tiene que estar habitable en este momento (sólo desarrollar Las compilaciones están disponibles), Tú debe tener tiempo de ejecución .NET5 (o SDK) – AKA dotnet – instalado en su hostUsando la cautiverio de herramientas .NET habitable en Linux o MacOS (la instalación cibernética para Windows no es compatible actualmente, su secuencia de comandos de instalación de PR es bienvenida. WSL funciona adecuadamente):

$ ./installer.sh

El script de instalación asimismo actualiza nuevas versiones de HttpDoom (elimina la instalación flagrante).

¿Como funciona esto?

La descripción (--help) la CLI es todo lo que necesita conocer:

HttpDoom:
HttpDoom es una aparejo de revisión receptiva para una amplia serie de sitios web
Superficie.
Número de hosts para obtener una descripción militar rápida de los ataques basados ​​en HTTP

Usar:
HttpDoom [options]

Opciones:
-d, –debug Imprimir información de depuración
-f, -follow-redirect Los clientes HTTP siguen cualquier
Redirecciones (el valencia predeterminado es imitado)
-m, –max-redirects Profundidad máxima de redireccionamiento obligatorio, si
activar (el predeterminado es 3)
-s, –screenshot Toma capturas de pantalla del hospedador vivo
con ChromeDriver (el valencia predeterminado es imitado)
-r, – Resolución de captura de pantalla Especifica la resolución de captura de pantalla (predeterminado)
es 1366 × 768)
-F, –capture-favicon Descarga el favicon de la aplicación
-h, –headers Establecer encabezados predeterminados para cada solicitud
Agente de becario)
(Unificado es solo una coincidencia
-t, –http-timeout Tiempo de prórroga en milisegundos para HTTP
Solicitudes (el valencia predeterminado es 5000)
-T, –threads Número de subprocesos simultáneos
(El valencia predeterminado es 20)
-o, –output-directory Ruta para achivar el directorio de salida

-p, – puertos que se comprobarán (el valencia predeterminado es)
80, 443, 8080 y 8433)
-P, –proxy proxy que se utilizará para solicitudes HTTP
-w, –word-list Directorio de hosts contra los que se volará
(REQUERIDO)
–Version Muestra información sobre la lectura
-?, -h, –help Muestra la ayuda y la información de uso

¿Pero es rápido?

Echemos un vistazo al resultado de un movimiento contra 5000 hosts en los puertos HttpDoom standard (80, 443, 8080 y 8433) que se ejecutan en la primera lectura de trabajo, con 2 subprocesos (proporcionados por una instancia genérica de Amazon EC2) con la misma configuración para Aquatone 1.7.0:


[+] ¡La transferencia está tira! Lista # 31128 respuestas en 2.49 minutos.
[+] ¡Tenga un total de # 176 anfitriones vivos!


Escribir archivo de sesión … tiempo
– Inicio: 2020-12-20T08: 27: 43Z
– Completado el: 2020-12-20T08: 34: 35Z
– Duración: 6 min 52 s

Nota: Los resultados de estas pruebas pueden variar mucho dependiendo de una serie de condiciones específicas de su hospedador. Ejecute la prueba localmente y vea qué aparejo ofrece el mejor rendimiento.

producción

De forma predeterminada, creamos todos los directorios requeridos y elegimos aleatoriamente sus nombres (puede configurar esto con -over en duda --help).

Internamente del directorio principal un militar.json Se crea un archivo que contiene todos los resultados en un solo archivo (para que sea más manejable de encontrar o capturar en una aparejo visual). Se parece a esto:

[

“Domain”: “google.com”,
“Addresses”: [
“2800:3f0:4001:81a::200e”,
“172.217.28.14”
],
«Solicitado»: «https://google.com/»,
«Puerto»: 443,
«Contenido»: » u003CHTML u003E u003CHEAD u003E u003Cmeta http-equiv = u0022content-type u0022 content = u0022text / html; charset = utf-8 u0022 u003E n u003CTITLE u003E u003 / TITLE u003E u003C / HEAD u003E u003CBODY u003E n u003CH1 u003E301 Moved u003C / H1 u003E nEl documento se ha movido n u003CA HREF = u0022https: //www.google.com u0022 u003Ehere u003C / A u003E. r n u003C / BODY u003E u003C / HTML u003E r n ”,
«ScreenshotPath»: «C: Users REDACTED AppData Regional Temp c14obxml.kfy Screenshots 0086aea9-c4d4-4bbf-89d8-728e5d2ff184.png»,
«FaviconPath»: «C: Users CENSURADO AppData Regional Temp c14obxml.kfy Favicons 172d671c-636d-443b-b5b4-30ed6e10b8aa.ico»,
«Encabezamiento»: [

“Key”: “Location”,
“Value”: [
“https://www.google.com/”
],

«Aniversario esencia»,
«Valencia»: [
“Tue, 02 Feb 2021 15:59:46 GMT”
],

«Esencia»: «Control de personalidad»,
«Valencia»: [
“public, max-age=2592000”
],

«Esencia»: «Servidor»,
«Valencia»: [
“gws”
],

«Tecla»: «Protección X-XSS»,
«Valencia»: [
“0”
],

«Tecla»: «Opciones de X-Frame»,
«Valencia»: [
“SAMEORIGIN”
],

«Tecla»: «Alt-Svc»,
«Valencia»: [
“h3-29=u0022:443u0022; ma=2592000”,
“h3-T051=u0022:443u0022; ma=2592000”,
“h3-Q050=u0022:443u0022; ma=2592000”,
“h3-Q046=u0022:443u0022; ma=2592000”,
“h3-Q043=u0022:443u0022; ma=2592000”,
“quic=u0022:443u0022; ma=2592000”
]

],
«Galletas»: [],
«StatusCode»: 301
},
// …
]]

Un directorio llamado Resultados únicos asimismo se crea indexando los resultados uno a la vez, categóricamente en función del nombre del URI utilizado para la solicitud, así como las capturas de pantalla cuando se usa HttpDoom con la opción -s y favoritos si el sitio tiene uno y si está usando HttpDoom con la opción -F::

.
├── favicons
Sea ├ 31be8e61-d90b-4b40-bcef-640fb31588e7.ico
E └ 4e097b93-12f2-4f20-9582-547cc6d20312.ico
├── Resultados individuales
│ ├ http: google.com: 80.json
│ └ https: google.com: 443.json
├── Capturas de pantalla
│ ├ 1d395ce1-b329-4379-8d9e-2868ed41e67d.png
9 └ a9f90f23-4d5c-4f13-ba3e-5d8f88aa3926.png
└── militar.json

Nota: El patrón de los archivos de resultados individuales es scheme:address:port.Pero : puede ser un carácter no válido según el sistema eficaz que esté utilizando HttpDoom. Para obtener más información sobre ACK, consulte la documentación de Path.GetInvalidFileNameChars() en MSDN.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba