Probando la autenticación http a través de netcat

2

Actualmente estoy intentando rastrear lo que creo que es un falso positivo de Nessus, mis intentos de netcat en el dispositivo están fallando, pero creo que el servicio está apagado de todos modos y Nessus está siendo Nessus.

Esto provocó una pregunta que he tenido durante un tiempo y cada vez que busco en Google, obtengo 9001 respuestas a diferentes cosas ... ¿Cómo se autentican los escáneres de vulnerabilidades en los servicios web usando bash o cmd? Sé que se puede hacer con netcat o ncat, pero parece que no puedo encontrar los resultados adecuados. ¿Cómo se hace?

editar: olvidé mencionar que esto es http.

    
pregunta g3k 24.09.2012 - 18:03
fuente

3 respuestas

5

Si desea probar un protocolo con netcat, entonces necesita manualmente enviar todo lo que enviaría un cliente normal. Para HTTP, se vería algo como esto:

GET / HTTP/1.1
Host: example.com
Authorization: Basic QWxhZGluOnNlc2FtIG9wZW4=
User-Agent: Some call me... Tim

Por supuesto, deberías cambiar todos los campos para reflejar lo que deseas enviar. Es mejor utilizar una herramienta que realmente sepa hablar HTTP.

Soy parcial al paquete lwp-request de perl, que la mayoría de la gente conoce simplemente como los comandos GET y POST . Se vería algo como esto:

  

GET -USse -C someuser: somepass enlace

Consulte la página del manual para ver las opciones, pero -U = Solicitar encabezados, -S = Cadena de estado, -s = Código de estado, -e = encabezados de respuesta, -C = credenciales

Es simple, capaz y flexible.

curl también es un paquete muy popular para hacer este tipo de cosas y puede coincidir con la funcionalidad lwp-request bastante punto por punto y luego algunas, pero es más complejo. Lo mismo ocurre con wget , otra opción popular.

    
respondido por el tylerl 24.09.2012 - 19:09
fuente
0

EDITAR: Si está probando la autenticación HTTP, use un navegador o un curl en la línea de comandos.

Para que un explorador de vulnerabilidades de red sea útil, debe poder interactuar con una amplia variedad de protocolos. No ha mencionado el protocolo con el que está tratando, por lo que nadie puede ayudarlo con los detalles.

En general, puede activar Wirehark, filtrar por el puerto de interés e interceptar los paquetes que produce Nessues. Si se trata de TCP, se puede usar netcat para reproducir algunas de estas solicitudes. El uso de Netcat por parte de un ser humano puede ser muy lento y provocar tiempos de espera. Python, u otro lenguaje de scripting también se puede usar para reproducir el tráfico capturado y puede hacerlo mucho más rápido que un humano usando netcat.

    
respondido por el rook 24.09.2012 - 18:31
fuente
0

Otras respuestas han hablado acerca de los clientes para probar la autenticación HTTP, y son buenas, pero mirando la redacción de su pregunta, parece que su pregunta más básica es si el puerto está abierto o no (por ejemplo, cree que el servicio está apagado ").

Un explorador de puertos como nmap le permitirá verificar puertos particulares con seguridad. Que es lo que Nessus está usando, por supuesto. También es posible que desee considerar la ejecución de tcpdump y la grabación de la exploración, luego puede retroceder y ver qué puertos respondían a Nessus; a veces puede leer los informes en el sentido de que hay un servicio cuando, de hecho, los resultados reflejan un oyente de red diferente al que está pensando.

    
respondido por el gowenfawr 24.09.2012 - 19:53
fuente

Lea otras preguntas en las etiquetas