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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  Borrar ejecutable en ejecucion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Borrar ejecutable en ejecucion  (Leído 2,115 veces)
nts94

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Borrar ejecutable en ejecucion
« en: 20 Marzo 2012, 01:10 am »

Hola, soy nts94 y me gustaría saber si en windows es posible modificar un binario mientras se está ejecutando (con lo facil que es en linux!).

Vereis: estoy trabajando en un virus (como siempre, solo una POC, no lo vereis pululando por ahí) el cual quiero que al llegar el momento de activar su payload (algo original, que abrir la disquetera ya esta muy visto  :D) se desinfecte a sí mismo SOLO DEL BINARIO ACTUAL (es decir, el virus lleva un contador del numero de infecciones, y llegado a un punto solo uno de ellos se activara, y ese es el unico que quiero que se desactive de todo el sistema).

La idea es que cuando al usuario le salte una pantallita en plan "TONTO, TE HAS INFECTADO", pues como que le va a dar click a "Mandar a analizar" y nos va a joder el invento. Por todo lo que he dicho, no me vale usar CopyFileEx con MOVEFILE_DELAY_UNTIL_REBOOT.

PD: se me había ocurrido que tal vez podia inyectar parte del codigo (el que desinfecta) en otro proceso, y desde ahí desinfectarme, pero en Windows Vista/7 la inyeccion de codigo esta más complicada (por lo de los "Procesos Protegidos", sesiones, etc)

Bueno, gracias por adelantado
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.419


Se siente observado ¬¬'


Ver Perfil
Re: Borrar ejecutable en ejecucion
« Respuesta #1 en: 20 Marzo 2012, 01:50 am »

Eliminar el ejecutable no parece sencillo. Eso sí, puedes modificarlo e incluso puedes renombrarlo. Para ello debes cerrar todos los handles que haya abiertos al fichero. Había un código dando vueltas por ahí... si lo encuentro lo posteo. Es básicamente lo que hace el Unlocker.

saludos
En línea

nts94

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: Borrar ejecutable en ejecucion
« Respuesta #2 en: 26 Marzo 2012, 11:51 am »

La verdad es que es justo lo que estoy buscando. Y a quien pertenece el handle? Podría usar para ello NtQuerySystemInformation con SystemHandleInformation y duplicarlo con DuplicateHandle? Y luego como los cierro? (no digo en mi proceso, sino en el proceso que lo posee)

PD: Si el proceso dueño no está protegido, supongo que con un CreateRemoteThread en CloseHandle sobraría, no?

Gracias
« Última modificación: 26 Marzo 2012, 11:53 am por nts94 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Generar ejecutable en tiempo de ejecución
Programación Visual Basic
jrhomer 5 3,072 Último mensaje 13 Diciembre 2006, 09:28 am
por jrhomer
Borrar ejecutable en proceso!
Programación C/C++
dooque 3 2,642 Último mensaje 17 Diciembre 2010, 04:28 am
por dooque
Cuando se pase de fecha, borrar el propio ejecutable.
.NET (C#, VB.NET, ASP)
Meta 9 2,171 Último mensaje 17 Enero 2016, 14:57 pm
por Meta
Como borrar la cabecera de mi ejecutable usando esta funcion
Programación C/C++
Borito30 3 911 Último mensaje 26 Mayo 2017, 02:36 am
por Borito30
Borrar la cabecera de un ejecutable .NET
.NET (C#, VB.NET, ASP)
Borito30 5 2,290 Último mensaje 28 Mayo 2017, 18:18 pm
por Borito30
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines