Introdução
Na Blaze, estamos sempre em busca de novas maneiras de aprimorar nossos serviços. Como todo testador de invasão sabe, o pós-exploração é uma etapa crucial para o comprometimento bem-sucedido e para a penetração profunda na rede. Manter uma base sólida dentro da organização alvo é fundamental.
Por isso, criamos o Blaze Telegram Backdoor Tool (bt2), uma prova de conceito de ferramenta de pós-exploração na forma de um bot do Telegram que funciona como um backdoor.
Comando e controle (doravante referido como "C&C") vêm em diferentes formas, tamanhos e variedades. As primeiras infraestruturas de C&C usavam o protocolo IRC para estabelecer uma conexão entre o alvo e o mestre. Essa também era uma configuração muito comum em botnets do início dos anos 2000, quando o IRC ainda era popular.
Aproveitar serviços online populares e redirecioná-los para servir aos objetivos de um adversário já aconteceu antes e certamente acontecerá no futuro. C&C de botnet baseado em redes sociais não é necessariamente um fenômeno novo — desde pelo menos 2009, pesquisadores de ameaças encontraram e documentaram backdoors baseados em bots no Twitter.
O bt2 é um backdoor baseado em Python na forma de um bot de mensagens instantâneas que utiliza a infraestrutura e a API de bots rica em recursos fornecida pelo Telegram, adaptando levemente sua plataforma de comunicação para atuar como um C&C.
Os recursos do bt2 incluem funcionalidades comuns a ferramentas de backdoor, como execução de comandos, shell de conexão reversa, download e upload de arquivos, um componente para carregar e executar shellcode fornecido pelo usuário, entre outros.
Como a prova de conceito foi desenvolvida em Python, ela funciona em várias plataformas, com exceção do componente de execução de shellcode (apenas para Windows).
O bot permanece na rede do Telegram aguardando comandos originados pelo mestre do bot. O mestre pode controlar os bots a partir de qualquer cliente do Telegram, seja desktop, linha de comando ou dispositivo móvel, permitindo uma flexibilidade inigualável ao realizar pós-exploração contra um alvo.
Escolhemos o Telegram devido à sua popularidade crescente, infraestrutura confiável e por se comunicar via protocolo HTTPS padrão, tornando-o extremamente útil para contornar vários filtros de rede corporativos.
O bt2 não oferece suporte a criptografia entre o cliente e o servidor para manter a flexibilidade mencionada anteriormente. Embora seja possível implementar, um canal de comunicação criptografado exigiria um cliente Telegram personalizado, e isso não está nos planos futuros para esta ferramenta no momento.
A ferramenta pode ser encontrada no Github.
Aviso legal: o bt2 é apenas uma prova de conceito e não tem, de forma alguma, a intenção de violar os termos e condições do Telegram. Além disso, foi desenvolvido para uso em testes de intrusão legítimos, e nem o autor nem a Blaze Information Security podem ser responsabilizados por qualquer uso malicioso da ferramenta.
Uso
Após a configuração inicial de criação de um bot (não abordada aqui, consulte este link), tudo o que você precisa fazer é iniciar uma conversa com ele.
O comando /help fornece uma lista autoexplicativa de comandos, juntamente com o uso básico da ferramenta:

Abaixo, você pode ver a ferramenta em ação, aproveitando sua funcionalidade para obter informações sobre o sistema, listar comandos e baixar um arquivo:

Juntamente com o bot, o repositório do Github contém um script para auxiliar na geração de shellcode em um formato que a ferramenta processará. Essencialmente, é possível copiar seu shellcode favorito do Metasploit, colá-lo na ferramenta e ela o converterá automaticamente para um formato de bytearray em base64, pronto para ser enviado pela rede e executar o código.


Como qualquer outro software, este não é perfeito e já existem alguns bugs conhecidos. Contribuições são muito bem-vindas, então, se você quiser melhorá-lo, basta fazer um fork do repositório e não se esqueça de enviar um pull request.
Conclusão
Esperamos que esta ferramenta e as ideias apresentadas neste artigo também possam ser úteis para outros consultores de segurança da informação.
Com este artigo, quisemos compartilhar com o restante da comunidade algumas das ferramentas que usamos em nossos trabalhos e destacar o fato de que praticamente qualquer serviço online pode ser reaproveitado como um C&C, servindo, em última análise, ao objetivo de um atacante.
Referências
- Lenny Zeltser — Quando bots usam redes sociais para comando e controle
- Arbor Networks — Canal de comando de botnet baseado no Twitter




