Taller: cifrando Malware a Mano
Objetivos de éste taller
Debido a la avalancha de crypters que últiamente salen a la luz y que, en mi opinión, el 90% de ellos (principalmente en VB) se hacen utilizando código de terceros sin entender realmente que es lo que programan, decidí hacer éste taller para mostrar el modo de funcionamiento de un crypter, de modo que cualquier persona con interés sea capaz a entenderlo. Al finalizar el talller seremos capaces de entender que es lo que hacen los crypters para burlar a los antivirus, y seremos capaces de hacer éste proceso de forma manual, así como, de tener conocimientos de programación y a partir de éste taller, tendremos los conocimientos necesarios para programar un crypter sabiendo que queremos conseguir realmente.
Herramientas Necesarias
- Olly Debug Descargar (http://www.ollydbg.de/odbg110.zip)
- Un Editor Hexadecimal Descargar HxD (http://mh-nexus.de/downloads/HxDSetupES.zip)
- Un Editor del PE Descargar LordPE (http://www.megaupload.com/?d=ZDZZM1WX)
- Poison Ivy v2.1.4 Private Descargar (http://www.megaupload.com/?d=FIEAECVJ)
Conocimientos recomendados
- Nociones básicas sobre ASM. Taller ASM por E0N (http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2008_taller_de_asm-t208188.0.html)
- Conocimientos sobre el Formato PE. Taller Formato PE por Ferchu (http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2008_taller_de_formato_pe_by_ferchu-t208278.0.html)
- Familiarización con el uso de Olly y las otras herramientas.
¿Qué vamos a cifrar?
Bueno, lo primero que haremos será abrir el server del PI con un el Editor Hexadecimal y el Editor del PE:
(http://i360.photobucket.com/albums/oo45/eduhack/2.png)
Vemos que el ejecutable tiene 2 secciones, la .text y la .data. En éste caso vamos a cifrar solamente la sección .text que es la que contiene el código ejecutable. La .data la vamos a dejar tal y como está, porque si nos vamos al editor hexadecimal y nos vamos a 0x1A00 y miramos lo que hay más abajo, vemos que ahí se encuentra la IAT, y cifrar eso nos complicaría bastante las cosas, tal vez para otra entrega, en ésta vamos a dejar esa sección tal y como está :P:
(http://i360.photobucket.com/albums/oo45/eduhack/3.png)
Entonces, lo que vamos a cifrar es lo que va desde 0x200 a 0x1A00 viendolo con el editor hexadecimal.
¿Cómo lo vamos a cifrar?
Lo haremos de una forma sencilla. Encriptaremos el archivo en disco y añadiremos un poco de código en un espacio libre, y que haremos que sea el primero en ejecutarse, de modo que cuando el archivo se cargue en memoria, éste código se encargue de descifrar lo que habíamos cifrado de la sección .text y luego salte a donde el programa comenzaba originalmente. Éste código lo vamos a poner al final de la sección ejecutable, debido a que suele haber espacio libre ahí debido al alineamiento de las secciones.
(http://i360.photobucket.com/albums/oo45/eduhack/4-1.png) (http://i360.photobucket.com/albums/oo45/eduhack/4.png) (http://i360.photobucket.com/albums/oo45/eduhack/5-1.png) (http://i360.photobucket.com/albums/oo45/eduhack/5.png)
Ejecutable original y ejecutable cifrado respectivamente
Preparando la sección .text
Vamos a buscar el espacio libre al final de la sección ejecutable y lo vamos a rellenar de NOP's usando el Editor Hexadecimal. Luego tambien vamos a cambiar los Flags del apartado Characteristics utilizando el LordPE.
Para buscar el espacio libre, nos vamos al LordPE y vemos que la sección .text emipeza en 0x200 (ROffset=0x200) y ocupa 0x1800. 0x200 y 0x1800 son 0x1A00, cojemos el HxD y nos vamos a esa dirección, es justo el comienzo de la sección .data y el final de la .text. Vemos que para arriba tenemos 0x00's, ése va a ser nuestro hueco, seleccionamos los 0's (dejando unos bytes de margen por si las moscas), y lo rellenamos de Nop's (NOP=0x90):
(http://i360.photobucket.com/albums/oo45/eduhack/6-1.png)
Y listo, ya sabemos donde podeomos poner nuestro código desencriptador, a partir de 0x1890 para adelante (anotamos en algún sitio ese valor), ahora otro punto. Para descifrar la sección .text vamos a necesitar que ésta tenga permisos de lectura y escritura (de ejecución ya tiene puesto que es la sección de código), así que abrimos el server con el LordPE, nos vamos a Sections, seleccionamos la sección .text, click derecho->Edti Section Header, damos click en el botón situado en el apartado flags y marcamos la opción "Writeable" ("Readable" ya está), damos "OK" y guardamos todos los cambios.
(http://i360.photobucket.com/albums/oo45/eduhack/7.png)
Insertando la rutina encriptadora/desencriptadora
Bueno, el siguiente código en ASM desencrypta/cifra un array de bytes usando un Xor:
;---------------------------------------------------------------
;Taller Encriptacion Malware a Mano: Código Desencriptación
;---------------------------------------------------------------
;Movemos a eax la dirección de inicio del código cifrado
mov eax,402000h
;Movemos a ebx la dirección de fin del código cifrado
mov ebx,403000h
;Movemos a ecx la dir del Entry Point Original
mov ecx,401038h
xor byte ptr ds:[eax],0FFh ;Hacemos el xor al byte con la clave 0FF (se puede cambiar por otro byte)
inc eax ;Nos desplazamos al siguiente byte
cmp eax,ebx ;Comprobamos si es el último
jne 401234h ;Si no lo es, continuamos con el siguiente
ret ;Salimos del programa (cambiar ret por nop despues de cifrar)
jmp ecx ;Si lo es, saltamos el Entry Point Original
Eso es lo que tenemos que instar en el espacio libre que habíamos encontrado (con unas pequeñas modificaciones). Para eso, vamos al OllyDbg y abrimos el server. Una vez cargado el archivo, damos click derecho, View->Executable File.
(http://i360.photobucket.com/albums/oo45/eduhack/8.png)
Ahora nos vamos a la dirección (CTRL+G) dónde hemos empezado a poner los Nop's, 0x1890 (el valor que dije que recordarais). Luego damos click derecho sobre el primer Nop y sellecionamos View Image in Disassembler, así nos situará en donde se cargaron lso Nop's en memoria.
(http://i360.photobucket.com/albums/oo45/eduhack/9.png)
Ahí vamos a poner nuestro código, vamos dando doble click en los Nops y vamos introduciendo el código aterior línea a lína hasta que nos quede así:
(http://i360.photobucket.com/albums/oo45/eduhack/10.png)
Pero ahí hay que arraglar cosas, las direcciones 0x401000, 0x402000, 0x401038 y 0x4001234 no son correctas para éste ejecutable (y 99.999% seguro que para ningun otro que encontremos ;D), así que hay que cambiarlas por sus valores correctos.
Vamos por la primera, el 402000, ésta es la dirección VIRTUAL donde de donde queremos que empiece a cifrar/descifrar, en nuestro caso, queremos que empiece a cifrar/des en el inicio de la primera sección, que viendo como el editor hexadecimal era 0x200, pero NO, esa es la dirección FÍSICA, al cargarse en memoria esa dirección cambia por algo de la forma 40XXXX (corrientemente). Vale, y como la obtenemos? Pues abrimos el LordPE, cargamos el ejecutable, y le damos para ver las secciones:
(http://i360.photobucket.com/albums/oo45/eduhack/11.png)
Ahora ésto es una regla general para todos los casos, para obtener una dirección VIRTUAL a partir de la FÍSICA de una sección hacemos: (DIR FÍSICA-ROFFSET)+VOffset+ImageBase:
(0x200-0x200)+0x1000+0x400000=401000.
Ésa es la dirección que tenemos que poner en el primer valor. Vamos con el segundo, el 403000, ése es el valor VIRTUAL donde termina el código que queremos cifrar. En éste caso, el código que queremos cifrar termina donde empezamos a poner los nops, en 0x1890 DIRECCIÓN FÍSICA, así que hacemos (DIR FÍSICA-ROFFSET)+VOffset+ImageBase:
(0x1890-0x200)+0x1000+0x400000=0x402690 (Utilizad la calculadora de windows en modo hex :P).
Ése es el valor que tenemos que poner en el 2º valor, vamos con el 3º, el 401028, éste es más fácil, ahí hay que poner el AddressOfEntryPoint en memoria del ejecutable, para saberlo abrimos el ejecutable con el LordPE:
(http://i360.photobucket.com/albums/oo45/eduhack/13.png)
Cogemos ese valor, se sumamos el ImageBase (0x400000+0x2104) y nos da 402104, ese es nuestro 3º valor, el punto a donde debemos de saltar luego de descifrar los datos.
Venga, 4º y último valor que tenemos que cambiar, el 401234, éste también es fácil, la dirección a la que tiene que saltar el bucle si no llegamos al final. Volvemos al olly, donde habíamos introducido la rutina en ASM, y el valor que tenemos que introducir es la dirección donde pusimos el xor byte ptr ds:[eax],0FFh, en éste caso 0x40269F:
(http://i360.photobucket.com/albums/oo45/eduhack/12.png)
Y listo, nuestro código encriptador/desencriptador ya funcionaría, tal cual lo copiamos se encargaría de cifrar la sección .text. Debería de quedar así:
(http://i360.photobucket.com/albums/oo45/eduhack/14.png)
Así que en el olly damos click derecho "Copy to Executable/All modifications" y guardamos el archivo en disco (click drcho, backuup->save data to file).
Ahora tenemos que cambiar el Entry Point por la dirección donde empieza nuestro código en memoria: 2690 (Sin el imagebase):
(http://i360.photobucket.com/albums/oo45/eduhack/15.png)
Listo, ahora la rutina encriptadora/desencriptadora será lo primero que se ejecute al iniciar el archivo.
cifrando, descifrando
Ahora que ya tenemos la rutina encriptadora/desencriptadora en su sitio, vamos a usarla para que nos encripte lo la sección .text, para ésto abrirmos nuevamente el server con el Olly, y ponemos un breakpoint en el ret del código de la rutina desencriptadora. Una vez hecho ésto, pulsamos F9 y el programa empezará a ejecutarse hasta que parará en el ret. En éste momento ya tenemos el código cifrado, pero en memoria, así que vamos a copiarlo al portapapeles. Seleccionamos con el ratón desde 0x401000 hasta 0x401890 (no incluído)(el trozo que ciframos) y hacemos click derecho/bianry/binary copy:
(http://i360.photobucket.com/albums/oo45/eduhack/16.png)
Ahora cerramos el olly, y abrimos el archivo nuevamente con el HxD (mientras haces ésto no copies ni pegues nada que te cargas lo que hay en el portapapeles :P). Una vez abierto seleccionamos los bytes desde 0x200 hasta 0x1890 (no incluído) y hacemos click derecho/pegar escribiendo y guardamos los cambios.
Ahora ya tenemos el código cifrado en disco, entonces ahora lo que tiene que hacer la rutina encriptadora/desencriptadora es descifrar el código y luego saltar al Entry Point Original, para ésto solo tenemos que cambiar el ret del código por un Nop con Olly:
(http://i360.photobucket.com/albums/oo45/eduhack/17.png)
Guardamos los cambios en disco y LISTO!! ya tenemso nuestro server cifrado con "nuestro crypter manual ;D":
(http://i360.photobucket.com/albums/oo45/eduhack/18.png)
Despedida
Bueno, pues espero que hayáis aprendido algo de mis palabras y del método, sobre todos los que no sabían lo que hacer un crypter, y los que sabían, pues seguro algo aprendieron tambien ;).
Que lo disfrutéis! Y ya sabéis, cualquier duda ;).
Subo también el server modificado después de todo el proceso para que os ayude a encontrar posibles fallos que tengáis :P. Descargar (http://www.megaupload.com/?d=BH7GKAR0)
Saludos
PD: Algo que se me olvidó mecionar, utilizando éste método no es necesario inyectar nada en ningún proceso, por lo nos evitamos problemas con heurísticas, y aumentamos 0byes el peso del archivo :laugh:.
Edito: Al final el server no quedó FUD, era que no subí lo que era, y es lo más normal ya que con un simple Xor no se pueden quitar todo así como así :xD. De todas formas eso no importa demasiado, en ésta caso hay espacio de sobra para poner una cifrado mas difícil etc... ;D.
Muy buenooooooooo!
Para acabar de hacerlo FUD solo haria falta cambiar por un ROT1 :xD :xD Eso creo... no lo he provado...
Despues de eso vienen los problemas con la heuristica y la proteccion proactiva :xD
;-) ;-) ;-)
Muy bueno, eso es el tipo de contenidos que me gustaría ver más a menudo en este subforo. Chichetazo!! ;)
Un Saludo :)
Hombre gracias ;D.
Cita de: Karcrack en 30 Julio 2009, 21:54 PM
Muy buenooooooooo!
Para acabar de hacerlo FUD solo haria falta cambiar por un ROT1 :xD :xD Eso creo... no lo he provado...
Despues de eso vienen los problemas con la heuristica y la proteccion proactiva :xD
;-) ;-) ;-)
Si, o un RC4, ese ejecutable en concreto creo que tiene espacio de sobra, sinó agrandas un poco la sección ejecutable y sinó creas otra sección y punto.
Si me animo un día sacaré la 2ª parte, en la que explicaré como cifrar la IAT y hacer un loader en asm para cargar las estructuras con su valor (un problema que tienen muchos crypters según he visto).
Saludos :P
EXCELENTE
muchas gracias, hacia falta algo asi :D
Muy bueno, felicitaciones Hacker_Zero!! ;-) x100
Te has hecho un gran trabajo , claro que me faltan conocimientos para comprender todo a la perfeccion , como asm por ejemplo :xD , gracias.
Bueno, estuve metiendole una cifrado más fuerte al server, le añadí RC4 a parte del xor que ya tenía, lo subo para quien quiera ver cómo lo he hecho :P.
Descargar Server RC4 (http://www.megaupload.com/?d=J7PDJFP5)
Tambien descubrí que ni así se queda fud, y es en la otra sección, la que no ciframos, aparte de la IAT están las strings y la parte de configuración de server :xD. Para la segunda parte encriptaremos eso también ;).
Saludos
Excelente bro :o
esta muy bueno, me das permiso para usarlo en un foro amigo :) y pongo tu nombre de auto obvio :xD
BRAVO!!!! Lo que siempre había buscado ;-) ;-) ;-) Gracias!!
Claro, podéis ponerlo donde queráis poniendo los créditos oportunos ;).
Gracias a todos :).
Es un gran aporte ::) ...
La verdad, muy bueno!. Lo pondré en accion lo antes posible. ::)
Estupendo aporte, espero impaciente tu 2ª parte. Entonces con con un simple xor y un rc4 aplicado a toda la sección y cifrando todos los strings de la IAT se quedaria totalmente FUD el server?
Hombre, si encriptas todo el server lo más probable es que si, salvo que pase algo raro con el PE.
Lo de cifrar la IAT tiene su complicación, estoy dudando si hacer el tuto de cómo hacerlo manualmente, puesto que si pongo el código de un loader que cargue las apis, los antivirus pondrían una firma ahí y no serviría de nada para el 90% de las personas :-\. Estoy pensando una alternativa ;D.
Saludos
que es lo que se supone que haga exactamente con el server_rc4.exe ver el codigo desde el olly???
perdonen por la pregunta pero me quede en blanco...
salu2
Si, en el tuto explico como hacer una cifrado Xor, el server_rc4 es el mismo método pero con cifrado RC4, mucho más fuerte, lo subí para que echéis un ojo de como hacerlo, requiere más conocimientos de ASM y tiene que haber bastante más espacio en el ejecutable, pero en éste caso es fácil de hacer.
Saludos ;)
Muy buen tuto che felicidades te molesta q lo use para unos cursos q dare
Para nada, puedes ponerlo donde quieras o hacer cualquier obra derivada a partir de ésto.
Saludos ;)
simplemente buenisimo
Se puede seguir este tuto sin problema, habiendo empezado hace poco en el mundillo y si nsaer programar nada?
Cita de: Shempi en 24 Noviembre 2009, 23:26 PM
Se puede seguir este tuto sin problema, habiendo empezado hace poco en el mundillo y si nsaer programar nada?
Has intentado seguir el tuto?
Intentalo antes de preguntar!
Me he quedado en un punto, aver si me lo podeis solucionar :)
Estoy en el Olly y le he dado en el primer NOP y tengo que introducir linea por linea tu code en ASM, pero donde lo inserto? te dejo un pantallazo de lo que me sale, y si me pudes decir donde lo coloco y como accedo alli, lo más que he visto es "Add Comment" es ahi donde lo inserto? Desde ya gracias
http://img171.imageshack.us/img171/1483/olly.jpg
Saludos!
Cita de: Pyr0s en 26 Noviembre 2009, 19:32 PM
Me he quedado en un punto, aver si me lo podeis solucionar :)
Estoy en el Olly y le he dado en el primer NOP y tengo que introducir linea por linea tu code en ASM, pero donde lo inserto? te dejo un pantallazo de lo que me sale, y si me pudes decir donde lo coloco y como accedo alli, lo más que he visto es "Add Comment" es ahi donde lo inserto? Desde ya gracias
http://img171.imageshack.us/img171/1483/olly.jpg
Saludos!
Doble click en el nop :P. Leéte algo obre Olly y ASM antes :P.
Saludos
Ok aver si acabo xD me gusta esto de la cifrado, que pena que tenga que estar tan relacionado con ASM xD
Saludos!
ME gusto mucho este tute, sobretodo por lo bien explicado que esta, ahora tengo un par de preguntas, que significa FUD? (nos e rian ;D) y lo otro, una sección cifrada, ya sea con el metodo xor, ya es indetectablew por el antivirus no?
Cita de: KJD en 2 Diciembre 2009, 01:39 AM
ME gusto mucho este tute, sobretodo por lo bien explicado que esta, ahora tengo un par de preguntas, que significa FUD? (nos e rian ;D) y lo otro, una sección cifrada, ya sea con el metodo xor, ya es indetectablew por el antivirus no?
FUD = Full Undetected :P
Cita de: KJD en 2 Diciembre 2009, 01:39 AM
una sección cifrada, ya sea con el metodo xor, ya es indetectablew por el antivirus no?
Con un simple XOR la sección no quedará FUD, tendrías que agregar una cifrado un poco más compleja, ahí puse un ejemplo de RC4, que deja
esa sección sin firmas :P.
Saludos
+1 Buenisimo Tuto :)
Gracias!
Cita de: Hacker_Zero en 2 Diciembre 2009, 15:16 PM
Cita de: KJD en 2 Diciembre 2009, 01:39 AM
una sección cifrada, ya sea con el metodo xor, ya es indetectablew por el antivirus no?
Con un simple XOR la sección no quedará FUD, tendrías que agregar una cifrado un poco más compleja, ahí puse un ejemplo de RC4, que deja esa sección sin firmas :P.
Saludos
haaa ok, osea, por mas que loo encripte con una xor, igualmente existirian firmas que seran detectadas por el AV. Gracias
Cita de: nxs en 17 Agosto 2009, 20:01 PM
Estupendo aporte, espero impaciente tu 2ª parte. Entonces con con un simple xor y un rc4 aplicado a toda la sección y cifrando todos los strings de la IAT se quedaria totalmente FUD el server?
Cita de: froylan en 3 Diciembre 2009, 03:00 AM
Cita de: nxs en 17 Agosto 2009, 20:01 PM
Estupendo aporte, espero impaciente tu 2ª parte. Entonces con con un simple xor y un rc4 aplicado a toda la sección y cifrando todos los strings de la IAT se quedaria totalmente FUD el server?
Veo dificil cifrar las strings del IAT :xD
Se puede cifrar la IAT añadiendo un poco de código, o incluso moverla de sitio ;). Además, en ese ejecutable en concreto, la "sección de datos" está pegada a la IAT, por eso no quise cifrar nada ahí, pero aún no cifrando la IAT y sí el resto de la sección de datos se irían la mayoría de las firmas :P.
Cita de: Hacker_Zero en 3 Diciembre 2009, 15:15 PM
Se puede cifrar la IAT añadiendo un poco de código, o incluso moverla de sitio ;). Además, en ese ejecutable en concreto, la "sección de datos" está pegada a la IAT, por eso no quise cifrar nada ahí, pero aún no cifrando la IAT y sí el resto de la sección de datos se irían la mayoría de las firmas :P.
Añadiendo un TLS Callback puedes cifrar TODO el ejecutable (Excepto la cabecera PE :¬¬) sin preocuparte de nada, ni cambio de EP ni leches :xD
El problema estaria en los ejecutables de Delphi... que tendrias que cambiar mas cosas :P
Aún no hice funcionar nada con el TLS :-X. En navidades tendré más tiempo y veré si puedo hacer algo, mientras tanto si alguien tiene curiosidad y lo quiere intentar:
http://isc.sans.org/diary.html?storyid=6655
http://www.cyberarmy.net/library/article/1653
[PUBLI]El Virus Metamorph inserta automaticamente TLS Callback's[/PUBLI]
Saludos
Cita de: Hacker_Zero en 3 Diciembre 2009, 15:15 PM
Se puede cifrar la IAT añadiendo un poco de código, o incluso moverla de sitio ;). Además, en ese ejecutable en concreto, la "sección de datos" está pegada a la IAT, por eso no quise cifrar nada ahí, pero aún no cifrando la IAT y sí el resto de la sección de datos se irían la mayoría de las firmas :P.
El IAT ? y donde te metes el loader de windows ? :xD
Cita de: YST en 4 Diciembre 2009, 04:21 AM
El IAT ? y donde te metes el loader de windows ? :xD
Usando un TLS callback no hay problema :P Se carga antes que el Loader de W$ ;-)
Cita de: YST en 4 Diciembre 2009, 04:21 AM
Cita de: Hacker_Zero en 3 Diciembre 2009, 15:15 PM
Se puede cifrar la IAT añadiendo un poco de código, o incluso moverla de sitio ;). Además, en ese ejecutable en concreto, la "sección de datos" está pegada a la IAT, por eso no quise cifrar nada ahí, pero aún no cifrando la IAT y sí el resto de la sección de datos se irían la mayoría de las firmas :P.
El IAT ? y donde te metes el loader de windows ? :xD
Puedes hacer un Loader en ASM que cargue la IAT como lo hace el de windows, en ASM son un puñado de bytes. Para que veas un ejemplo el packer armadillo creo que hacía algo parecido para dificultar que se debugee :P.
Saludos
Noe eh leido sobre TLS ( voy a leer ) pero tienen razón si se le quita la propiedad de que la sección donde esta el IAT sea la sección del IAT pues se puede cifrar luego descifrar y luego cargar todo como aparece en el tuto de Hacker_0 mas abajo el de relocation table
Leí un poco de TLS y te equivocaste karcrack :¬¬ El import se carga antes del tls ;)
Cita de: YST en 22 Diciembre 2009, 23:01 PM
Leí un poco de TLS y te equivocaste karcrack :¬¬ El import se carga antes del tls ;)
Sera cosa de tu querido W$ 7 :laugh:
Cita de: Karcrack en 22 Diciembre 2009, 23:45 PM
Cita de: YST en 22 Diciembre 2009, 23:01 PM
Leí un poco de TLS y te equivocaste karcrack :¬¬ El import se carga antes del tls ;)
Sera cosa de tu querido W$ 7 :laugh:
El malware tiene que ser compatible desde por lo menos win 2000 hasta win 7 :D
Cita de: YST en 23 Diciembre 2009, 05:31 AM
El malware tiene que ser compatible desde por lo menos win 2000 hasta win 7 :D
No he dicho lo contrario :D :D :D :D
Cita de: Karcrack en 23 Diciembre 2009, 13:39 PM
Cita de: YST en 23 Diciembre 2009, 05:31 AM
El malware tiene que ser compatible desde por lo menos win 2000 hasta win 7 :D
No he dicho lo contrario :D :D :D :D
Paz hermanos... cero guerra por Win7 y sus caprichos o por la compatibilidad del malware...
Mod y Necrofilo dense un saludo de paz... :xD :xD :xD
Maldito aportazo buena esa tio---
wowww...guapo manual Hacker_Zero ..¿ pero y la continuación ? generalmente los buenos aportes quedan sin su segunda parte ...espero k sea este sea la excepcion ...¿ cifrar todo el ejecutalbe menos la header? ¿ y asi vapulean al ASM ?
Jaja, me pilla en mal momento la petición, pero no olvidaré que debo algo. Espero que en verano pueda saldar varias deudas en aportes que tengo ;).
Saludos
el mejor tuto explicativo k he visto. Se agradece la explicacion muy detallada. Ers un makina y se nota k te lo has kurrado. Gracias y espero esa segunda parte
Muy buen tuto Hacker_Zero felicitaciones artista, estare pendiente del proximo. Saludos
HOLA.
Tengo una duda
he hecho mi troyano con Spynet, infecto mi pc y funciona
luego abro el PE y me enseña 3 secciones y ninguna de las 3 es text o data
cual tengo que seleccionar para cifrar?
gracias
Vamos a buscar el espacio libre al final de la sección ejecutable y lo vamos a rellenar de NOP's usando el Editor Hexadecimal. Luego tambien vamos a cambiar los Flags del apartado Characteristics utilizando el LordPE.
Buenisimo el paper, muchas gracias Zero!
Tengo un inconveniente con modificar el ret con el olly, porque no tengo claro que opcion del breakpoint elegir (toogle, y unas cuantas que no me acuerdo... de mas esta decir q no tengo idea de lo q hace ninguna...).
Y tambien me resulta extraño q el archivo executable resultante, pese casi la mitad de lo que pesaba el original (nota: estoy modificando un server del bifrost en realidad, pero haciendo basicamente lo mismo)
Alguna idea?? Muchas gracias.
EDIT: Nunca hubiera funcionado con este metodo segun he ido entendiendo muuuy de a poco, ya q el server q genera el Bifrost tiene EOF data, y ya no sirve... por eso dejaban de funcionar los servers q intentaba modificar :) Gracias anyway! (1 año despues XD)
¡Muy interesante! Le echaré un vistazo y si encuentro dudas, te diré. Tiene muy buena pinta. ;-) ;-)
Saludos. He logrado conseguir un server q siga funcionando luego de meterle la rutina de encriptacion (tuve q modificar algunas cosas, pero vaya, segui los pasos casi tal cual). Ahora si funciona, pesa lo que tiene q pesar, pero el Avast lo detecta (extraño es, ya q antes habia probado con algunos krypters, y no lo detectaba, me infectaba sin problemas, y ahora, si bien sigue el server funcional, el avast si lo detecta, grrrr...).
Como podria encriptarlo con un algoritmo mas potente? En q variarian los cambios en el olly? (la verdad q el olly es una pasada, pero no entiendo mucho los valores de ASM... habra q leer mas...) Bastaria con modificar la linea q pone "xor byte", por otra orden, o mas bien, faltarian muchas lineas mas q modificar en este caso? Espero haber sido claro, gracias, y a seguir leyendo...
EDITO: el mensaje era claro, q no tenia ni pajolera idea de lo k estaba haciendo XD. Gracias Zero por compartir :)
Saludos, me encanta el metodo.
Felicidades además sirve para aprender mucho, en vez de ya tener el Stub indectable.
Yo también he encontrado metodos parecidos.
Una última cosa, se que va a ser difícil.
Pero se podría hacer un pequeño scrip para que hiciese todo eso dando un solo click ?
Gracias !
Att N20h}
Cita de: N30h} en 14 Marzo 2011, 11:36 AM
Saludos, me encanta el metodo.
Felicidades además sirve para aprender mucho, en vez de ya tener el Stub indectable.
Yo también he encontrado metodos parecidos.
Una última cosa, se que va a ser difícil.
Pero se podría hacer un pequeño scrip para que hiciese todo eso dando un solo click ?
Gracias !
Att N20h}
Si, obviamente, si el título del post es "Así funcionan los crypters" xD. No sería complicado hacer algo que lo automatizase, de echo el Metamorph Beta que sacamos hace tiempo por Abril negro hacía algo muy parecido.
Saludos
Hola, encima que te diho gracias ehh.
Podrías ser más amable solo estaba preguntando.
Yo he tenido respeto tenlo conmigo también.
Att N30h}
Cita de: N30h} en 14 Marzo 2011, 14:03 PM
Hola, encima que te diho gracias ehh.
Podrías ser más amable solo estaba preguntando.
Yo he tenido respeto tenlo conmigo también.
Att N30h}
Me he perdido algo? Dime donde te falté al respeto :S
Guardate un poco el sarcasmo.
Y no no me has faltado casi el respeto pero no sé podrías decir un de nada yo que sé
Perdón no pasa nada.
Gracias [Zero] por cierto mola tú imagen xD
Shaddy tiene una parecida
Cita de: N30h} en 15 Marzo 2011, 18:34 PM
Guardate un poco el sarcasmo.
Y no no me has faltado casi el respeto pero no sé podrías decir un de nada yo que sé
Perdón no pasa nada.
Gracias [Zero] por cierto mola tú imagen xD
Shaddy tiene una parecida
LOL! andas en tus dias? :xD Bro ni fue pesado contigo :xD
Cita de: N30h} en 15 Marzo 2011, 18:34 PM
Guardate un poco el sarcasmo.
Y no no me has faltado casi el respeto pero no sé podrías decir un de nada yo que sé
Perdón no pasa nada.
Gracias [Zero] por cierto mola tú imagen xD
Shaddy tiene una parecida
HZ es un puto máquina a mi me ayuda en todo lo que puede XD. el obvio no era faltar respeto... era afirmación.
Bueno ya, ya está aclarado, no desviemos más el post.
Saludos
Estimados amigos, soy muy nuevo en el foro. asi que no me ofendo si no recibo respuesta.
queria hacer una pregunta sobre el tema, hice todo el manual. pero no puedo terminar mi ejecutable nuevo. obtengo el codigo encryptado, lo copio como binario y y lo pego en el editor exa donde deberia ir y el ejecutable no me funciona. me da error 00000005. Estoy seguro que estoy encryptando algo del ejecutable que no debo. El tema mio es que las secciones son diferentes al server que usan aca. yo uso el poision ivy 3.2 y esta es la tabla de mis secciones.
name Voffset VSize ROffset RSize Flags
.text 00000200 00000068 00000200 00000200 60000020
.data 00000400 00002119 00000400 00002200 C0000040
y al final de la sección .text hay muchos 00 00 00 y tambien al final de la sección .data y yo encrypto desde el offset 00000200 hasta donde empiezan los 00 00 00 donde ahi pongo el codigo Xor
Entonces me queda el codigo encryptado y el que lo va a descencryptar en la sección .text. Despues cambio el entrypoint a donde empieza el descencryptador y no me funciona.
bueno, si alguien me ayudaaaa :). Igual estoy casi seguro que es porque modifico algo que no debo, pero no se que parte es.
EXELENTISIMO! pero yo no me complicaria tanto :-\
pero en mi opinion es muy buen post ;-) ;-) ;-) ;-) ;-) ;-) ;-)
Saludos :xD