wasarapo | Fecha: Sábado, 2011-06-25, 5:04 PM | Mensaje # 1 |
Principiante
Grupo: Moderadores
Mensajes: 29
Estatus: Offline
| navegando me consegui esto, gracias al compa kingcreek
INTRODUCCION
AVFUCKER: este programa lo que hace es crear copias del archivo a indetectar y a cada copia le modifica una parte (offset o rango de offset) distinta y contigua a la de la anterior indicando en el nombre de cada archivo avfuckeado los offset modificados. Veamos un ejemplo de cómo funciona avfucker, para esto tomaremos un archivo hipotético de sólo 10 offset y veremos desde un editor hexadecimal que sucede al hacerle avfucker. Al abrir el archivo sin modificar con el editor hexadecimal nos encontramos con esto:
Archivo original.exe: A1 75 F4 40 B5 57 C9 25 F6 18
Ahora hacemos avfucker a 1 byte en todo el archivo rellenando con valor 90:
Los archivos avfuckeados se verían así en el editor hexadecimal:
1_1.exe: A1 90 F4 40 B5 57 C9 25 F6 18 2_1.exe: A1 75 90 40 B5 57 C9 25 F6 18 3_1.exe: A1 75 F4 90 B5 57 C9 25 F6 18 4_1.exe: A1 75 F4 40 90 57 C9 25 F6 18 5_1.exe: A1 75 F4 40 B5 90 C9 25 F6 18 6_1.exe: A1 75 F4 40 B5 57 90 25 F6 18 7_1.exe: A1 75 F4 40 B5 57 C9 90 F6 18 8_1.exe: A1 75 F4 40 B5 57 C9 25 90 18 9_1.exe: A1 75 F4 40 B5 57 C9 25 F6 90
Ahora hacemos avfucker a 2 bytes en todo el archivo rellenando con valor 90:
Los archivos avfuckeados se verían así en el editor hexadecimal:
1_2.exe: A1 90 90 40 B5 57 C9 25 F6 18 3_2.exe: A1 75 F4 90 90 57 C9 25 F6 18 5_2.exe: A1 75 F4 40 B5 90 90 25 F6 18 7_2.exe: A1 75 F4 40 B5 57 C9 90 90 18 9_2.exe: A1 75 F4 40 B5 57 C9 25 F6 90 90
En este caso se agrega un offset más al archivo para poder completar el bloque de 2 bytes.
Ahora hacemos avfucker a 5 bytes en todo el archivo rellenado con valor 90:
Los archivos avfuckeados se verían así en el editor hexadecimal:
1_5.exe: A1 90 90 90 90 90 C9 25 F6 18 6_5.exe: A1 75 F4 40 B5 57 90 90 90 90 90
En este caso se agrega un offset más al archivo para poder completar el bloque de 5 bytes. Si prestaron atención se habrán dado cuenta que el nombre de los archivos avfuckeados indica exactamente donde han sido modificados. Veamos por ejemplo el caso del archivo 5_2.exe: el primer número, en este caso el 5, indica el offset donde comienza la modificación y el segundo número, en este caso el 2, indica cuantos offset fueron modificados a partir del offset donde comienza la modificación. El archivo 5_2.exe indica que a partir del offset 5 fueron modificados 2 offset, quedando modificados los offset 5 y 6. Así mismo otro archivo con el nombre 5100_100.exe indica que ha sido modificado entre los offset 5100 y 5200.
Si el bloque modificado es un número mayor o igual a diez, como en este ejemplo, esta tool en particular modifica un offset más. Por eso el último offset modificado es el 5200 y no el 5199.
DSPLIT: este programa lo que hace es crear copias del archivo a indetectar cortándoles o eliminando la última parte de código (offset o rango de offset), cortándole a cada copia un bloque menos que a la anterior e indicando en el nombre de cada archivo splitado los offset modificados. Veamos un ejemplo de cómo funciona dsplit, para esto tomaremos el mismo archivo hipotético de sólo 10 offset que venimos usando y veremos desde un editor hexadecimal que sucede al hacerle dsplit. Nuevamente al abrir el archivo sin modificar con el editor hexadecimal nos encontramos con esto:
Archivo original.exe: A1 75 F4 40 B5 57 C9 25 F6 18
Ahora hacemos dsplit a 1 byte en todo el archivo:
Los archivos splitados se verían así en el editor hexadecimal:
2_1.exe: A1 75 3_1.exe: A1 75 F4 4_1.exe: A1 75 F4 40 5_1.exe: A1 75 F4 40 B5 6_1.exe: A1 75 F4 40 B5 57 7_1.exe: A1 75 F4 40 B5 57 C9 8_1.exe: A1 75 F4 40 B5 57 C9 25 9_1.exe: A1 75 F4 40 B5 57 C9 25 F6
Ahora hacemos dsplit a 2 bytes en todo el archivo:
Los archivos splitados se verían así en el editor hexadecimal:
3_2.exe: A1 75 F4 5_2.exe: A1 75 F4 40 B5 7_2.exe: A1 75 F4 40 B5 57 C9 9_2.exe: A1 75 F4 40 B5 57 C9 25 F6
Ahora hacemos dsplit a 3 bytes en todo el archivo:
Los archivos splitados se verían así en el editor hexadecimal:
4_3.exe: A1 75 F4 40 7_3.exe: A1 75 F4 40 B5 57 C9 10_3.exe: A1 75 F4 40 B5 57 C9 25 F6 18
Si prestaron atención se habrán dado cuenta que el nombre de los archivos splitados indica exactamente donde han sido modificados. Veamos por ejemplo el caso del archivo 7_3.exe: el primer número, en este caso el 7, indica el offset a partir de donde se cortó el archivo y el segundo número, en este caso el 3, indica el tamaño del bloque con que se está splitando, es decir, cuantos offset menos se cortarán al siguiente archivo splitado (10_3.exe). El archivo 7_3.exe indica que a partir del offset 7 fueron eliminados todos los offset, quedando como offset final el 6. Así mismo otro archivo splitado con el nombre 4400_100.exe indica que ha sido cortado a partir del offset 4400 quedando como offset final el 4399.
APLICANDO AVFUCKER
Empecemos, pero primero....que es una firma? es un trozo de código de un programa que al ser escaneado por un programa antivirus le indica a este que se trata de algún tipo de malware. Nuestro objetivo es modificar dichas firmas de tal modo que el antivirus no las reconozca y por lo tanto no detecte el programa escaneado como malware. ¿Pero cómo hacemos para encontrar una firma? Esto depende del número de firmas que detecte el antivirus, empezaré explicando el caso más básico que es cuando sólo tenemos una firma, luego veremos que sucede cuando hay más. El archivo a indetectar será Malware.exe y para localizar la ubicación exacta de la firma utilizaremos avfucker. Este es el archivo Malware.exe visto desde el editor hexadecimal:
Malware.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 2E 6E 65 74 20 26 20 63 6F 72 70 2D 35 31 2E 6E 65 74
El trozo de código mostrado en color verde será la firma detectada por el antivirus.
Al comenzar a hacer avfucker se lo debe hacer en todo el archivo y el tamaño del bloque a modificar (número de bytes) variará según el tamaño del archivo, en este caso comenzaremos a 10 bytes porque se trata de un archivo pequeño pero lo usual es comenzar a 1000 bytes e ir bajando a 100, 10 y finalmente a 1 byte. El valor con el que se rellena puede ser cualquiera, en este caso utilizaremos 90.
Hacemos avfucker a 10 bytes en todo el archivo rellenando con valor 90:
Los archivos avfuckeados se verían así en el editor hexadecimal:
1_10.exe: 69 90 90 90 90 90 90 90 90 90 90 65 73 2E 6E 65 74 20 26 20 63 6F 72 70 2D 35 31 2E 6E 65 74 11_10.exe: 69 6E 64 65 74 65 63 74 61 62 6C 90 90 90 90 90 90 90 90 90 90 6F 72 70 2D 35 31 2E 6E 65 74 21_10.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 2E 6E 65 74 20 26 20 63 90 90 90 90 90 90 90 90 90 90
Si escaneamos con el antivirus y borramos detecciones el único archivo que no es borrado es el 11_10.exe ya que al avfuckearlo se modificó la firma y por lo tanto el antivirus no puede detectarla. Entonces si un archivo avfuckeado no es detectado significa que en el rango de offset donde fue modificado se encuentra toda o parte de la firma que detecta el antivirus, en este caso como sólo hay un archivo indetectado sabemos que en el rango de offset modificados en el archivo 11_10.exe se encuentra toda la firma. Esta es la forma en la que avfucker nos ayuda a encontrar la ubicación de una firma, mostrándonos donde modificar para indetectar un archivo. Ahora sabemos que la firma está entre los offset 11 y 20 ya que esos son los offset modificados en el archivo 11_10.exe pero necesitamos precisar más su ubicación así que haremos avfucker a menos bytes, en este ejemplo lo haremos a 2 bytes y poniendo como rango a modificar el rango donde sabemos que está la firma, en este caso pondremos Offset Inicial: 11 y Offset Final: 20.
Hacemos avfucker entre los offset 11 y 20 a 2 bytes rellenando con valor 90:
Los archivos avfuckeados se verían así en el editor hexadecimal:
11_2.exe: 69 6E 64 65 74 65 63 74 61 62 6C 90 90 2E 6E 65 74 20 26 20 63 6F 72 70 2D 35 31 2E 6E 65 74 13_2.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 90 90 65 74 20 26 20 63 6F 72 70 2D 35 31 2E 6E 65 74 15_2.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 2E 6E 90 90 20 26 20 63 6F 72 70 2D 35 31 2E 6E 65 74 17_2.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 2E 6E 65 74 90 90 20 63 6F 72 70 2D 35 31 2E 6E 65 74 19_2.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 2E 6E 65 74 20 26 90 90 6F 72 70 2D 35 31 2E 6E 65 74
Al escanear con el antivirus los archivos indetectados son el 13_2.exe, 15_2.exe y el 17_2.exe ya que en todos se modifica una parte de la firma y por lo tanto el antivirus no puede reconocerla. Al encontrarnos con estos tres archivos indetectados podemos darnos cuenta que la firma se encuentra entre los offset 13 y 18 ya que el offset modificado más chico en estos tres archivos indetectados es el 13 (en el archivo 13_2.exe) y el offset más grande modificado es el 18 (en el archivo 17_2.exe). Para saber donde se encuentra exactamente la firma haremos avfucker a 1 byte poniendo como Offset Inicial: 13 y Offset Final: 18.
Hacemos avfucker entre los offset 13 y 18 a 1 bytes rellenado con valor 90:
Los archivos avfuckeados se verían así en el editor hexadecimal:
13_1.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 90 6E 65 74 20 26 20 63 6F 72 70 2D 35 31 2E 6E 65 74 14_1.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 2E 90 65 74 20 26 20 63 6F 72 70 2D 35 31 2E 6E 65 74 15_1.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 2E 6E 90 74 20 26 20 63 6F 72 70 2D 35 31 2E 6E 65 74 16_1.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 2E 6E 65 90 20 26 20 63 6F 72 70 2D 35 31 2E 6E 65 74 17_1.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 2E 6E 65 74 90 26 20 63 6F 72 70 2D 35 31 2E 6E 65 74 18_1.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 2E 6E 65 74 20 90 20 63 6F 72 70 2D 35 31 2E 6E 65 74
Al escanear con el antivirus, los archivos indetectados son el 14_1.exe, 15_1.exe, 16_1.exe y el 17_1.exe y por lo tanto sabemos que la firma está compuesta por los offset 14, 15, 16 y 17. Ahora sólo es cuestión de modificar en nuestro archivo Malware.exe alguno de estos 4 offset y comprobar si continúa siendo funcional, si el archivo modificado se ejecuta normalmente significa que sigue siendo funcional, de lo contrario debemos probar modificando otro offset. En caso que sea funcional tendremos nuestro archivo indetectado al antivirus y funcional.
Ahora supongamos que el archivo Malware.exe tiene tres firmas:
Malware.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 2E 6E 65 74 20 26 20 63 6F 72 70 2D 35 31 2E 6E 65 74
Firma 1 Firma 2 Firma 3
Si intentamos hacer avfucker solamente veremos que sucede:
Hacemos avfucker a 10 bytes en todo el archivo rellenando con valor 90:
Los archivos avfuckeados se verían así en el editor hexadecimal:
1_10.exe: 69 90 90 90 90 90 90 90 90 90 90 65 73 2E 6E 65 74 20 26 20 63 6F 72 70 2D 35 31 2E 6E 65 74 11_10.exe: 69 6E 64 65 74 65 63 74 61 62 6C 90 90 90 90 90 90 90 90 90 90 6F 72 70 2D 35 31 2E 6E 65 74 21_10.exe: 69 6E 64 65 74 65 63 74 61 62 6C 65 73 2E 6E 65 74 20 26 20 63 90 90 90 90 90 90 90 90 90 90
En este caso todos los archivos avfuckeados serían borrados al escanearlos con el antivirus porque aunque en cada uno modificamos una firma siguen quedando otras que el antivirus reconoce y por lo tanto detecta los archivos como malware y los elimina.
En el archivo 1_10.exe modificamos la Firma 1 pero siguen estando intactas la Firma 2 y la Firma 3. En el archivo 11_10.exe modificamos la Firma 2 pero siguen estando intactas la Firma 1 y la Firma 3. En el archivo 21_10.exe modificamos la Firma 3 pero siguen estando intactas la Firma 1 y la Firma 2.
Para solucionar esto, usaremos el metodo Dsplit...
METODO DSPLIT:
(se los debo mis compaytriotas
fuente
|
|
| |
h4cK0n1mUs | Fecha: Viernes, 2011-12-30, 4:37 PM | Mensaje # 2 |
New User
Grupo: Usuarios
Mensajes: 3
Estatus: Offline
| LO esperare Compa !
|
|
| |