keylogger casero

11
23rd JUL 1 Votalo Fabricación de Keylogger electrónico casero tipo DIY [I Parte] Publicado por ElPerro | Archivado en Gadgets , Laboratorio , Mi Trabajo , Seguridad , rants Hace unos días comenté que iba a realizar el tutorial acompañado de video mostrando como construir nuestra propia DormiLaptop sin embargo, tuve que desviar mi atención a un manual que me llegó de la mano de mi amigo mexicano Salvador Castillo, actual propietario de Warexone . El tutorial consiste en fabricar un dispositivo simple pero muy completo que graba todos los ingresos del teclado y los almacena en una simple base de datos. Estoy hablando de un dispositivo, es decir, un hardware lo cual imposibilita su detección por software antivirus y es una muy buena herramienta para controlar los datos que se ingresan en una PC a fines de analizar potenciales espionajes en nuestra empresa, red o entorno de trabajo. Mi intención con el siguiente tutorial es facilitar una herramienta simple a administradores de red y/o empresas en general. NO ESTA DESTINADA A ESPIAR DATOS SENSIBLES COMO TARJETAS DE CRÉDITO, CUENTAS BANCARIAS O CLAVES. Introducción Para entender a fondo que es un keylogger, nos vamos a remitir a Wikipedia: Un keylogger (deriva del inglés: Key (Tecla) y Logger (Registrador); registrador de teclas) es una herramienta de diagnóstico utilizada en el desarrollo de software que se encarga de registrar las pulsaciones que se realizan sobre el teclado, para memorizarlas en un fichero y/o enviarlas a través de internet. Suele usarse como malware del tipo daemon, permitiendo que otros usuarios tengan acceso a los números de una tarjeta de crédito o a la contraseña de cuentas on line al infiltrarse en un ordenador. El registro de lo que se teclea puede hacerse tanto con medios de hardware como de software. Los sistemas comerciales disponibles incluyen dispositivos que pueden conectarse al cable del teclado (lo que los hace inmediatamente disponibles pero visibles si un usuario lo revisa) y al teclado mismo (que no se ven pero que se necesita algún conocimiento de como soldarlos). Escribir aplicaciones para realizar keylogging es trivial

Transcript of keylogger casero

Page 1: keylogger casero

23rd

JUL

1 Votalo

Fabricación de Keylogger electrónico casero tipo DIY [I

Parte]

Publicado por ElPerro | Archivado en Gadgets, Laboratorio, Mi Trabajo, Seguridad, rants

Hace unos días comenté que iba a realizar el tutorial acompañado de video mostrando como

construir nuestra propia DormiLaptop sin embargo, tuve que desviar mi atención a un

manual que me llegó de la mano de mi amigo mexicano Salvador Castillo, actual

propietario de Warexone.

El tutorial consiste en fabricar un dispositivo simple pero muy completo que graba todos

los ingresos del teclado y los almacena en una simple base de datos.

Estoy hablando de un dispositivo, es decir, un hardware lo cual imposibilita su detección

por software antivirus y es una muy buena herramienta para controlar los datos que se

ingresan en una PC a fines de analizar potenciales espionajes en nuestra empresa, red o

entorno de trabajo.

Mi intención con el siguiente tutorial es facilitar una herramienta simple a administradores

de red y/o empresas en general. NO ESTA DESTINADA A ESPIAR DATOS

SENSIBLES COMO TARJETAS DE CRÉDITO, CUENTAS BANCARIAS O

CLAVES.

Introducción Para entender a fondo que es un keylogger, nos vamos a remitir a Wikipedia:

Un keylogger (deriva del inglés: Key (Tecla) y Logger (Registrador); registrador de teclas)

es una herramienta de diagnóstico utilizada en el desarrollo de software que se encarga de

registrar las pulsaciones que se realizan sobre el teclado, para memorizarlas en un fichero

y/o enviarlas a través de internet.

Suele usarse como malware del tipo daemon, permitiendo que otros usuarios tengan acceso

a los números de una tarjeta de crédito o a la contraseña de cuentas on line al infiltrarse en

un ordenador.

El registro de lo que se teclea puede hacerse tanto con medios de hardware como de

software. Los sistemas comerciales disponibles incluyen dispositivos que pueden

conectarse al cable del teclado (lo que los hace inmediatamente disponibles pero visibles si

un usuario lo revisa) y al teclado mismo (que no se ven pero que se necesita algún

conocimiento de como soldarlos). Escribir aplicaciones para realizar keylogging es trivial

Page 2: keylogger casero

y, como cualquier programa computacional, puede ser distribuido a través de un troyano o

como parte de un virus informático o gusano informático. Se dice que se puede utilizar un

teclado virtual para evitar esto, ya que sólo requiere clics del ratón. Sin embargo, la

aplicaciones más nuevas también registran pantallazos que anulan la seguridad de esta

medida. Cabe decir que esto podría ser falso ya que los eventos de mensajes del teclado

deben ser enviados al programa externo para que se escriba el texto, por lo que cualquier

keylogger podría registrar el texto escrito mediante un teclado virtual.

Extraído del artículo original: http://es.wikipedia.org/wiki/Keylogger

Algunos puntos a tener en cuenta Antes de empezar, todos los que me conocen saben que lo primordial en todos nuestros

proyectos de fin de semana que involucren la seguridad de datos o intervención de los

mismos requiere de unas pequeñas cláusular éticas y si se quiere, legales.

Responsabilidad legal La legislación respecto al registro de datos de las pulsaciones de teclas varía según los

países. El desconocimiento de la ley no exime de su cumplimento.

Ni ElPlog.com, ElPlog.tv o ninguno de sus administradores se harán responsables por los

daños o perjuicios que pudieran ser causados por el uso de este hardware.

Este dispositivo no podrá ser utilizado para la captación no autorizada de los datos, en

particular contraseñas, datos bancarios, correspondencia confidencial, etc. En la mayoría de

los países lo antedicho se considera un delito.

Registro de datos de teclas El keylogger por hardware dispone de 64 kB de memoria no volátil EEPROM. Cuando la

memoria esté llena la grabación de datos empezará otra vez, empezando por la primera

localización en la memoria. De esta forma los datos más antiguos se perderán.

Los primeros 128 bytes de la memoria están reservados para los datos de configuración, por

ejemplo para guardar la dirección del último acceso a la memoria. La última dirección de

acceso se actualiza en la memoria cada 10 segundos aproximadamente.

No dejes el keylogger conectado en el modo de registro cuando no sea necesario. La

memoria se va a llenar y los datos antiguos, algunos de ellos importantes, pueden ser

sobreescritos y obviamente perderías toda la información guardada.

Transmisión de datos Para reproducir los datos del keylogger necesitás una PC de la clase 100 MHz Pentium o

superior, con el Windows 9X/Me/XP/2000 instalado.

El hardware transmite los datos a la PC simulando el teclado. El teclado real tiene que estar

desconectado durante la transmisión.

La aplicación que utilizaremos se llama KeyGrab.

Los datos de pulsaciones de teclas se descargan en el orden cronológico inverso. De esta

forma los datos más recientes aparecen primeros. Para obtener los datos más antiguos hay

que esperar un rato. La transmisión puede durar hasta 20 minutos en total.

Es necesario terminar transmisión manualmente, presionando el pulsador otra vez. Hágalo

cuando los datos empiecen a duplicarse.

Funcionamiento del teclado PS/2 El funcionamiento del teclado PS/2 es un poco más complicado de lo que pueda parecer.

Page 3: keylogger casero

Esto se puede observar analizando los datos sin procesar, guardados por el keylogger por

hardware. El teclado de la PC genera un caracter con cada pulsación de tecla. Cuando se

libera la tecla, este carácter se genera otra vez, procedido por el carácter 240 (F0 hex).

También existen unas teclas extendidas, las que utilizan el carácter 224 (E0 hex). Mas

adelante analizamos esto en el apartado “Protocolo de teclado PS/2″.

Aunque el keylogger por hardware tiene 64 kB de memoria, esto no significa que se puedan

guardar 64 mil de pulsaciones de teclas. Cada secuencia pulsación-liberación de tecla

requiere tres bytes en caso de teclas estándar y 5 bytes en caso de teclas extendidas.

Herramientas y componentes Antes de arrancar con nuestro trabajo, tenemos que tener a mano los siguientes materiales

para nuestro proyecto de Keylogger por Hardware Open Source:

*experiencia básica en hardware electrónico

*estañador para circuitos integrados

*programador de microcontroladores (compatible con la familia

Atmel AT89CXX51)

*microcontrolador Atmel AT89C2051 (o AT89C1051,

AT89C4051)

*memoria EEPROM tipo AT24C512 (o compatible)

*cuarzo 12 MHz

*2x condensador 33p

*condensador 10 uF

*resistor 10 k

*pulsador pequeño

También es necesaria una protección para el keylogger. Una buena idea sería comprar un

cable de extensión PS/2 y un pedacito de tubo termorretráctil de unos 10 centímetros. Este

tubo se contraerá con el calor, cubriendo el keylogger.

Software a utilizar

Page 4: keylogger casero

La aplicación para la descarga y análisis de datos del keylogger por hardware tipo DIY para

Windows 9X/ME/2000/XP:

KeyGrab.zip (0.7MB)

El código fuente completo para el microcontrolador AT89C2051: Código fuente – diy.asm

Firmware precompilado para el microcontrolador AT89C2051: fichero BIN – diy.bin

fichero HEX – diy.hex

Protocolo de teclado PS/2

Generalidades Al cortar un cable de teclado PS/2 probablemente encontraríamos dentro 6 alambres.

Solamente 4 de ellos son significativos. Dos de ellos son líneas de alimentación: la de tierra

(GND) y la de +5 voltios (VCC), que van de la fuente de

alimentación de nuestra PC. Los dos alambres restantes son

líneas de transmisión asíncrona: la línea de datos (DATA) y la

del reloj (CLK). En la figura a la derecha se puede ver la

correspondencia entre estas líneas y los pines conectores DIN

(a) y miniDIN (b). La transmisión es bidireccional, no

obstante, el teclado es superior.

El teclado envía la información sobre las teclas presionadas y

liberadas. El bloque de datos consiste de un solo byte,

precedido por un bit inicial y seguido por una paridad y un bit

final. El teclado manda los sucesivos bits por la línea de

DATA, y los temporiza con impulsos negativos en la línea

Page 5: keylogger casero

CLK. La frecuencia del reloj es de 10…30 kHz. Esto sería un protocolo de serie muy

bonito, si no fuera por el ordenador, que de vez en cuando quiere mandar información al

teclado. En tal caso la PC pone la línea CLK a cero por un tiempo y espera a que el teclado

empiece a generar impulsos. Cuando empiezan los impulsos, éste pone sus propios datos en

la línea de DATA.

En la figura abajo se pueden ver los diagramas de estado de la transmisión del teclado al

host y del host al teclado. Evidentemente este protocolo tiene un par de excepciones, por

ejemplo interrupción de la transmisión, caracteres repetidos, etc., pero, estos casos son muy

poco frecuentes.

Datos del bus

¿Qué datos se transmiten realmente por las líneas de teclado? Al ponerse en marcha tanto el teclado como la PC envían unos datos de inicialización,

informando que están en condiciones. Cuando la PC trabaja normalmente, sólo el teclado

manda datos. Estos datos conciernen a todas las acciones que tuvieron lugar. Una acción se

considera una pulsación o liberación de una tecla. Si se presiona una tecla estándar, se

envía su llamado “scan code”. Cada tecla tiene exactamente un scan code, creando así un

mapa de scan codes. Si se libera una tecla, primero se envía un especial byte 240 (F0 hex),

y después se envía el scan code. Así que una pulsación de tecla ocasiona el envío de 3

caracteres por la línea. Si se mantiene una tecla presionada por un cierto tiempo, su scan

code se generará constantemente, repitiéndose con una frecuencia determinada. Cuando

finalmente se libera esta tecla, se mandará el caracter 240 (F0 hex), y después el scan code.

Este protocolo seguiría siendo muy bonito y agradable, si no fuera por unas teclas

especiales del teclado estándar del PC, tales como por ejemplo las teclas Inicio, Fin, las

flechas, etc. Cuando se presiona una tecla especial, se genera el byte 224 (E0 hex), seguido

por el scan code. Cuando se libera una tecla especial, se lanza la secuencia 224, 240 (E0,

F0) seguida por el scan code. Respecto al mapa de scan codes las teclas normales y las

especiales son comunes para todas las distribuciones nacionales de teclado. Para hacer las

cosas un poco más jodidas complicadas, existen dos teclas super especiales, la de Imprimir

Pantalla y la de Pausa, que provocan la transmisión de una entera secuencia de scan codes.

Page 6: keylogger casero

Para la persona que prepara la comunicación con el teclado es mejor pretender que estas

teclas no existen.

Registro de datos El microcontrolador controla las líneas DATA y CLK todo el tiempo, capturando todos los

datos. Los datos se graban en la memoria no volátil EEPROM a medida que llegan por la

línea. Gracias a esto, el usuario podrá enterarse de todas las acciones que fueron llevadas a

cabo en el teclado.

Cuando el usuario decida que el registro está terminado, el keylogger por hardware

cambiará al modo playback. Para esta acción el teclado tiene que estar desconectado, en

caso contrario empezará a interpretar el flujo de datos. El keylogger iniciará la simulación

de las pulsaciones de teclado utilizando para ello su memoria interna hardware. La

aplicación KeyGrab tiene que estar activa, para procesar el flujo de datos que llegan del

keylogger por hardware. Las teclas normales se simulan tal como habían sido registradas en

la memoria, mientras que las teclas especiales se transmiten utilizando un código hex de

dos bytes.

Manos a la obra…

Pero ahora no…sino se me hace muy largo

En la próxima entrega [mañana seguramente] vamos a ver el Análisis de Datos, el Modo

Playback, el Modo de registro y por supuesto, el montaje y la puesta en marcha de

nuestro Keylogger DIY por hardware.

También analizaremos algunos puntos en favor y en contra de este gadget hecho en casa

con respecto a las alternativas actuales de software como Radmin y keyloggers en general.

Fin de la primera parte.

Basado en manuales y técnicas de Keelog.com

Robado (copypasteado) de: Fabricación de Keylogger electrónico casero tipo DIY [I Parte]

» ElPlog.com – V6.31 http://www.elplog.com/2009/07/23/fabricacion-de-keylogger-

electronico-casero-tipo-diy-i-parte/#ixzz11ggmFEHS

27th

JUL

1 Votalo

Fabricación de Keylogger electrónico casero tipo DIY [II

Parte]

Publicado por ElPerro | Archivado en Gadgets, Laboratorio, Mi Trabajo, Seguridad, rants

Page 7: keylogger casero

Vamos con la segunda parte de este interesantísimo manual provisto por la gente de

KeeLog.com en donde nos enseñan a fabricar nuestro propio KeyLogger electrónico a fines

de monitorear una PC en particular.

La Primera parte obviamente, debería ser leída primero

Nuevamente destaco que este manual está orientado a gente con mínimos conocimientos de

electrónica e informática y administradores de redes. No para script kiddies ansiosos por

robar tarjetas de crédito o cuentas de Hotmail.

Anteriormente habíamos analizado la parte “legal” de este experimento y sus consecuencias

por el mal uso. Vimos las aplicaciones a utilizar, el modo de funcionamiento de los teclados

PS2 y por supuesto, los materiales electrónicos que vamos a usar para armar nuestro

keylogger el cual, como habrás visto, aún no armamos porque primero quería que supieras

su funcionamiento y modo de uso. Manos a la obra entonces.

Modo de registro Como ya te habrás dado cuenta, el keylogger funciona entre el conector PS/2 del teclado y

la PC a modo de “extensor” y su puesta en marcha es muy simple:

Modo Playback Una vez los datos del teclado han sido grabados en el modo de registro, se pueden

reproducir en cualquier PC que utilice el sistema operativo Windows

9X/Me/XP/2000/Vista. El keylogger por hardware lo realiza simulando las pulsaciones del

teclado. Los datos de las pulsaciones del teclado que se transmiten son capturados por la

aplicación KeyGrab. Una vez transmitidos a la PC, estos datos podrán ser procesados y

analizados. El “Modo Playback” consiste es la lectura de esos datos y su análisis por parte

del administrador de la aplicación. En este caso, nosotros.

1 – Abrimos la aplicación Keygrab, la cual está disponible para descargar en ambos

tutoriales.

Page 8: keylogger casero

2 – Conectamos el keylogger por hardware en el lugar del teclado. No conectes el teclado.

3 – Presionamos el pulsador del keylogger para iniciar la descarga de datos. Durante la

transmisión no cambie la aplicación activa. Vuelva a presionar el pulsador para terminar la

transmisión cuando los datos deseados hayan sido transferidos al PC.

4 – Por últimos desconectamos el keylogger y volvemos a colocar el teclado PS/2…

Eso es todo…Ya tenemos los datos en nuestra computadora…

Análisis de datos Durante la descarga de datos a la tabla principal de la aplicación KeyGrab estos datos son

automáticamente procesados para mostrar las teclas presionadas durante el registro. Los

datos se transmiten en el orden inverso, para que las teclas presionadas últimamente

aparezcan como primeras. Los datos sobre las pulsaciones de teclas mas antiguas serán

Page 9: keylogger casero

mostrados como últimos. La tabla se puede analizar manualmente o utilizando las opciones

de búsqueda del programa.

1 – Posición del dato en la memoria hardware del keylogger (formato hex).

2 – Pulsación de tecla registrada y guardada.

3 – Incidencia – pulsación o liberación de tecla.

4 – Scan code de pulsación de tecla en el bus PS/2 (formato hex).

5 – Última posición grabada durante el registro en la memoria (formato hex).

6 – Tamaño de la memoria hardware del keylogger (en kilobits).

Las únicas columnas que pueden ser de interés para el usuario son la Tecla (2) y la Acción

(3) . Estas columnas codifican qué teclas han sido presionadas y liberadas. Usamos la barra

de desplazamiento para ver la historia de teclas presionadas en el modo de registro.

Los datos del keylogger se transmiten en el orden inverso (las teclas presionadas

últimamente aparecerán primeras en la parte superior del programa)

Montaje y puesta en marcha Al fin!!! Esta sería la parte mas compleja de todas, armar el dispositivo que utilizaremos

como Keylogger por Hardware…

Empezamos por programar el firmware del microcontrolador. Abrimos la aplicación del

Page 10: keylogger casero

programador, seleccionamos el microcontrolador AT89C2051 y cargamos el programa

utilizando el código en la versión binaria o en la versión hex. También se puede recompilar

la fuente utilizando el código fuente y un compilador 8051.

El estañado es probablemente la parte más difícil del proyecto, dado que el keylogger por

hardware debería ser lo más pequeño posible. En el esquema eléctrico abajo se puede ver

cómo deben quedar las conexiones entre los componentes del keylogger por hardware.

Click para agrandar la imagen

Estañamos los componentes empezando por el microcontrolador y la memoria EEPROM.

Se pueden eliminar los pins que no se usen. Asegúrate de que haya acceso al pulsador. Al

montar los condensadores comprobamos si están polarizados correctamente.

Intentemos hacer el dispositivo lo más compacto posible, sin embargo, evitando los

cortocircuitos, ya que una vez montado, éstos serán difíciles de eliminar. Después de

estañar los componentes principales el keylogger debería ser parecido al prototipo en la

foto.

Al final procedemos a estañar los conectores PS/2 al keylogger. Es una buena idea cortar un

cable de extensión PS/2 en dos y estañar cada parte por separado. Acordate de situar el tubo

termorretráctil en una parte del cable. Conectamos los cuatro pins de PS/2 utilizados (CLK,

DATA, VCC y GND) a ambos conectores (el del teclado y el de la PC).

Page 11: keylogger casero

Antes de cubrir el keylogger con el tubo termorretráctil es una buena idea aplicar un poco

de cola o resina entre los componentes para darle más rigidez al dispositivo. Finalmente

situamos el tubo termorretráctil en los componentes estañados y lo calentamos para que

cubra bien los componentes. Cortamos un orificio pequeño para asegurar acceso al

pulsador.

Con esto…POR FIN TERMINAMOS!!!

Aclaración Nuevamente [por 4° vez creo...], este aparatito fabricado por nosotros debe ser utilizado

con fines meramente educativos y/o de administración de redes o computadoras personales.

Nunca para espiar a alguien sin su consentimiento.

Robado (copypasteado) de: Fabricación de Keylogger electrónico casero tipo DIY [II Parte]

» ElPlog.com – V6.31 http://www.elplog.com/2009/07/27/fabricacion-de-keylogger-

electronico-casero-tipo-diy-ii-parte/#ixzz11gh6rXSe