Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Potato — Exploit de escalação de privilégios local no Windows usando spoofing de NBNS, proxy WPAD falso e relay NTLM de HTTP para SMB para obter acesso NT AUTHORITY\SYSTEM. | Kitploit
Ferramentas/GitHubGitHub/foxglovesec/potato
Escalada de PrivilégiosExploraçãoMovimento LateralPós-ExploraçãoSegurança de RedeTestes de PenetraçãoAutenticaçãoRed Teaming
GitHubfoxglovesec/potato

Potato

Exploit de escalação de privilégios local no Windows usando spoofing de NBNS, proxy WPAD falso e relay NTLM de HTTP para SMB para obter acesso NT AUTHORITY\SYSTEM.

Ver Repositório
745168há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

#Potato Escalação de Privilégios no Windows 7, 8, 10, Server 2008, Server 2012

###Como funciona O Potato aproveita problemas conhecidos no Windows para obter escalação de privilégios local, nomeadamente NTLM relay (especificamente HTTP->SMB relay) e spoofing de NBNS.

Usando as técnicas descritas abaixo, é possível que um utilizador sem privilégios obtenha acesso ao nível "NT AUTHORITY\SYSYTEM" numa máquina Windows em configurações padrão.

O exploit é composto por 3 partes principais, todas elas de certa forma configuráveis através de opções de linha de comandos:

#####1. Spoofer NBNS Local O NBNS é um protocolo UDP de broadcast para resolução de nomes, comummente utilizado em ambientes Windows. Em testes de penetração, frequentemente capturamos tráfego de rede e respondemos a consultas NBNS observadas numa rede local. Para fins de escalação de privilégios, não podemos assumir que somos capazes de capturar tráfego de rede, então como podemos realizar spoofing de NBNS?

Se conseguirmos saber antecipadamente para que host uma máquina alvo (neste caso o nosso alvo é 127.0.0.1) irá enviar uma consulta NBNS, podemos criar uma resposta e inundar o host alvo com respostas NBNS (uma vez que é um protocolo UDP). Uma complicação é que um campo de 2 bytes no pacote NBNS, o TXID, tem de corresponder no pedido e na resposta. Podemos ultrapassar isto inundando rapidamente e iterando sobre todos os 65536 valores possíveis.

E se o host que estamos a tentar falsificar já tiver um registo DNS? Bem, podemos FORÇAR as consultas DNS a falhar de uma forma engraçada. Usando uma técnica chamada "port exhaustion", ligamo-nos a todos os portos UDP. Quando tentar realizar uma consulta DNS, esta irá falhar porque não haverá nenhum porto de origem disponível para a resposta DNS chegar.

Em testes, isto provou ser 100% eficaz.

#####2. Servidor Proxy WPAD Falso Com a capacidade de falsificar respostas NBNS, podemos direcionar o nosso spoofer NBNS para 127.0.0.1. Inundamos a máquina alvo (a nossa própria máquina) com pacotes de resposta NBNS para o host "WPAD", ou "WPAD.DOMAIN.TLD", e dizemos que o host WPAD tem o endereço IP 127.0.0.1.

Ao mesmo tempo, executamos um servidor HTTP localmente em 127.0.0.1. Quando recebe um pedido para "http://wpad/wpad.dat", responde com algo como o seguinte:

root@kitploit:~
FindProxyForURL(url,host){
	if (dnsDomainIs(host, "localhost")) return "DIRECT";
	return "PROXY 127.0.0.1:80";}

Isto fará com que todo o tráfego HTTP no alvo seja redirecionado através do nosso servidor a correr em 127.0.0.1.

Curiosamente, este ataque, mesmo quando realizado por um utilizador com baixos privilégios, afetará todos os utilizadores da máquina. Isto inclui administradores e contas de sistema. Veja as capturas de ecrã "egoldstein_spoofing.png" e "dade_spoofed.png" para um exemplo.

#####3. HTTP -> SMB NTLM Relay Com todo o tráfego HTTP agora a fluir através de um servidor que controlamos, podemos fazer coisas como solicitar autenticação NTLM...

No exploit Potato, todos os pedidos são redirecionados com um redirecionamento 302 para "http://localhost/GETHASHESxxxxx", onde xxxxx é algum identificador único. Os pedidos para "http://localhost/GETHASHESxxxxx" respondem com um pedido 401 para autenticação NTLM.

As credenciais NTLM são retransmitidas para o listener SMB local para criar um novo serviço de sistema que executa um comando definido pelo utilizador. Este comando será executado com privilégios "NT AUTHORITY\SYSTEM".

###Utilizar o Exploit A utilização é atualmente dependente do sistema operativo.

Também é um pouco instável por vezes, devido às peculiaridades na forma como o Windows lida com as configurações de proxy e o ficheiro WPAD. Frequentemente, quando o exploit não funciona, é necessário deixá-lo a correr e esperar. Quando o Windows já tem uma entrada em cache para WPAD, ou está a permitir acesso direto à internet porque nenhum WPAD foi encontrado, pode demorar 30-60 minutos a atualizar. É necessário deixar o exploit a correr e tentar acioná-lo novamente mais tarde, após este tempo ter decorrido.

As técnicas listadas aqui estão ordenadas da menos para a mais complexa. Qualquer técnica mais abaixo na lista deverá funcionar em todas as versões anteriores. Vídeos e capturas de ecrã estão incluídos para cada uma.

#####Windows 7 - ver https://www.youtube.com/watch?v=Nd6f5P3LSNM O Windows 7 pode ser explorado de forma bastante fiável através do mecanismo de atualização do Windows Defender.

O Potato.exe tem código para acionar isto automaticamente. Basta executar o seguinte: Potato.exe -ip <local ip> -cmd <command to run> -disable_exhaust true

Isto irá iniciar o spoofer NBNS, falsificar "WPAD" para 127.0.0.1, e depois verificar atualizações do Windows Defender.

Se a sua rede já tiver uma entrada DNS para "WPAD", pode tentar "-disable_exhaust false". Isto deverá fazer com que a consulta DNS falhe e deverá recorrer ao NBNS. Testámos isto algumas vezes e funcionou

#####Windows Server 2008 - ver https://www.youtube.com/watch?v=z_IGPWgL5SY Como o Windows Server não vem com o Defender, precisamos de um método alternativo. Em vez disso, vamos simplesmente verificar atualizações do Windows. A outra ressalva é que, pelo menos no meu domínio, o Server 2K8 queria WPAD.DOMAIN.TLD em vez de apenas WPAD. O seguinte é um exemplo de utilização:

Potato.exe -ip <local ip> -cmd <command to run> -disable_exhaust true -disable_defender true --spoof_host WPAD.EMC.LOCAL

Depois de isto correr com sucesso, basta verificar atualizações do Windows. Se não acionar, espere cerca de 30m com o exploit a correr e verifique novamente. Se ainda não funcionar, tente descarregar realmente uma atualização.

Se a sua rede já tiver uma entrada DNS para "WPAD", pode tentar "-disable_exhaust false". Isto deverá fazer com que a consulta DNS falhe e deverá recorrer ao NBNS. Testámos isto algumas vezes e funcionou

#####Windows 8/10/Server 2012 - ver https://www.youtube.com/watch?v=Kan58VeYpb8 Nas versões mais recentes do Windows, parece que o Windows Update pode já não respeitar as configurações de proxy definidas em "Opções da Internet", ou verificar o WPAD. Em vez disso, as configurações de proxy para o Windows Update são controladas usando "netsh winhttp proxy..."

Em vez disso, para estas versões, contamos com uma funcionalidade mais recente do Windows, o "atualizador automático de certificados não fidedignos". Os detalhes podem ser encontrados em https://support.microsoft.com/en-us/kb/2677070 e https://technet.microsoft.com/en-us/library/dn265983.aspx

Do artigo technet "The Windows Server 2012 R2, Windows Server 2012, Windows 8.1, and Windows 8 operating systems include an automatic update mechanism that downloads certificate trust lists (CTLs) on a daily basis."

Parece que esta parte do Windows ainda usa WPAD, mesmo quando a configuração de proxy winhttp está definida como direta.

Neste caso, a utilização do Potato é a seguinte: Potato.exe -ip <local ip> -cmd <cmd to run> -disable_exhaust true -disable_defender true

Neste ponto, terá de esperar até 24hrs ou encontrar outra forma de acionar esta atualização.

Se a sua rede já tiver uma entrada DNS para "WPAD", pode tentar "-disable_exhaust false". Isto deverá fazer com que a consulta DNS falhe e deverá recorrer ao NBNS. Testámos isto algumas vezes e funcionou

###Mitigações

Ativar "Extended Protection for Authentication" no Windows deverá impedir ataques de NTLM relay.

O SMB Signing também pode mitigar este tipo de ataque, no entanto isto exigiria mais alguma investigação da minha parte para confirmar.

###Spoofing NBNS Fora do Broadcast Usando a mesma técnica de spoofing NBNS que o exploit Potato, podemos realizar spoofing NBNS contra qualquer host com o qual consigamos comunicar via UDP 137. Simplesmente precisamos de enviar pacotes UDP suficientemente rápido para introduzir uma resposta válida antes de o pedido NBNS expirar.

Um vídeo de demonstração disto pode ser visto em https://www.youtube.com/watch?v=Mzn7ozkyG5g

O laboratório de demonstração tem a seguinte configuração:

Firewall PFSense 10.0.0.0/24 -> LAN Corporativa 10.0.1.0 /24 -> Rede de servidores

A partir da rede corporativa, vamos atacar uma máquina na rede de servidores.

Utilização: python Responder.py –I eth0 –spoof <target>:<spoof address>:<spoof host>

Baixar ferramenta