Título: ¿cómo se ejecuta este codigo?
Publicado por: concient en 24 Febrero 2019, 14:10 pm
He encontrado este codigo en un hilo de este mismo post pero primero no puedo preguntar en ese muismo post y segundo no se como se ejecuta alguien puede ayudarme? El hilo es el siguiente: https://foro.elhacker.net/analisis_y_diseno_de_malware/inyecciones_de_codigo_en_memoria-t446557.0.html format PE GUI 4.0 entry start include 'win32ax.inc' Ventana db 'Buscaminas',0 idproc dd ? ID dd ? TamFun dd ? DirFun dd ? start: invoke FindWindow,NULL,Ventana invoke GetWindowThreadProcessId,eax,addr idproc ;idproc = identficador del proceso invoke OpenProcess,PROCESS_ALL_ACCESS,0,[idproc] mov [ID],eax invoke LoadLibrary,"user32.dll" ;cargamos user32.dll invoke GetProcAddress,eax,"MessageBoxA" ;obtenemos la dirección de la api mov [mMessageBoxA],eax ; movemos la dirección de la api a la variable que hay dentro de la funcion qeu inyectaremos mov eax,final ;Obtenemos el tamaño de la función sub eax,Inyectado mov [TamFun],eax invoke VirtualAllocEx,[ID],0,[TamFun],MEM_COMMIT+MEM_RESERVE,PAGE_EXECUTE_READWRITE ;generamos el espacio dentro del proceso mov [DirFun],eax invoke WriteProcessMemory,[ID],eax,Inyectado,[TamFun],0 ;escribimos nuestro código en el proceso invoke CreateRemoteThread,[ID],0,0,[DirFun],0,0,0 ;Lanzamos el hilo. ret proc Inyectado call offset ;Técnica del offset delta. offset: pop ebx sub ebx,offset push ebx ebx pop ecx edx add ecx,titulo add edx,cuerpo push 0 push ecx push edx push 0 call [ebx+mMessageBoxA] ret titulo db 'Me inyecte!',0 cuerpo db 'Este Mensage sale del buscaminas ^^',0 mMessageBoxA dd ? ;variable que contiene la dirección de MessageBoxA@user32.dll endp final: data import library kernel32,'Kernel32.dll',\ user32,'user32.dll' import user32,MessageBoxA,'MessageBoxA',\ FindWindow,'FindWindowA',\ GetWindowThreadProcessId,'GetWindowThreadProcessId' import kernel32,OpenProcess,'OpenProcess',\ GetModuleHandle,'GetModuleHandleA',\ GetProcAddress,'GetProcAddress',\ VirtualAllocEx,'VirtualAllocEx',\ WriteProcessMemory,'WriteProcessMemory',\ CreateRemoteThread,'CreateRemoteThread',\ LoadLibrary,'LoadLibraryA' end data
Título: Re: ¿cómo se ejecuta este codigo?
Publicado por: EdePC en 24 Febrero 2019, 17:41 pm
Saludos,
- Bueno, yo solo conozco Masm y lo trabajo con RadASM junto a los cursos/videos/pdf del grupo RVLCN.
- Veo que Fasm es muy ligerito, voy a revisarlo, según veo puedes descargártelo desde: https://flatassembler.net/ , la descarga incluye ejemplos, pdf, miniIDE, etc. También están las instrucciones de compilación que necesitas.
- Otra cosa que veo es que tiene cierta base el en curso de Programación de Virus por zeroPad, son cursos antiguos que trabajan en Masm, pero si quieres profundizar puedes revisarlos.
http://www.ricardonarvaja/WEB/OTROS/PROGRAMACION%20DE%20VIRUS/
- En caso de los cursos de RVLCN, no veo que haya un sitio donde los tengan completos, supongo que me daré un tiempo para buscarlos completos y resubirlos, mientras tanto se puede ir viendo: http://www.ricardonarvaja/WEB/OTROS/DE%20LA%20LISTA%20MASM32-RADSM/
Título: Re: ¿cómo se ejecuta este codigo?
Publicado por: concient en 2 Marzo 2019, 20:11 pm
todos los links que has colgado estan caidos.
Título: Re: ¿cómo se ejecuta este codigo?
Publicado por: Eternal Idol en 2 Marzo 2019, 20:39 pm
El de flat assembler ahora funciona; el codigo esta explicado muy bien en el tema original, lee los manuales de la herramientas.
|