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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [Spreader] Infectar ejecutables VB.NET
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [Spreader] Infectar ejecutables VB.NET  (Leído 12,106 veces)
kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: [Spreader] Infectar ejecutables VB.NET
« Respuesta #10 en: 1 Mayo 2012, 01:27 am »

@Keyen Night:
Gracias por tu comentario, buenos consejos ;). No entendí una cosa -> para que nuestro código se ejecute debe estar situado antes del código del archivo infectado. Pero me encuentro con que el archivo infectado tiene el mismo icono que mi Spreader, mismas propiedades etc ¿Cómo hago para que el ejecutable infectado tenga el mismo icono y propiedades que la aplicación original?

@$Edu$
Claro que no hará nada, me he limitado a pasaros el método de copiado, no lo que quiero ejecutar :D

Simplemente añade tu código a la aplicación y llámalo como te salga en gana, ya sea en Load(), en otros eventos o en otros métodos. Con un MsgBox en Load() te basta para probarlo. Espero haberme explicado :)


En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: [Spreader] Infectar ejecutables VB.NET
« Respuesta #11 en: 1 Mayo 2012, 01:47 am »

Para modificar las propiedades de un ejecutable son necesarias las APIs BeginUpdateResource, UpdateResource y EndUpdateResource. Hay documentación en Google. Por esto te digo Windows va desde el PE hasta el final del ejecutable de allí lo que sobra Windows no lo carga. Los pasos que deberías seguir serían copiar el ejecutable malicioso bajo el nombre del original reemplazándolo, llenar con contenido aleatorio el ejecutable malicioso hasta obtener el tamaño del original, colocar el TimeSpan original y colocar las propiedades así como los iconos del original usando las APIs que Windows te proporciona.

Estás APIs son un poco ortodoxas pero son fáciles de usar. así como todas las demás y el Windows mismo XD


En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: [Spreader] Infectar ejecutables VB.NET
« Respuesta #12 en: 1 Mayo 2012, 02:01 am »

Creo entender lo que pides. Simplemente, reemplazar el archivo original por el nuestro infectado. Llenar el ejecutable con mi código, o secuencias aleatorias y cuando esté situado en el espacio del segundo código pues hacer las modificaciones que recomiendas.

Corrígeme si me equivoco, estaría bien dejarlo todo limpio.
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: [Spreader] Infectar ejecutables VB.NET
« Respuesta #13 en: 1 Mayo 2012, 02:35 am »

Ya pero lo mejor entonces seria como decia yo, que el codigo se ejecute en Ejecutar_Hostage() porque segun entendi cuando modifiques todo lo que te dijieron quedaria asi:

La primera vez la "victima" ejecutara el MALWARE.EXE solo, y se infectara al archivo ORIGINAL.EXE quedando asi:


MALWARE.EXE
ORIGINAL.EXE

En todo uno pero con el mismo nombre (ORIGINAL.EXE) y mismo icono, mismas propiedades, etc. Entonces cuando se ejecuta este nuevo ORIGINAL.EXE lo que hara sera ejecutar primero nuestro MALWARE.EXE, entrando en su formload y ejecutando el codigo malicioso y luego verificando si existe la firma para saber si ya esta infectado o no para que entonces al saber que ya esta infectado ejecute el ORIGINAL.EXE y la victima no sospechara de nada.

La cosa que la segunda vez cuando se ejecute el ORIGINAL.EXE hara lo de la copia y toma de buffer, etc pero ahora lo estaria haciendo con el exe que tiene MALWARE.EXE + ORIGINAL.EXE, entonces cada vez seria mas grande el archivo y hasta no creo que funcione. Porque usas estos valores:  17920 y 1252?

Tal vez digo cualquier cosa, nunca he hecho esto en .net y en vb6 lo hacia mas facil creo. Algun dia me pondre a ver como funciona esto, pero siento que esta mal planteado
En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: [Spreader] Infectar ejecutables VB.NET
« Respuesta #14 en: 1 Mayo 2012, 02:47 am »

Ya pero lo mejor entonces seria como decia yo, que el codigo se ejecute en Ejecutar_Hostage() porque segun entendi cuando modifiques todo lo que te dijieron quedaria asi:

La primera vez la "victima" ejecutara el MALWARE.EXE solo, y se infectara al archivo ORIGINAL.EXE quedando asi:


MALWARE.EXE
ORIGINAL.EXE

En todo uno pero con el mismo nombre (ORIGINAL.EXE) y mismo icono, mismas propiedades, etc. Entonces cuando se ejecuta este nuevo ORIGINAL.EXE lo que hara sera ejecutar primero nuestro MALWARE.EXE, entrando en su formload y ejecutando el codigo malicioso y luego verificando si existe la firma para saber si ya esta infectado o no para que entonces al saber que ya esta infectado ejecute el ORIGINAL.EXE y la victima no sospechara de nada.

La cosa que la segunda vez cuando se ejecute el ORIGINAL.EXE hara lo de la copia y toma de buffer, etc pero ahora lo estaria haciendo con el exe que tiene MALWARE.EXE + ORIGINAL.EXE, entonces cada vez seria mas grande el archivo y hasta no creo que funcione. Porque usas estos valores:  17920 y 1252?

Tal vez digo cualquier cosa, nunca he hecho esto en .net y en vb6 lo hacia mas facil creo. Algun dia me pondre a ver como funciona esto, pero siento que esta mal planteado

Te equivocas jejejejeje Cuando tenemos el archivo infectado ya guardado (Malware + Original) sigo comprobando que existe la firma, y como la firma está incluida da igual cuantas veces lo abras, el archivo seguira siendo el mismo, solo se ejecutará el archivo original. Conté con lo que dices desde el principio, fíjate bien en el código.

El valor 17920 es el tamaño en bytes de la aplicacion actual, de esta forma obtengo los bytes del archivo original mediante el Buffer.

Saludos.
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: [Spreader] Infectar ejecutables VB.NET
« Respuesta #15 en: 1 Mayo 2012, 03:01 am »

Mejor no me meto mas entonces, buen aporte y buen codigo xD
En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: [Spreader] Infectar ejecutables VB.NET
« Respuesta #16 en: 1 Mayo 2012, 03:43 am »

Esto parece ya algo de Abril Negro Tacho para que los sabios de ASM/C++ del foro no se sientan ofendidos con está afirmación :xD :xD :xD.

Se me acaba de ocurrir una buena idea pero lleva trabajo :xD

La primera vez que MALWARE.EXE se ejecuta crea una copia de MALWARE.EXE con las propiedades de ORIGINAL.EXE pero carga el contenido de ORIGINAL.EXE como una tabla de Bytes en los Resources del ejecutable (habría que comprimir estos datos para ahorra espacio y prevenir la detección), de modo que el ejecutable final sería MALWARE.EXE + PROPIEDADES DE ORIGINAL.EXE + EJECUTABLE ORIGINAL.EXE guardado en los recursos como Array de Bytes. De modo que al abrir MALWARE.EXE (resultante) se descomprima y escriba temporalmente en el disco ORIGINAL.EXE y se ejecute, antecediendo el código de MALWARE.EXE que podría proseguir con otro ejecutable más, de manera que cada vez que que MALWARE.EXE o MALWARE.EXE (resultante) sean ejecutados iniciara el archivo ORIGINAL.EXE normalmente y se infectarán cada vez más ejecutables hasta que todos estén infectados.
« Última modificación: 1 Mayo 2012, 03:45 am por Keyen Night » En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
Maurice_Lupin


Desconectado Desconectado

Mensajes: 356

GPS


Ver Perfil WWW
Re: [Spreader] Infectar ejecutables VB.NET
« Respuesta #17 en: 2 Mayo 2012, 17:14 pm »

Gracias por fijarte, tienes razon en lo de la sentencia condicional:D El método Ejecutar_Hostage lo que hace es sacar el código de la aplicación original de la aplicación infectada. No sé si me explico a horrores, pero si es así recuerdamelo jajajaj.

El mío desde luego no, espero que dure tiempo sin ser "cazado". Por cierto, ¿podrias comentar algo sobre lo que estas buscando de cifrar el formato PE?

Saludos!

Según lo entiendo, el formato PE es la estructura de una exe, y se puede cifrar  ;D
 he encontrado ejemplos para exes creados con vb6, c++ pero vb.Net nada. Dicen que es casi lo mismo pero la estructura de un exe vb.net cambia algo ;( a lo mejor has leido este taller :

http://foro.elhacker.net/analisis_y_diseno_de_malware/taller_asi_funcionan_los_crypters_encriptando_malware_a_mano-t262806.0.html

En línea

Un error se comete al equivocarse.
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Simple 'WLM' Spreader
Programación Visual Basic
illuminat3d 2 2,635 Último mensaje 18 Noviembre 2009, 18:05 pm
por illuminat3d
[Source] Kryptonite Spreader Version InfrAngeluX
Programación Visual Basic
BlackZeroX 2 2,365 Último mensaje 15 Diciembre 2009, 21:59 pm
por BlackZeroX
Spreader Facebook.
Ingeniería Inversa
Elemental Code 1 5,834 Último mensaje 21 Diciembre 2010, 02:26 am
por MCKSys Argentina
Spreader en pascal[APORTE]
Programación General
WarZ0n3 0 2,354 Último mensaje 15 Abril 2013, 00:10 am
por WarZ0n3
Spreader Crypter [USB Inf3ct] ByRoda
Criptografía
Roda 2 3,776 Último mensaje 10 Junio 2015, 00:13 am
por Roda
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines