Autor
|
Tema: [BRAINSTORMING] KPC v3 (Karcrack Project Crypter) (Leído 20,133 veces)
|
_katze_
|
pero seria bueno como reto jejeje y no digo q sea comunitario
|
|
|
En línea
|
|
|
|
xpro
Desconectado
Mensajes: 10
|
Para mi beneficio, te diría que buscaras alternativas a las típicas cadenas que todos usamos, como por ejemplo..
El típico Split, se podría crear una función nueva o alguna alternativa a esto ( que no sea el resource, que salta kav. ). Por otra parte se podría intentar aquello de ejecutar las strings desde memoria..
Lo de ofuscar las api's, pues es una muy buena idea espero que funcione perfectamente. Por otro lado, puesto que este programa casi siempre se utiliza para ofuscar el code de crypters ( generalmente ), buscaría alguna manera de ofuscar los ya imposible de Fuddear runpe's.. y bueno, poco más te puedo decir creo que cualquier idea que se te ocurra a tí siempre será mucho mejor que lo que yo pueda decir.
Un saludo !
PD: Aquí, yo al menos en vb6 te echaba de menos..
|
|
|
En línea
|
|
|
|
The Swash
Desconectado
Mensajes: 194
Programmer
|
Bueno Karcrack, digamos que puedo dar una pequeña idea que no reemplazaria al ofuscamiento de API pero depronto sea útil. Recuerdo que hace un tiempo cuando usaba VB (pasado) un día Avira detectaba DllFunctionCall, que justamente iba en el invoke, al modificar la libreria MSVBVM60 uno de sus caracteres Avira se iba, pero todo quedaba no funcional. Pero resulta que la declaración de esa DLL no se ocupa hasta llamar la función entonces digamos que se puede hacer algo al abrir el ejecutable, sería cambiar en la declaración la libreria por xDDD.DLL un ejemplo, y cuando ejecuten el archivo llamar a un pequeño Copy(Encryptado("MSVBVM60.DLL"),"xDDD.DLL"). Te recalco algunas funciones que en si son detectadas Split - Kaspersky LOF - Avira, A-squared App.Path + App.ExeName + ".exe", Avira creo. Strings detectadas como "Stub", "HKCU../CurrentVersion/Run" Espero de algo te sirva, Animo con eso Karcrack! Como te digo es una pequeña experiencia que quizás sirva. Un saludo y gran iniciativa como siempre Karcrack! PD: Que detalle el de Kruzty
|
|
|
En línea
|
|
|
|
mixer
Desconectado
Mensajes: 3
|
Ideas para considerar:
- Agregar funciones alternativas a Split, LOF y Apertura, lectura de archivos. - Que pueda agregar una buena cantidad de API reales pero inofensivas, o API falsas - Varios modulos o forms con código Basura - Reemplazar cadenas de Constantes - Algo que muchos AV detectan la asignacion de valores constantes podriamos ofuscarlo un poco
Por ejemplo si me detecta Var1 = &H4 puedo usar:
Var2 = &H4 + 15 Var1 = Var2 - 15
al final Var1 tomará el mismo valor. Con esos sacas a Nod, MSEssentials y varios más.
|
|
|
En línea
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Es interesante la ofuscación de constantes Aunque lo de agregar módulos/funciones basura no me gusta la verdad... para mi es importante que el codigo resultante tenga una lectura tan sencilla como estaba antes... aunque lo que dices de meter APIs a diestro y siniestro puede ser útil Ah! Otra idea que tuve es permitir el cambio de convención a la hora de llamar a las APIs, es decir, en vez de importarlas directamente desde el código (DllFunctionCall) hacerlo desde la IAT ( Type Li Brary) Ya tengo una buena lista Creo que este fin de semana empezaré con los algoritmos
|
|
|
En línea
|
|
|
|
F3B14N
Desconectado
Mensajes: 47
|
Buenas, algo chiquito pero bueno seria, remplazar cualquier valor numérico por su equivalente string, pero llamando a la funcion Val() para que retorne lo que se necesita: bB(0) = &H1 >>> bB(0) = Val("&H1") call dd(1,2) >>> call dd(Val("&H1"),Val("&H2") , y agregarle la posibilidad de cifrar ese string tambien Despues estaria muy bueno agregale algo que limpie la ***** que agrega VB6, jugar con las estructuras que utilizo BlackZero (sino me equivoco), lo pensé hace tiempo, y creo que seria posible. Que anden bien, Saludos
|
|
« Última modificación: 26 Enero 2011, 16:12 pm por F3B14N »
|
En línea
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Despues estaria muy bueno agregale algo que limpie la ***** que agrega VB6, jugar con las estructuras que utilizo BlackZero (sino me equivoco), lo pensé hace tiempo, y creo que seria posible.
Ese tipo de modificaciones serian sobre el fichero compilado y en este proyecto me intereso en el codigo Por cierto, estuve haciendo un poco de research y lanzo una buenisima idea para aquel que tenga tiempo ... Desde el header de un fichero compilado de VB6 se puede acceder a las cadenas de las APIs importadas, se cifran, se modifica tambien el header para que haga al Loader de VB6 ejecutar una pequeña shellcode que descifrará las cadenas de las APIs... para que quede mas claro: - Abrimos el fichero compilado
- Leemos la cabecera del VB6 y recorremos las cadenas de las APIs cifrando cada una
- Inyectamos una shellcode en uno de los muchos huecos que quedan en el ejecutable
- Modificamos la cabecera del VB6 para que haga ejecutar al Loader nuestra shellcode primero
- La shellcode se encargará de descifrar las cadenas y saltar al EntryPoint original que había en el header del VB6
De esta forma las APIs serian descifradas en Runtime y en Scantime nuestras APIs serian irreconocibles
|
|
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!! MMM, no se si es una buena idea pero otra forma no seria: CODIGO ORIGINAL: Private Sub Form_Load() MsgBox "hola" End Sub
CODIGO OFUSCADO: Private Sub Form_Load() Dim hola As Boolean hola = False ' por las dudas XD If hola Then hola: MsgBox "hola" End If GoTo hola End Sub
Espero una respuesta para ver si sirvio o no. GRACIAS POR LEER!!!
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
F3B14N
Desconectado
Mensajes: 47
|
Ese tipo de modificaciones serian sobre el fichero compilado y en este proyecto me intereso en el codigo Por cierto, estuve haciendo un poco de research y lanzo una buenisima idea para aquel que tenga tiempo ... Desde el header de un fichero compilado de VB6 se puede acceder a las cadenas de las APIs importadas, se cifran, se modifica tambien el header para que haga al Loader de VB6 ejecutar una pequeña shellcode que descifrará las cadenas de las APIs... para que quede mas claro: - Abrimos el fichero compilado
- Leemos la cabecera del VB6 y recorremos las cadenas de las APIs cifrando cada una
- Inyectamos una shellcode en uno de los muchos huecos que quedan en el ejecutable
- Modificamos la cabecera del VB6 para que haga ejecutar al Loader nuestra shellcode primero
- La shellcode se encargará de descifrar las cadenas y saltar al EntryPoint original que había en el header del VB6
De esta forma las APIs serian descifradas en Runtime y en Scantime nuestras APIs serian irreconocibles Es facil para los que saben como hacer shellcodes, yo sé muy pocas instrucciones y por ahi me quedo..
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
. @Karcrack.
Se podria usar parte del codigo de [Zero] ( End Analisis de Malware lo publico ). Eso lo podria hacer quien supiera ASM para que ese pequeño "Stub" no pesara tanto.
Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
|
|