<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
Em qualquer servidor IIS onde você receber um 302, você pode tentar remover o cabeçalho Host e usar HTTP/1.0 e, dentro da resposta, o cabeçalho Location poderia apontar para o endereço IP interno:
Você pode fazer upload de arquivos .config e usá-los para executar código. Uma maneira de fazer isso é anexando o código no final do arquivo dentro de um comentário HTML: [Baixe o exemplo aqui](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Upload%20Insecure%20Files/Configuration%20IIS%20web.config/web.config)
Mais informações e técnicas para explorar essa vulnerabilidade [aqui](https://soroush.secproject.com/blog/2014/07/upload-a-web-config-file-for-fun-profit/)
Em resumo, existem vários arquivos web.config dentro das pastas da aplicação com referências a arquivos "**assemblyIdentity**" e "**namespaces**". Com essa informação, é possível saber **onde os executáveis estão localizados** e baixá-los.\
Dos **Dlls baixados**, também é possível encontrar **novos namespaces** nos quais você deve tentar acessar e obter o arquivo web.config para encontrar novos namespaces e assemblyIdentity.\
Como qualquer aplicação .Net, aplicações MVC têm um arquivo **web.config**, onde as tags XML "**assemblyIdentity**" identificam cada arquivo binário que a aplicação utiliza.
No trecho anterior, você pode encontrar referências a várias "**assemblyIdentity**". Estes são arquivos que podem estar localizados dentro da pasta /bin. Por exemplo: **/bin/WebGrease.dll.**
Além disso, aplicações .Net MVC são estruturadas para definir **outros arquivos web.config**, com o objetivo de incluir declarações para namespaces específicos para cada conjunto de viewpages, dispensando os desenvolvedores de declarar “@using” namespaces em cada arquivo.
De uma resposta anterior, a declaração de um **namespace personalizado** (já que outros namespaces são padrões) sugere que uma DLL chamada "**WebApplication1**" está presente no diretório /bin.
Vamos supor que a DLL anterior está importando um namespace chamado **WebApplication1.Areas.Minded.** um atacante pode inferir que outros arquivos web.config estão presentes na aplicação, em caminhos previsíveis/padrão como **/area-name/Views/**, contendo configurações específicas que podem se referir a outros arquivos DLL presentes na pasta /bin.
Isso significa que o servidor **não recebeu o nome de domínio correto** no cabeçalho Host.\
Para acessar a página web, você pode verificar o **Certificado SSL** fornecido e talvez encontrar o nome do domínio/subdomínio ali. Se não estiver lá, você pode precisar **forçar a descoberta de VHosts** até encontrar o correto.
## Vulnerabilidades antigas do IIS que valem a pena procurar
### Vulnerabilidade/Funcionalidade do caractere til “\~” do Microsoft IIS – Divulgação de Nome de Arquivo/Pasta Curto
Você pode tentar **enumerar pastas e arquivos** dentro de cada pasta descoberta (mesmo que esteja exigindo Autenticação Básica) usando esta **técnica**.\
A principal limitação desta técnica, se o servidor for vulnerável, é que **só pode encontrar até as primeiras 6 letras do nome de cada arquivo/pasta e as primeiras 3 letras da extensão** dos arquivos.
Você pode usar [https://github.com/irsdl/IIS-ShortName-Scanner](https://github.com/irsdl/IIS-ShortName-Scanner) para testar esta vulnerabilidade: `java -jar iis_shortname_scanner.jar 2 20 http://10.13.38.11/dev/dca66d38fd916317687e1390a420c3fc/db/`
Você também pode usar **metasploit**: `use scanner/http/iis_shortname_scanner`
### Bypass de Autenticação Básica
**Bypass** uma autenticação básica (**IIS 7.5**) tentando acessar: `/admin:$i30:$INDEX_ALLOCATION/admin.php` ou `/admin::$INDEX_ALLOCATION/admin.php`
Você pode tentar **combinar** esta **vulnerabilidade** com a última para encontrar novas **pastas** e **bypassar** a autenticação.
## Depuração habilitada do ASP.NET Trace.AXD
ASP.NET inclui um modo de depuração e seu arquivo é chamado `trace.axd`.
Ele mantém um log muito detalhado de todas as solicitações feitas a uma aplicação durante um período de tempo.
Essas informações incluem IPs de clientes remotos, IDs de sessão, todos os cookies de solicitação e resposta, caminhos físicos, informações de código-fonte e, potencialmente, até nomes de usuário e senhas.
* **`decryptionIV`** (string): vetor de inicialização codificado em hexadecimal (padrão para um vetor de zeros).
* **`decryptionKey`** (string): chave codificada em hexadecimal para uso na descriptografia.
No entanto, algumas pessoas usarão os **valores padrão** desses parâmetros e usarão como **cookie o email do usuário**. Portanto, se você encontrar um site usando a **mesma plataforma** que está usando o cookie ASPXAUTH e você **criar um usuário com o email do usuário que deseja se passar** no servidor sob ataque, você poderá **usar o cookie do segundo servidor no primeiro** e se passar pelo usuário.\
Este ataque funcionou neste [**relato**](https://infosecwriteups.com/how-i-hacked-facebook-part-two-ffab96d57b19).
## Bypass de Autenticação do IIS com senhas em cache (CVE-2022-30209) <a href="#3-iis-authentication-bypass" id="3-iis-authentication-bypass"></a>
Um bug no código **não verificava adequadamente a senha fornecida pelo usuário**, então um atacante cujo **hash da senha coincidisse com uma chave** que já está no **cache** poderia fazer login como esse usuário ([relatório completo aqui](https://blog.orange.tw/2022/08/lets-dance-in-the-cache-destabilizing-hash-table-on-microsoft-iis.html)).
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).