Risco de segurança? Microsoft-HTTPAPI / 2.0

8

Enquanto examinava a segurança de nossas máquinas, descobri que um host estava expondo um serviço Microsoft-HTTPAPI / 2.0 pela porta 80 à Internet.

Não estou familiarizado com isso, mas, depois de pesquisar no Google, descobri que o SQL Server 2008 publica o SQL Server Reporting Services na porta 80 por deafault e se identifica como HTTPAPI / 2.0. O host também está executando o IIS7.

Acho que isso provavelmente não é algo que deva ser exposto ao mundo. Alguém pode me oferecer qualquer informação ou conselho sobre o risco de segurança de expor este serviço.

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
fonte

Respostas:

7

Se você não tem um bom motivo para expô-lo, provavelmente não deve expô-lo. A propósito, você pode estar interessado neste artigo para decidir se deve ou não expô-lo

Maxwell
fonte
2

Tente procurar vulnerabilidades em um banco de dados de exploração para este


fonte
2

Se o cabeçalho do servidor da resposta retornar "Microsoft-HttpApi / 2.0", significa que o HTTP.sys está sendo chamado em vez do IIS. Explorações e verificações de porta usam isso como um meio de impressão digital de um servidor IIS (mesmo que oculte o cabeçalho do servidor).

Você pode testar isso lançando um erro usando CURL:

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

Você verá algo assim se o seu servidor estiver enviando o cabeçalho:

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

Você pode adicionar um valor de registro para que o HTTP.sys não inclua o cabeçalho.

  • Abra o Regedit
  • Navegue para: Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters
  • Se DisableServerHeader não existir, crie-o (DWORD 32bit) e atribua a ele um valor 2. Se ele existir e o valor não for 2, configure-o para 2.
  • Reinicialize o servidor OU reinicie o serviço HTTP chamando "net stop http" e "net start http"

Referência: WS / WCF: Remover cabeçalho do servidor

Depois de adicionar a chave do Registro, a resposta é semelhante a esta:

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

Postando aqui para que as pessoas que precisam disso possam encontrá-lo. (Obrigado, Oram!)

Jeffry McGee
fonte
1

A causa mais comum desse cabeçalho de resposta do servidor é quando o IIS não pode determinar qual site servir.

O IIS responderá com este cabeçalho do servidor quando os seguintes forem verdadeiros

  • a solicitação contém um cabeçalho de host não reconhecido
  • nenhum site padrão está configurado

Como alternativa, se a configuração do site que o IIS está tentando entregar estiver malformada, ela será ignorada e considerada ausente, tendo o mesmo efeito.

Cheekysoft
fonte
11
Existem mais maneiras de fazer com que esse cabeçalho apareça. Esse cabeçalho significa que o HTTP.sys enviou a resposta, não o processo de trabalho do IIS. Aplicativos como o ADFS 3, acredito, que registram uma URL no HTTP.sys geralmente respondem com esse cabeçalho também.
Milope3
Costumo esquecer que os pedidos passam pelo http.sys. Outra maneira de forçar este cabeçalho é fazer um pedido iilegal por exemplo, server /% e http.sys rejeita imediatamente o pedido com HTTP/1.1 400 Bad Request Server: Microsoft-HTTPAPI/2.0sem passá-lo para um manipulador registrado
Cheekysoft