keylogger casero

  • 2,454 views
Uploaded on

 

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,454
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
23
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 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
  • 2. 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.
  • 3. 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
  • 4. 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
  • 5. 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.
  • 6. 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
  • 7. 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.
  • 8. 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
  • 9. 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
  • 10. 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).
  • 11. 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