¿Riesgo de seguridad? Microsoft-HTTPAPI / 2.0

8

Mientras examinaba la seguridad de nuestras máquinas, descubrí que un host estaba exponiendo un servicio Microsoft-HTTPAPI / 2.0 a través del puerto 80 a Internet.

No estoy familiarizado con esto, pero después de buscar en Google, descubrí que SQL Server 2008 publica SQL Server Reporting Services en el puerto 80 por defecto y se identifica como HTTPAPI / 2.0. El host también está ejecutando IIS7.

Supongo que esto probablemente no sea algo que deba exponerse al mundo. ¿Alguien puede ofrecerme información o consejos sobre el riesgo de seguridad de exponer este servicio?

Response Headers - http://#.#.#.#/
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 10 Aug 2009 10:44:25 GMT
Connection: close
Content-Length: 315

404 Not Found
Cheekysoft
fuente

Respuestas:

7

Si no tiene una buena razón para exponerlo, entonces probablemente no debería exponerlo. Por cierto, puede que te interese este artículo para decidir si debes o no exponerlo

Maxwell
fuente
2

Intenta buscar vulnerabilidades en una base de datos de exploits para esto


fuente
2

Si el encabezado del servidor de la respuesta devuelve "Microsoft-HttpApi / 2.0", significa que se está llamando a HTTP.sys en lugar de IIS. Los exploits y exploraciones de puertos usan esto como un medio de tomar huellas digitales de un servidor IIS (incluso uno que de lo contrario está ocultando el encabezado del servidor).

Puede probar esto arrojando un error usando CURL:

curl -v http://www.yourdomain.com/ -H "Range: bytes=00-18446744073709551615"

Verá algo como esto si su servidor está enviando el encabezado:

HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Thu, 19 Dec 2019 00:45:40 GMT
Connection: close
Content-Length: 339

Puede agregar un valor de registro para que HTTP.sys no incluya el encabezado.

  • Regedit abierto
  • Navegue a: Computadora \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parámetros
  • Si DisableServerHeader no existe, créelo (DWORD 32bit) y asígnele un valor de 2. Si existe y el valor no es 2, configúrelo en 2.
  • Reinicie el servidor O reinicie el servicio HTTP llamando "net stop http" y luego "net start http"

Referencia: WS / WCF: eliminar el encabezado del servidor

Después de agregar la clave de registro, la respuesta se ve así:

HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Date: Thu, 19 Dec 2019 00:45:40 GMT
Connection: close
Content-Length: 339

Publicar aquí para que las personas que lo necesiten puedan encontrarlo. (¡Gracias, Oram!)

Jeffry McGee
fuente
1

La causa más común de este encabezado de respuesta del servidor es cuando IIS no puede determinar qué sitio web atender.

IIS responderá con este encabezado de servidor cuando lo siguiente sea verdadero

  • la solicitud contiene un encabezado de host no reconocido
  • no hay un sitio web predeterminado configurado

Alternativamente, si la configuración del sitio web que IIS está intentando entregar tiene un formato incorrecto, se ignorará y se considerará ausente, y también tendrá el mismo efecto.

Cheekysoft
fuente
1
Hay más formas de hacer que aparezca este encabezado. Este encabezado significa que HTTP.sys envió la respuesta, no el proceso de trabajo de IIS. Creo que aplicaciones como ADFS 3, que registran una URL en HTTP.sys, generalmente también responden con este encabezado.
milope
A menudo olvido que las solicitudes pasan por http.sys. Otra forma de forzar este encabezado es realizar una solicitud ilegal, por ejemplo, servidor /% y http.sys rechaza inmediatamente la solicitud HTTP/1.1 400 Bad Request Server: Microsoft-HTTPAPI/2.0sin pasarla a un controlador registrado
Cheekysoft