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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  [Taller] Api Hooking en modo usuario
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [Taller] Api Hooking en modo usuario  (Leído 16,119 veces)
spartanla90

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: [Taller] Api Hooking en modo usuario
« Respuesta #10 en: 12 Agosto 2009, 02:42 am »

wow a ver si se podre hacer algo aunk sea un poco parecido :xD
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: [Taller] Api Hooking en modo usuario
« Respuesta #11 en: 24 Agosto 2009, 20:31 pm »

Grande YST :)
En línea

YST


Desconectado Desconectado

Mensajes: 965


I'm you


Ver Perfil WWW
Re: [Taller] Api Hooking en modo usuario
« Respuesta #12 en: 28 Agosto 2009, 20:35 pm »

Otro ejemplo de api Hook que muestra en un MessageBox los archivos mediante los vea el explorer.exe
Código
  1. ; FinFuncion-FuncionInyectada = tamaño de la funcion
  2. include 'win32ax.inc' ;Incluimos la libreria
  3.  
  4. .data ; Declaramos la sección de codigo
  5. proc start ; Entry Point
  6.    locals
  7.    PID dd ?
  8.      lProc dd ?
  9.        DirFun                  dd ? ;Espacio donde escribiremos    nuestro codigo
  10.    endl
  11.     invoke FindWindowEx,0,0,"Progman",NULL
  12.     invoke GetWindowThreadProcessId,eax,addr PID
  13.    invoke OpenProcess,PROCESS_CREATE_THREAD+PROCESS_VM_OPERATION+PROCESS_VM_WRITE,FALSE,[PID]
  14.     mov [lProc],eax
  15. stdcall ReservarEspacio,FinFuncion-FuncionInyectada,[lProc]
  16.  mov [DirFun],eax
  17.      invoke WriteProcessMemory,[lProc],[DirFun],FuncionInyectada,FinFuncion-FuncionInyectada,0
  18.      invoke GetModuleHandle,'kernel32.dll'
  19.      invoke CreateRemoteThread,[lProc],0,0,[DirFun],eax,0,0
  20. ret
  21. endp
  22.  
  23.  
  24. proc ReservarEspacio,pTamaño,pPid
  25.    invoke VirtualAllocEx,[pPid],0,[pTamaño],MEM_COMMIT+MEM_RESERVE,PAGE_EXECUTE_READWRITE
  26.    ret
  27. endp
  28.  
  29. proc FuncionInyectada,pMZ
  30. locals
  31. pGetProcAddress dd ?
  32. lDelta dd ?
  33. lGetMDA DD ?
  34. lWSOCK32 dd ?
  35. lRMM dd ?
  36. lDD dd ?
  37. LVRPX dd ?
  38. lBytes dd ?
  39. lSend dd ?
  40. endl
  41.     call delta
  42.     delta:
  43.     pop edx
  44.     sub edx,delta
  45.     mov [lDelta],edx
  46.     mov eax,[lDelta]
  47.     add eax,GetAddressFunction
  48.     mov [pGetProcAddress],eax
  49.        stdcall [pGetProcAddress],[pMZ],"GetModuleHandleA",[lDelta]
  50.     mov [lGetMDA],eax
  51.     stdcall [lGetMDA],"kernel32.dll"
  52.     mov [lWSOCK32],eax
  53.       stdcall [pGetProcAddress],[pMZ],"GetProcAddress",[lDelta]
  54.     stdcall eax,[lWSOCK32],"FindNextFileW"
  55.     mov [lSend],eax
  56.   mov ebx,cRtlMoveMemory
  57.   add ebx,[lDelta]
  58.   mov [lRMM],ebx
  59.   mov edi,BytesOriginales
  60.   add edi,[lDelta]
  61.  
  62.  
  63.      stdcall [pGetProcAddress],[pMZ],"VirtualProtectEx",[lDelta]
  64.      mov [LVRPX],eax
  65.   mov edi,BytesOriginales
  66.   add edi,[lDelta]
  67.         lea edx,[lDD]
  68.         mov [lBytes],edi
  69. stdcall [LVRPX],-1,[lBytes],40,PAGE_EXECUTE_READWRITE,edx
  70.  
  71.     stdcall [lRMM],[lBytes],[lSend],40
  72.              lea edx,[lDD]
  73. stdcall [LVRPX],-1,[lSend],20,PAGE_EXECUTE_READWRITE,edx
  74. mov eax,[lSend]
  75. mov byte[eax],0x68
  76. inc eax
  77. mov dword[eax],MiSend
  78. mov edx,[lDelta]
  79. add dword[eax] ,edx
  80. add eax,4
  81. mov byte[eax],0xC3
  82. mov eax,DireecionAPI
  83. add eax,[lDelta]
  84. mov edi,[lSend]
  85. mov [eax],edi
  86.       stdcall [pGetProcAddress],[pMZ],"GetModuleHandleA",[lDelta]
  87.     mov [lGetMDA],eax
  88.     stdcall [lGetMDA],"user32.dll"
  89.          stdcall [pGetProcAddress],eax,"MessageBoxW",[lDelta]
  90. mov edi, eax
  91. mov eax,DireccionMes
  92. add eax,[lDelta]
  93. mov [eax],edi
  94.     stdcall [pGetProcAddress],[pMZ],"Sleep",[lDelta]
  95.  stdcall eax,-1
  96.     endp
  97.     proc GetAddressFunction,pMZ,pApi,lDelta
  98.     locals
  99.     lDelta2 dd ?
  100.     endl
  101. ;EDI = MZ
  102. ;Expot data = EBX
  103. ;Esi = Cantidad de funciones
  104. ;edx = AddressOfNames
  105. ;ECX = Propositos generales
  106. mov edi, [pMZ]
  107. mov ebx,[edi+0x3c]
  108. mov ebx,[ebx+edi+0x78]
  109. add ebx,edi
  110. mov esi,[0x18+ebx]
  111. mov edx, [0x20+ebx]
  112. add edx,edi
  113. .bucle:
  114. dec esi
  115. cmp esi,0
  116. je .error
  117. mov eax,esi
  118. rol eax,2   ;Multiplicamos esi por 4
  119. mov eax,[edx + eax]
  120. add eax,edi
  121. push eax
  122. mov eax,[lDelta]
  123. mov [lDelta2],eax
  124. add [lDelta2],comparar
  125. pop eax
  126. stdcall [lDelta2],[pApi],eax
  127. xor eax,0
  128. jnz  .bucle
  129. mov eax,[0x24+ebx]
  130. add eax,edi
  131. movzx ecx, word[eax + 2*esi]
  132. mov eax, [ebx + 0x1c]
  133. add eax,edi
  134. mov eax, [eax + 4 * ecx]
  135. add eax, edi
  136. .salir:
  137. ret
  138. .error:
  139. xor eax,eax
  140. jmp .salir
  141. endp
  142. proc comparar ,SRC,DST
  143. push edi ecx esi
  144. mov ecx,-1
  145. mov edi,[SRC]
  146. mov al,0
  147. repnz scasb
  148. mov eax,ecx
  149. not eax
  150. mov ecx,eax
  151. mov esi,[SRC]
  152. mov edi,[DST]
  153. repz cmpsb
  154. mov eax,1
  155. jnz Next
  156. dec eax
  157. Next:
  158. pop esi ecx edi
  159. ret
  160. endp
  161. ;Descripcion: Esta función funciona igual que la winapi RtlMoveMemory
  162. ; by YST
  163. proc cRtlMoveMemory,cBuffer,Cpuntero,cCantidad
  164. push esi edi
  165. xchg edi,[cBuffer]
  166. xchg esi,[Cpuntero]
  167. .bucleb:
  168. dec [cCantidad]
  169. movsb
  170. cmp  [cCantidad],0
  171. jge .bucleb
  172. pop edi esi
  173. ret
  174. endp
  175.  
  176. proc MiSend,p1,p2
  177. locals
  178. lDelta dd ?
  179. lRMM dd ?
  180. lResultado dd ?
  181. lDireccion dd ?
  182. lMensaje dd ?
  183. lBytes dd ?
  184. endl
  185.   call .delta
  186.     .delta:
  187.     pop edx
  188.     sub edx,.delta
  189.     mov [lDelta],edx
  190. mov eax,[lDelta]
  191. add eax,DireccionMes
  192. mov eax,dword[eax]
  193. mov [lMensaje],eax
  194. mov eax, DireecionAPI
  195. add eax,[lDelta]
  196. mov eax,dword[eax]
  197. mov [lDireccion],eax
  198. mov eax,cRtlMoveMemory
  199. add eax,[lDelta]
  200. mov [lRMM],eax
  201. mov eax,BytesOriginales
  202. add eax,[lDelta]
  203. mov [lBytes],eax
  204. stdcall [lRMM],[lDireccion],[lBytes],40
  205.  
  206. stdcall [lDireccion],[p1],[p2]
  207.  
  208. mov [lResultado],eax
  209.  
  210. mov eax,[lDelta]
  211. add eax,MiSend
  212. mov ebx,[lDireccion]
  213. mov byte[ebx],0x68
  214. inc ebx
  215. mov dword[ebx],eax
  216. add ebx,4
  217. mov byte[ebx],0xC3
  218. mov eax,[p2]
  219. add eax,44
  220. stdcall [lMensaje],0,eax,0,0
  221.  
  222. mov eax,[lResultado]
  223. ret
  224. endp
  225. DireccionMes dd ?
  226. DireecionAPI dd ?
  227. BytesOriginales:
  228. db 50 dup (0)
  229.  
  230.     FinFuncion:
  231. .end start ; Declaramos el Import data y el Entry Point    
  232.  
En línea



Yo le enseñe a Kayser a usar objetos en ASM
33boy33

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: [Taller] Api Hooking en modo usuario
« Respuesta #13 en: 19 Julio 2015, 03:52 am »

Una cosilla esto no es Assembler de pura cepa tipo ollydbg asi que no estoy seguro que es exactamente y tampoco como compilarlo o como va el asunto para poder ejecutarlo.
En línea

YST_RET

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: [Taller] Api Hooking en modo usuario
« Respuesta #14 en: 21 Julio 2015, 02:30 am »

Si , es asm puro el ensamblador es FASM buscalo en google . Saludos
En línea

zerointhewill

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: [Taller] Api Hooking en modo usuario
« Respuesta #15 en: 19 Enero 2016, 20:42 pm »

cuando seguira el tema ?  :D :D
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.700



Ver Perfil
Re: [Taller] Api Hooking en modo usuario
« Respuesta #16 en: 19 Enero 2016, 22:54 pm »

cuando seguira el tema ?  :D :D

Probablemente... nunca.

Lee la fecha del post, y la fecha de la última actividad del usuario antes de responder a un hilo.

Está prohibido revivir temas antiguos.

Tema Cerrado.
En línea


Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines