lunes, 1 de febrero de 2010

[Teoria]Capturar SSL POST del IE

¿De que se trata esto?

En este tutorial intentare explicar la teoria para capturar cualquier dato enviado por el metodo POST del protocolo HTTP(S) .


¿Pero esto no se consigue hookeando send y ya?

No , los datos enviados con SSL usan una encriptacion muy buena por lo tanto uno podria capturar el paquete mandado por send pero obtendrias un texto indesifrable.

¿Que necesito saber?


Con saber Api hook se vale :P

http://foro.elhacker.net/analisis_y_diseno_de_malware/taller_api_hooking_en_modo_usuario-t262962.0.html



¿Me dejarias de explicar cosas que ya se y empezarias ?

Si :xD



Usando el ollydbg y poniendole un BP( Breack Point ) en cada api ( Si fue un trabajo terrible ) descubri que por la api de la WININET.dll la HttpSendRequestW pasaban los datos enviados por POST tanto en HTTP como en HTTPS , como se ve en la siguiente imagen :




Nos vamos a la MSDN y en

http://msdn.microsoft.com/en-us/library/aa384247(VS.85).aspx


Vemos que las post siempre que vallan pasan por el cuarto parametro y el quinto indica el tamaño de estos datos.

Hookeamos la api como cualquier api y bla bla bla


El problema que yo tube en un comienzo es que el proceso iexplore.exe no tiene permisos para casi nada .

Luego de una dura investigacion se me ocurrio simular el sistema de coockies que usa el IE , eso me llevo a debuggear y eso me llevo hacia la api CreateUrlCacheEntryA de wininet.dll que es usada para crear el archivo de la coockie , para diferenciar las "coockies" mias con las reales ya que esta api permite ponerle la extensión al archivo ponerle a esta extensión "va" (pongo un ejemplo de la llamada)
Código
  llamar CreateUrlCacheEntryA,[p1],0,"va",addr Buffer,0



Luego de esa llamada la api devuelve en Buffer una ruta de un archivo que si es modificable por nosotros y ahi escribimos las cabezeras como lo hariamos normalmente :P


Fue un minitutorial de algo que aunque corto en tecnica fue una investigacion que me llevo dias :P

Saludos

1 comentarios:

amerikano dijo...

Muy buen texto gracias ;)

Publicar un comentario