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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


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

Desconectado Desconectado

Mensajes: 137



Ver Perfil
Creando editor de servidor VB6
« en: 13 Junio 2012, 22:27 pm »

Bueno lo que es es un editor de servidor en vb6 pero que no necesita llevar codigo en stub, no lo he visto nunca nose si ya estara inventado pero bueno me surgio la idea y me puse a ello. No sabia muy bien si publicarlo aqui o en vb6, pero como me parece que es mas orientado a malware lo de editor de servidor y eso pues bueno, lo pongo aqui  ;D ;D

Bueno se trata de hacer constantes en el stub y despues modificar los offset en los que estan escritas estas, las constantes deben ser del tamaño maximo que se introduzca desde el servidor, si una constante solo tiene una longitud para un caracter no puedes ponerle dos...

Bueno vamos a ello

FORMULARIO STUB
Código
  1. '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'
  2. '               EN EL FORMULARIO                   '
  3. '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'
  4. Option Explicit
  5.  
  6. Private Sub Form_Load()
  7. MsgBox variableA 'Comprobamos que las constantes
  8. MsgBox variableB 'han sido modificadas
  9. End Sub
  10.  
  11. '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'
  12. '     EN UN MODULO  LLAMADO mVariablesEdicion      '
  13. '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'
  14.  
  15. Option Explicit
  16.  
  17. Public Const variableA        As String = "          " 'CONSTANTE DE 10 CARACTERES
  18. Public Const variableB        As String = "          " 'CONSTANTE DE 10 CARACTERES

Guardamos y lo compilamos.

Ahora nos toca irnos a un editor hexadecimal para buscar los offset donde estan escritas las constantes, yo lo hare con WinHex.

Abrimos nuestro Stub ya compilado y le damos a buscar texto, buscamos mVariablesEdicion para encontrar donde esta nuestro modulo.

       

Nos pondra en puntero nuestro modulo y abajo veremos ya nuestras constantes, estas estan escritas de forma que se escribe un caracter y entre medias del siguiente un caracter nulo (00), seleccionamos el primer caracter de nuestra constante y abajo nos aparecera el offset en el que esta, apuntamos el offset , hacemos esto con las dos constates.





Vale ya tenemos los dos offsets: variableA = 17E0 -- EN DECIMAL --> 6112 -- PARA ESCRIBIR LA CADENA --> 6113
                                                   variableB = 17FC -- EN DECIMAL --> 6140 -- PARA ESCRIBIR LA CADENA --> 6141

Ahora para escribir en el exe al offset se le aumenta un  numero ya que los offset empiezan por 0 y en las cadenas el primer puntero es 1.

La longitud de las constantes YA COMPILADAS es de 20 (nuestros 10 caracteres + 10 caracteres nulos (0)).

Asique vamos con editor

Código
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4. Dim strTemp     As String
  5.  
  6. Open App.Path & "\Stub.exe" For Binary As #1    'Abrimos el stub
  7.    strTemp = Space$(LOF(1))                    'Creamos un buffer con su tamaño
  8.    Get #1, , strTemp                           'Obtenemos todo el stub en strTemp
  9. Close #1                                        'Cerramos el stub
  10.  
  11. Kill (App.Path & "\Stub.exe")                   'Eliminamos el stub
  12.  
  13. 'Aqui modificamos la zona donde estan escritas las constantes
  14.        '   Offset Longitud         Lo que queremos introducir pasandolo por una funcion que nos añade loscaracteres nulos
  15. Mid$(strTemp, 6113, 20) = InsertarNulos("VARIABLE A")   'RECORDAR QUE NO SE PUEDEN INTRODUCIR MAS CARACTERES QUE LOS DE LA CONSTANTE
  16. 'La segunda constante
  17. Mid$(strTemp, 6141, 20) = InsertarNulos("VARIABLE B")   'RECORDAR QUE NO SE PUEDEN INTRODUCIR MAS CARACTERES QUE LOS DE LA CONSTANTE
  18.  
  19. Open App.Path & "\Stub.exe" For Binary As #1    'Creamos un nuevo stub y lo abrimos
  20.    Put #1, , strTemp                           'Le escribimos la variable strTemp
  21. Close #1                                        'Cerramos y terminamos
  22. End Sub
  23.  
  24. Function InsertarNulos(ByVal strOriginal As String) As String
  25. Dim Temp        As String
  26. Dim i               As Long
  27. If Not Len(strOriginal) > 0 Then Exit Function
  28.  
  29. For i = 1 To Len(strOriginal)
  30.    Temp = Temp & Mid$(strOriginal, i, 1) & Chr$(0)
  31. Next i
  32.  
  33. InsertarNulos = Temp
  34. End Function

Guardamos, copiamos el stub compilado a la carpeta donde hemos guardado el editor, lo ejecutamos, y al ejecutar el stub veremos las constantes cambiadas.

Bueno eso es todo, comenten que les parece.
« Última modificación: 13 Junio 2012, 22:28 pm por noele1995 » En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Creando editor de servidor VB6
« Respuesta #1 en: 14 Junio 2012, 11:39 am »

Es un método que limita el tamaño de los datos a almacenar, pero puede ser útil cuando se busca un método simple y se sabe que lo que quieres almacenar tiene un tamaño máximo determinado.
En línea

[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.082


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: Creando editor de servidor VB6
« Respuesta #2 en: 14 Junio 2012, 11:44 am »

Está bien que se te haya ocurrido, pero sí, hay bastante software que hace así, de echo la minoría lo hace con un stub (realmente con el stub lo hace solo malware "cutre" en VB6) . El método de hardcodear la dirección de lo que quieres cambiar funciona bien, es la forma más eficiente de hacerlo siempre que la longitud de los datos sea más o menos fija. El método más utilizado es lo de utilizar la sección de recursos para meter los datos de configuración, es la forma más fácil de hacerlo sin añadir stub.

Saludos


Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
noele1995

Desconectado Desconectado

Mensajes: 137



Ver Perfil
Re: Creando editor de servidor VB6
« Respuesta #3 en: 14 Junio 2012, 14:45 pm »

Si con este metodo se podria hacer directamente con el servidor de nuestro troyano, la verdad tengo que mirar lo de los archivos de recursos porque aun no lo vi. Este metodo limita el tamaño de los datos pero puedes ponerle si quieres poner una ip bastates mas caracteres. Ademas mw parecio un buen metodo en comparacion con el tipico que se da en los manuales de escribir al final del servidor, aunque este ultimo no limita la cantidad de caracteres.
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Creando editor de servidor VB6
« Respuesta #4 en: 15 Junio 2012, 20:19 pm »

 :D eso de hard codear la direccion creo que es seguro no?

pero los troyanos de nivel como lo hacen? por ejemplo el viejo poison ivy que dependiendo del tamaño así crea el server :|
En línea

Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Creando editor de servidor VB6
« Respuesta #5 en: 16 Junio 2012, 04:45 am »

Hardcodear es seguro? no sé en que sentido lo digas, pero hablando de un ámbito en general, no es bueno si se desea portabilidad.

Saludos,
Nox.
En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Creando un editor de banners?
Diseño Gráfico
Nizer 1 1,929 Último mensaje 13 Noviembre 2006, 17:09 pm
por Azielito
creando un dvd
Multimedia
renato145 2 2,328 Último mensaje 10 Enero 2007, 01:30 am
por Songoku
tngo un problema creando el servidor arcemu de wow
Juegos y Consolas
ximo-sam 3 2,440 Último mensaje 23 Septiembre 2008, 19:03 pm
por Sk9ITk5Z
Creando un servidor web con WAMP
Desarrollo Web
fede_cp 9 32,757 Último mensaje 11 Enero 2012, 22:17 pm
por [u]nsigned
(APORTE) Sublime Text Editor 2 (El mejor editor que he conocido)
Software
Eleкtro 8 9,876 Último mensaje 22 Febrero 2012, 02:28 am
por raul338
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines