Virtual File (API redirection) [Source]

Iniciado por cobein, 9 Julio 2008, 13:14 PM

0 Miembros y 2 Visitantes están viendo este tema.

cobein

Holi Holas =)

Bueno, aca les dejo un modulito para emular la existencia de archivos, no esta 100% listo pero el ejemplo es totalmente funcional.

Lo que hace basicamente es redireccionar las APIs utilizadas para leer archivos engañando a nuestro programa para que lea desde la memoria.

El ejemplo muestra como usar LoadPicture para cara cargar un archivo BMP encryptado, desencryptandolo on the fly en memoria.

Descarga: http://www.uploadsourcecode.com.ar/d/cYtS2QjvGRr0Kr8AxtuzEYFScMgV8xYV
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

Karcrack

Muy bueno, tiene bastante utilidad :P

Saludos :D

el_c0c0

#2
.
'-     coco
"Te voy a romper el orto"- Las hemorroides

LeandroA

Che esta muy bueno, pero la verdad no cacho una como lo hace, esto esta haciendo un hook a las dll?, de esta forma se puede engañar a un shell?

Saludos

~~

Pues leyéndolo por encima lo que hace es un hooking clásico poniendo un jmp en el comienzo de la función deseada para que salte a tu propia función, me lo he leido muy por encima, pero vamos, tiene toda la pinta de ser eso. El mecanismo es simple, si quieres lo explico un poco por encima, por que al principio cuesta pillarlo, pero vamos que en cualquier texto de rootkits lo encuentras.

Citarde esta forma se puede engañar a un shell?

A que te refieres con eso? Si te refieres a ocultar archivos, procesos o lo que sea del ms-dos o windows en general si, se puede hacer de una forma similar a esa, la esencia es la misma, luego cambia mucho.

Salu2

cobein

Exactamente pone un jmp en las API deseadas (en este caso CreateFile, CloseHandle, etc) asi las apunta a nuestro codigo y el codigo lo que hace es manejar un byte array como si fueran los datos en el disco, de esa manera logra que cualquier funcion que llame a estas apis sea redireccionada a nuetro archivo en memoria
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

el_c0c0

#6
.
'-     coco
"Te voy a romper el orto"- Las hemorroides

cobein

Por lo que vi usa CreateFile, CloeHandle, ReadFile y SetFilePointer para acceder al archivo. El tamaño del archivo aparentemete lo determina moviendo el puntero al final del archivo asi que no usa GetFileSize o GetFileSizeEx.
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.