Keylogger en Javascript

Javascript es un lenguaje de programación interpretado, dialecto del estándar ECMAScript.

Se utiliza comunmente en la programación web como lenguaje client-side para añadir mejoras en la interfaz de usuario, interactividad del usuario con la página, e incluso, para generar páginas web dinámicas. No obstante, tambien puede ser usado para distribuir malware y otro tipo de amenazas, para muestra, basta con realizar una búsqueda en Google con términos como: Javascript Monero minerJavascript Ransomware, Javascript Virus y similares.

En este tutorial voy a presentar como hacer un Keylogger ultra sencillo, pero antes de comenzar vamos a definir qué es un keylogger:

Keylogger

Programa generalmente oculto al usuario, que se encarga de registrar todas las pulsaciones de teclas. Puede ser usado por criminales para obtener números de tarjetas de crédito, usuarios, contraseñas y otra información sensible.

Keyloggers famosos:

  • Teclassss.exe
  • IKS Keylogger Sealth

Existe otro programa similar a un keylogger, me refiero al clicklogger. Este es un programa que se encarga de registrar capturas de pantalla cada vez que el usuario hace clic. Estos programas suelen poner la ubicación del mouse en la captura y si el clic fue con el botón izquierdo o derecho.

Caracteristicas del mini Keylogger-JS

Dada la naturaleza de la forma en que funcionará, tendremos algunas limitaciones:

  • Se ejecutará en los navegadores. No podremos capturar las teclas pulsadas fuera de la página que está visualizando el user.
  • Estará escrito en JS, así que requiere JS activado en el navegador.
  • Para que comience a funcionar tendremos que hacer que el usuario lo instale, para esto hay diferentes métodos que veremos más adelante.

Sigue leyendo

Anuncios

Envío de archivos vía puerto serie (VB6)

Hola de nuevo. En este post les voy a presentar un experimento que recientemente hice en Visual Basic 6.0.

Decidí hacerlos por 3 cosas:

  • Me encanta Visual Basic 6 xD
  • Tenía un poco de tiempo libre
  • No he visto muchos ejemplos de esto en Internet (búsqueda en Google, Youtube)

El video con la demostración está en mi canal de Youtube

Para comenzar hay que tener en cuenta ciertas consideraciones:

  • La transferencia del archivo es byte por byte, será más, o menos rápida dependiendo de la velocidad con la que trabajamos el puerto serie (baudios por segundo).
  • Podemos calcular el retardo que ha de haber entre el envío de un byte y otro de acuerdo a los baudios por segundo que tengamos configurados en el puerto serie.
  • El tamaño máximo del archivo a enviar está determinado por el tamaño máximo de un arreglo. En VB6 es el valor máximo de la parte positiva de Long, esto es (2^31)-1 bytes = 2Gb.
  • La aplicación cliente, tendrá que capturar lo que se envía por el puerto serie e irlo almacenando en memoria, después, al “guardar” solo meteremos el contenido de la memoria en un archivo.
  • Para probar la aplicación en la misma PC, unir los puertos 2 y 3 (RX / TX) del puerto serie.

Conceptos básicos del puerto serie

El objetivo de este post no es enseñarte los conceptos básicos del puerto serie, pero tampoco puedo omitir algunas generalidades: Sigue leyendo

Análisis de un Worm VBS creado desde cero

En la entrega pasada analicé un pequeño Worm creado con la herramienta VBSWG (Visual Basic Script Worm Generator), vimos que genera código de relativamente baja calidad y facilmente analizable. Sin embargo, recordemos que dicha herramienta era muy usada en la primera mitad de la década de los 2000’s, en ese entonces el código generado podría considerarse bastante bueno, incluso hubo virus famosos creados con VBSWG.

Hoy presentaré el análisis de un Worm VBS que hice en el año 2003. Aunque nunca fue liberado, lo sigo considerando mi primer gusano. Sigue leyendo

Creación y Análisis de un Worm VBS creado con VBSWG

En la entrega pasada presenté una pequeña introducción al Malware y enumeré los diversos tipos que existen, ademas de describir a grandes rasgos su funcionamiento.

Para comenzar a entender como trabajar a la hora de diseñar malware, empezaremos analizando una muestra que crearemos nosotros mismos con VBSWG (Visual Basic Script Worm Generator.

EL exe de VBWG y su archivo de ayuda

EL exe de VBSWG y su archivo de ayuda

Sigue leyendo

Cifrar contraseñas. ¿Es totalmente seguro sha1?

En recientes días, haciendo una investigación acerca de el funcionamiento de cierta aplicación móvil me encontré con que usa una API pública, en la cual se puede obtener información de dicha app y el servicio que ofrece esa empresa.

La API en cuestión es muy fácil de consumir, basta con llamarla de la siguiente forma:

http://ip-de-la-pagina/a/metodo/parametro

Es decir si ponía:

http://ip-de-la-pagina/a/servicios/

Me aparecía un JSON con los servicios que ofrece. Hasta aquí todo bien. ¿Y qué tiene que ver esto con seguridad? Te has de estar preguntando. Aquí empieza lo bueno.

Se me ocurrió poner:

http://ip-de-la-pagina/a/usuarios/

Y la página me contestó con un JSON bien bonito donde venían los datos de los usuarios, incluido su nombre de inicio de sesión (username) y un SHA1 de su contraseña.

Hacer bypass a ese “super cifrado” fue tan fácil como entrar a http://hashkiller.co.uk o https://crackstation.net y pegar los respectivos digest *. Sigue leyendo

Flotis (juego casual para Android)

Flotis

Flotis

Flotis” es un juego casual en fase experimental para Android al estilo plataformas; solo que en vez de ir brincando, va nadando. Su temática es bastante simple: un buzo que va recogiendo gemas, debes recoger tantas gemas como puedas .

No es la gran cosa, (es el trabajo de aproximadamente 32 horas entre investigación y desarrollo) pero por lo menos me permitió echar un vistazo a 2 cosas: el motor de Unity 5 y cómo ponerle anuncios a una aplicación con AdMob.

Aunque planeo terminarlo después, lo voy a dejar un rato en fase experimental. Si lo bajas y lo pruebas, estaré muy agradecido 🙂

Cómo jugar:

Toca la pantalla para hacer que el buzo se nade hacia arriba. ¡Recoge las gemas y evita que te toquen los peces!

Descarga “Flotis” desde Google Play.

Este post forma parte de los Miércoles de Mini-post.

 

MobileBASIC – Una app que hará recordar los días de gloria de QBASIC

Para aquellos que ya llevamos rato en este mundo de la programación nos resulta muy atractivo encontrar algún lenguaje que use la sintaxis del viejo BASIC; pero resulta más atractivo aún que ese lenguaje sea nuevo.

La aplicación en cuestión lleva por nombre MobileBASIC. Es para Android, y por su sintaxis nos hará recordar (con nostalgia) al glorioso QBASIC.

Este es un ejemplo sencillo de un programa (nuestra el uso de FOR… END FOR)

SUB MAIN
 DIM I, J AS INTEGER
 
 PRINT "FOR Loop counting from 1 up to 10"
   FOR I=1 TO 10
   PRINT "I=" + STRING(I)
 END FOR
 
 PRINT "FOR Loop counting from 1 to 50 in steps of 10"
   FOR I=1 TO 50 STEP 10
   PRINT "I=" + STRING(I)
 END FOR
 
 PRINT "FOR Loop counting from 99 down to 11 in steps of -11"
   FOR I=99 TO 11 STEP -11
   PRINT "I=" + STRING(I)
 END FOR

PRINT "Nested FOR Loops, Both Loops are counting from 0 TO 9"
FOR I=0 TO 9
   FOR J=0 TO 9
      PRINT "I=" + STRING(I) + ", J=" + STRING(J)
   END FOR
 END FOR
END SUB

Lamentablemente no encontré una guía de referencia al lenguaje, aunque la cantidad de ejemplos que trae son sin duda un buen comienzo, ya que entre estos hay desde lo más básico, como IF… ELSE, hasta ejemplos con geolocalización y el uso de los sensores del teléfono.

Navegando entre los ejemplos

Navegando entre los ejemplos

Ejemplo de Geolocalización

Ejemplo de Geolocalización

Si quieres probar esta App, descárgala desde Google Play.

Este post forma parte de los Miércoles de Mini-post.