Apresentando Coqui (Keylogger Condicional)
AVISO LEGAL: Este projeto foi feito para fins de pesquisa. Qualquer coisa que você fizer com este código é de sua responsabilidade e não é minha responsabilidade.
Originalmente, o Coqui deveria ser um trojan bancário, mas devido à minha falta de habilidade, optei por um keylogger condicional que só é ativado quando detecta a vítima em determinados sites bancários.
Coqui também contém técnicas de anti-análise, como detectar Process Monitor, Process Hacker (qualquer coisa com Process na primeira parte do nome, isso também pode ser expandido adicionando mais instruções condicionais). Se esses processos forem detectados, o keylogger principal será aberto e substituído para inutilizar a análise do keylogger. O keylogger também só será ativado se detectar uma janela relacionada ao banco, uma vez que essa janela esteja fora de foco (EX: o usuário abre a calculadora), o keylogger é morto.
Depois que o monitor de janela é iniciado (ProcKill), ele tenta matar o keylogger (usando system(taskkill /F /T /IM keylogger.exe))se não detectar a janela principal (a janela em que o usuário está trabalhando no momento) relacionada a qualquer coisa relacionada ao banco.
NOTA: Ele compara uma lista codificada de títulos relacionados ao banco com a janela de trabalho atual, esta lista codificada pode ser expandida simplesmente adicionando os títulos da janela:
A janela de trabalho atual acima é o prompt de comando, então ele tenta matar o keylogger (neste caso, chamado svart.exe).
Agora, a janela atual acima é o site bancário do Wells Fargo, então o keylogger é iniciado e o ProcKill verifica se ele está sendo executado antes de iniciá-lo novamente. Se já estiver em execução, imprime [!] svart já está em execução!.
Se o usuário alterar sua janela de trabalho atual e o keylogger estiver em execução, podemos ver a mensagem SUCESSO, indicando que o keylogger foi encerrado devido à mudança de janela do usuário.
E se uma janela como o Process Hacker for detectada, o keylogger será aberto e substituído antes de:
Depois de:
No que diz respeito ao keylogger, é bastante básico, a maneira como ele exfiltra os dados registrados é enviando uma solicitação GET para um endereço IP especificado. Esse endereço IP deve ter um servidor Apache executando e registrando solicitações GET. O arquivo dropper.c é responsável pela exfiltração de dados e se programa para ser executado a cada 12 dias para exfiltrar os dados.
O projeto completo está hospedado no Github para os interessados: https://github.com/1d8/Coqui