elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 12:01  


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderadores: Karcrack, [Zero])
| | |-+  BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] 4 Ir Abajo Respuesta Imprimir
Autor Tema: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro]  (Leído 12,755 veces)
WHK
吴阿卡
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.944


The Hacktivism is not a crime


Ver Perfil WWW
Re: BHC (Batch Hide Compiler 2.0) by WHK [Proyecto para abril Negro]
« Respuesta #30 en: 5 Mayo 2009, 02:58 »

Bueno, ya lo actualicé a la versión 2.1 con el editor con soporte Highlighting y al stub le eliminé el form haciendolo 2kb mas liviano jaja, no es mucho pero algo es algo. Alguien por ahi me dijo que estaba haciendo el mismo stub en ASM que pesaba 3KB XD

La descarga es la misma, actualizaré el primer post.
En línea


~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.983


Ver Perfil WWW
Re: BHC (Batch Hide Compiler 2.1) by WHK [Proyecto para abril Negro]
« Respuesta #31 en: 5 Mayo 2009, 16:16 »

Citar
Lo que pasa es que cuando insertas el icono o comprimes el binario cambia totalmente el valor total del peso del binario así que el numero de caracteres ya no sirve

Claro, de ahí la gracia de usar la función que te he pasado, por muy grande o pequeño que sea tu icono, o aunque lo comprimas muuuucho, la función te seguirá diciendo exactamente el byte en el que empieza el EOF, es decir, el byte en el que empieza tu estructura
No te hace falta saber el tamaño del ejecutable si quiera ;)

De todas formas, como bien te han "chivado" por msn un ejecutable con EOF data es fácilmente detectable. Por ponerte un ejemplo, el EOF del bifrost es detectado y no permite cifrado (que yo sepa) por que el servidor lo usa para sacar de él los datos.
Una buena opción sería ampliar la última sección lo justo para que te entren todos los datos :P

Salu2, muy chulo el coloreado
En línea
WHK
吴阿卡
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.944


The Hacktivism is not a crime


Ver Perfil WWW
Re: BHC (Batch Hide Compiler 2.1) by WHK [Proyecto para abril Negro]
« Respuesta #32 en: 6 Mayo 2009, 04:29 »

Bueno, implementé muchas cosas a la siguiente version que es la 2.2 como por ejemplo que ahora la ventana puede hacerse semitransparente y puedes elegir el rendimiento y la cantidad de memoria que quieres usar en los efectos graficos, puedes volver al modo clasico, etc y todo se puede guardar en las configuraciones para no tener que estar configurando una y otra ves.

El otro cambio fue que la estructura del stub la hize mejor haciendote caso E0N con tu función aunque tenia algunos errores pero lo solucione, como por ejemplo si el archivo no existe o el archivo no es exe o es corrupto, etc en caso de que alguien por equibocacion le ponga .scr en ves de .exe, etc agregandole algunas sentencias "if" para saber si continuar o debolver cero.

Despues del stub van 32 caracteres que es el hash con el que se descifra el contenido siguiente que estará cifrado en rc4, cuya clave puede ser establecida manualmente en la sopciones o generada al azar, si la clave es menor a los 32 bts entonces se rellenará con ceros. Despues se procesará y hará el resto todo normal como siempre.
Esto es momentaneo mientras tanto que busco la forma de poner el contenido antes del EOF o ver la posibilidad de duplicar el EOF agregando un clon al final del cifrado haciendo creer que todavía no llegaba a su final (no se si funcione pero lo probaré).

No voy a publicar nada todavía porque no quiero publicar cosas que funcionen a medias, o sea,, cuando esté probado y testeado y verifique que si funciona bién entonces iré publicando las futuras versiones.

Tube un pequeñisimo problema jajajaja y es que cuando tube todo listo para hacer mi prueba y generar el stub me pegó un pantallazo azul  :D :D de volcado de memoria asi que revisé el código para ver si habia algun loop sin final o alguna funcion que estubiera haciendo sobrecarga... medí el uso de memoria, el uso del procesador, paginacion de archivos y todo iba normal.. genero el stub y paff el pantallazo jajjaja asi que no se si sea mi pc que está fallando algo o es el programa, asi que le estoy pasando el memtest para ver si la memoria tiene fallas o despues le pasaré un scandisk para ver si alguno de los dos discos tiene algun clouster malo o que fucking está pasando. Ojala no sea el procesador ni la placa jaja pero bueno, mientras tanto estaré acá en mi lap y cuando buelva a mi pc continuaré haciendo las pruebas para poder seguir con el proyecto.

También pensaba añadir sobre el mismo buffer que irá cifrado en rc4 archivos extras que pudieran ejecutarse al momento de ejecutarse el bat tal como si fuera un joiner y así podrias agregar una imagen y lanzarla en ves de lanzar el mensaje de error o incluir el avkiller de mad antes de la ejecución del bat y así poder descargar el archivo final desde un servidor ftp.. etc etc etc en fin, los usos serían muchisimos.

aah, se me olvidaba decir que ya le di soporte para ejecutar scripts js y vbjs ejecutables y posiblemente le agregue soprte para hta.

Todo eso en la proxima version cuando vea que le pasa a mi pc jajajja.
En línea


Arkangel_0x7C5

Conectado Conectado

Mensajes: 289



Ver Perfil
Re: BHC (Batch Hide Compiler 2.1) by WHK [Proyecto para abril Negro]
« Respuesta #33 en: 6 Mayo 2009, 04:43 »

prueba con una virtual, si es tu programa pasara tambien en la virtual. aunque me extraña. no estas usando drivers ni nada para prodicir una BSOD.

Saludos
En línea

дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.083


Mtz De C.


Ver Perfil WWW
Re: BHC (Batch Hide Compiler 2.1) by WHK [Proyecto para abril Negro]
« Respuesta #34 en: 6 Mayo 2009, 05:57 »

Felicidades, siempre haciendo programas muy útiles  :)
En línea



Con sangre andaluza :)
WHK
吴阿卡
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.944


The Hacktivism is not a crime


Ver Perfil WWW
Re: BHC (Batch Hide Compiler 2.1) by WHK [Proyecto para abril Negro]
« Respuesta #35 en: 6 Mayo 2009, 07:40 »

Ya vi lo que pasaba, mi pc estaba muy saturada y cuando generaba el ejecutable yo le daba click a la generación del hash que eran multiples valores al azar y se me iba el uso de cpu a las nuves y terminaba con el pantallazo asi que lo eliminé y lo reemplazé por un simple hash de md5 y ni si quiera el usuario tendrá que modificarlo ya que esto se hace al azar cada ves que se genere un ejecutable nuevo asi que el hash de descifrado del rc4 es al azar y por lo tanto el contenido del cuerpo también lo será en carácteres, si lo abres con el block de notas antes podías ver el script.. ahora solo verás carácteres basura asi que el antivirus ya no podrá detectarlo pro esta vía (si lo tenian pensado hacer xD ) pero de todas formas seguiré viendo como integrarlo dentro del binario en ves del termino.

Estoy terminando unos detalles y lo lanzaré al publico.

Citar
Felicidades, siempre haciendo programas muy útiles  :)
Grax  :D

Por lo menos si no le gano por código a mad talves pueda por el diseño jajajajjaa  :laugh:, de todas formas estuve viendo unas versiones antiguas de la fuente del joiner de mad y el también coloca los datos al final del EOF asi que si logro ponerlo dentro ya podría hacer la diferencia  :xD

"Mad, este año si tendrás competencia  :¬¬"
En línea


WHK
吴阿卡
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.944


The Hacktivism is not a crime


Ver Perfil WWW
Re: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro]
« Respuesta #36 en: 8 Mayo 2009, 01:12 »

Bueno, ya actualicé a la versión 2.2 , ahora los datos van cifrados y le agregué soporte para ejecución de scripts en Batch, javascript y VBScript con múltiples ejemplos de todo tipo para cada lenguaje.

La ventana es opcionalmente semi-transparente.

No creo que buelva a sacar una versión nueva en bastante tiempo mas porque justo que habia terminado de exportar el archivo binario del editor de me reinicia la pc por falta de memoria  ;D comenzando el volcado etc etc, cuando reinicié me encontré con que el archivo fuente del editor estaba vacío al igual que el archivo del proyecto asi que la versión mas reciente que dejé backup es la 2.0  :xD asi que tendré que diseñar todo otraves y después comenzar a actualizar cosa que me dió weba jajaja pero lo haré de todas formas.

PD: si hay algún error en el editor lo mas probable es que aparezca en forma de alerta en ves de mostrarse en el texto de estado ya que al parecer no alcanzó a exportarse cuando los controles de errores "on error ..." estaban sin comentar, pero de tdoas formas es un detalle porque funciona bién igual, ya estaba testeado y lo iba a publicar pero cuando modifiqué los controles de errores y estaba exportando se crasheó y no se si el ejecutable va o no con control de errores pero el funcionamiento es el mismo.







« Última modificación: 8 Mayo 2009, 01:22 por WHK » En línea


WHK
吴阿卡
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.944


The Hacktivism is not a crime


Ver Perfil WWW
Re: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro]
« Respuesta #37 en: 8 Mayo 2009, 07:56 »

Bueno, estaba haciendo el stub 0.6 pero está medi complicado..
Lo inicié en c++:

Código
#include <stdio.h>
#include <time.h>
#include <windows.h>
 
/*
// BOTONES
#define MB_OK 0                    //botón "Aceptar"
#define MB_OKCANCEL 1              //botones "Aceptar" y "Cancelar"
#define MB_ABORTRETRYIGNORE 2      //botones "Anular", "Reintentar", "Omitir"
#define MB_YESNOCANCEL 3           //botones "Sí", "No" y "Cancelar"
#define MB_YESNO 4                 //botones "Sí" y "No"
 
// ICONOS
#define MB_ICONINFORMATION 64      //ícono de información
#define MB_ICONEXCLAMATION 0x30    //ícono de alerta, signo de exclamación
#define MB_ICONERROR 16            //ícono de error, alto, tacha roja
#define MB_ICONQUESTION 32         //ícono de pregunta
*/

 
// Funciones
bool file_exists(char *url);
 
int main(void){
char path[256];
char pid_path[256];
char cmd_exec[256];
char *homepath = getenv("homepath");
char *homedrive = getenv("homedrive");
 
srand(time(NULL));
sprintf(path,     "%s%s\\%d.bat", homedrive, homepath, rand());
sprintf(pid_path, "%s%s\\%d.pid", homedrive, homepath, rand());
sprintf(cmd_exec, "\"%s\" && echo. > \"%s\"", path, pid_path);
 
FILE *script;
script = fopen(path, "a");
if(!script){ return -1; }
// fprintf(script, buff);
fprintf(script,
"dir"
"> test."
"txt"
);
fclose(script);
 
MessageBox(NULL,
"ho"
"la"
,
"E"
"rror"
, MB_OK | MB_ICONERROR);
 
WinExec(cmd_exec, SW_HIDE);
while(1){
 if(file_exists(pid_path)){
  break;
 }
}
remove(path);
remove(pid_path);
return EXIT_SUCCESS;
}
 
bool file_exists(char *url){
FILE *existe = fopen(url, "r");
if(existe){
 fclose(existe);
 return true;
}else{
 return false;
}
}
 

La idea era que el BHC generara el stub.cpp y modificara los datos del script y del messagebox como opcional y con un compilador externo generar el stub pero el compilador resultó muy pesado con un chingo de librerías asi que no fue buena idea.

También tenía pensado generar el ejecutable y editar hexadecimalmente editar strings claves como {script} o {mensaje} pero hablando con algunos amigos que saben de reversing está bién cabrón.

La otra opción era poder incluir datos dentro del stub ejecutable al igual como ya lo he estado haciendo pero antes del termino del EOF tal como se dijo al comienzo pero ni idea de como hacerlo y habría que calcular el tamaño exacto del binario para no generar un ejecutable corrupto y poner los datos en un lugar que no interfiera con la estructura pe.

alguien tiene alguna idea?, estuve buscando ejemplos de packers pero todos tienen la misma siencia de poner los datos al final de EOF y no me sirven y no se me ocurre porque no tengo mcuha experiencia con la estructura pe aunque si lo entendiera no sabría donde inyectar valores muertos sin interferir en la ormal ejecución del ejecutable.  :-\
En línea


Karcrack
Moderador
***
Desconectado Desconectado

Mensajes: 2.132


Se siente observado ¬¬'


Ver Perfil
Re: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro]
« Respuesta #38 en: 8 Mayo 2009, 15:26 »

Yo utilizo este método para mis animalitos en FASM:

Declaro la cadena como un montón de 'A':
Código
sUrl	db	255 dup ('A')

Luego desde un editor Hex. busco el montón de 'A' y apunto la posicion en el Builder, luego simplemente he de añadir la cadena que quiero (sustituyendo las 'A') y un carácter nulo al final.

 ;D ;D

No se si con C sera similar....

Saludos ;)
En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.983


Ver Perfil WWW
Re: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro]
« Respuesta #39 en: 8 Mayo 2009, 15:42 »

Citar
El otro cambio fue que la estructura del stub la hize mejor haciendote caso E0N con tu función aunque tenia algunos errores pero lo solucione, como por ejemplo si el archivo no existe o el archivo no es exe o es corrupto, etc

Claro, eso no se lo añadí por que buscaba una función que no añadiese prácticamente peso al ejecutable, si quieres algo más elaborado puedes incluir directamente las estructuras del PE y comprobar todo, aunque lo veo poco útil y más en tu caso, que es tu stub...


En cuanto a lo del EOF puedes ampliar el tamaño de la última sección y meter ahí los datos. Un poco más explicado:

Todas las secciones al final suelen tener ceros, ya sean más o menos, si el espacio te llega puedes meter ahí tus datos y luego utilizar el VirtualSize para saber donde empezarían los ceros, que realmente es donde has metido tu tus datos. Si tus datos no entran siempre puedes ampliar el RawSize.

El método genérico sería poner una firma al principio de tus datos, ampliar la sección en caso de que fuera necesario y luego buscar la firma y leerlos tranquilamente. De cara al AV esos datos serían parte del código de la última sección, supongo que no saltaría :P


Otra opción más simple es usar resources...

Salu2

Citar
   
Hubo un error mientras se enviaba este mensaje.
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

Cachis.. xD Si, también se podría hacer Karcrack, lo malo es que un script puede ser o muy grande o muy pequeño, así que lo veo poco eficiente...
« Última modificación: 8 Mayo 2009, 19:21 por E0N » En línea
WHK
吴阿卡
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.944


The Hacktivism is not a crime


Ver Perfil WWW
Re: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro]
« Respuesta #40 en: 8 Mayo 2009, 20:45 »

Si, yo ya tenía la idea inicial de declarar el buffer del script como 2048 pero es bastante limitado si quieres hacer un script largo como por ejemplo el crackme B4 del warzone o muy grande si quieres poner un "dir > o".

Lo que dices está lo mas normal de hacer, por ahi me dieron un par de ideas que tendré que traducir con "google 1337"  :xD
https://foro.elhacker.net/ingenieria_inversa/agregar_mas_caracteres_de_los_declarados_en_un_binario-t254313.0.html;msg1230610#msg1230610
eso de mapearlo o de modificar el puntero antiguo no le entendí ya que es primera ves que hago algo de este tipo (he aprendido muchisimo haciendo los stubs), lo que si pude entender es que en una parte se guarde el EOF, entonces al momento de inyectar el cuerpo del script en el binario solamente tendría que unir la parte 1 mas el script mas el EOF pero de alguna forma me dice como debo hacerlo para no corromper el binario pero ahi ya no supe como.

La idea está buena y tan buena como la de usar recursos como me dijo krackwar al inicio de la primera version  :P solo que el me hablaba de asm y no npi. Tendría que compilar el stub con un solo recurso de tipo texto y ahi inyectar todo modificando ese recurso solamente.. ahora no se que tan facil sea hacerlo manualmente ya que desde el editor debo modificar estos valores hexadecimalmente ya que no voy a meterle el reshack dentro del ide, no se puede.

Bueno, ahi ya me dieron varias ideas que iré testeando en el camino, gracias.
En línea


~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.983


Ver Perfil WWW
Re: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro]
« Respuesta #41 en: 9 Mayo 2009, 13:36 »

Citar
solo que el me hablaba de asm y no npi. Tendría que compilar el stub con un solo recurso de tipo texto y ahi inyectar todo modificando ese recurso solamente.. ahora no se que tan facil sea hacerlo manualmente ya que desde el editor debo modificar estos valores hexadecimalmente ya que no voy a meterle el reshack dentro del ide, no se puede.

No hombre no xDDD Para eso tienes un puñado de api's de lo más útiles, busca por google ;)
En línea
[Zero]
Moderador
***
Desconectado Desconectado

Mensajes: 1.050


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro]
« Respuesta #42 en: 10 Mayo 2009, 18:34 »

Si, yo ya tenía la idea inicial de declarar el buffer del script como 2048 pero es bastante limitado si quieres hacer un script largo como por ejemplo el crackme B4 del warzone o muy grande si quieres poner un "dir > o".

Lo que dices está lo mas normal de hacer, por ahi me dieron un par de ideas que tendré que traducir con "google 1337"  :xD
https://foro.elhacker.net/ingenieria_inversa/agregar_mas_caracteres_de_los_declarados_en_un_binario-t254313.0.html;msg1230610#msg1230610
eso de mapearlo o de modificar el puntero antiguo no le entendí ya que es primera ves que hago algo de este tipo (he aprendido muchisimo haciendo los stubs), lo que si pude entender es que en una parte se guarde el EOF, entonces al momento de inyectar el cuerpo del script en el binario solamente tendría que unir la parte 1 mas el script mas el EOF pero de alguna forma me dice como debo hacerlo para no corromper el binario pero ahi ya no supe como.

La idea está buena y tan buena como la de usar recursos como me dijo krackwar al inicio de la primera version  :P solo que el me hablaba de asm y no npi. Tendría que compilar el stub con un solo recurso de tipo texto y ahi inyectar todo modificando ese recurso solamente.. ahora no se que tan facil sea hacerlo manualmente ya que desde el editor debo modificar estos valores hexadecimalmente ya que no voy a meterle el reshack dentro del ide, no se puede.

Bueno, ahi ya me dieron varias ideas que iré testeando en el camino, gracias.

Éste código tal vez te sirva, no está en vb pero se puede traducir, en la parte del joiner está como añadir el EOF a la sección y como mapear archivos en memoria, añadirles tamaño y eso.

Saludos
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
JGARZA

Desconectado Desconectado

Mensajes: 0


Ver Perfil
Re: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro]
« Respuesta #43 en: 10 Mayo 2009, 21:44 »

Disculpen no me funciona ejecutable Batch Hide Compiler 2.2 cuando quiero generar el ejecutable de cualquiera de los 3 lenguajese que bienen :huh: pero lo raro es que ambien baje la fuente del 2.0 y ese si me funciona jeje ;D

Aui des dejo la imagen del erro que me sale.
En línea
WHK
吴阿卡
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.944


The Hacktivism is not a crime


Ver Perfil WWW
Re: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro]
« Respuesta #44 en: 10 Mayo 2009, 22:51 »

Hola, ya me fijé y no se que puede estar pasando porque tube problemas en mi pc y perdí parte del código fuente del proyecto asi que para repararloestoy haciendolo denuevo y no se cuanto me voy a demorar.

Mientras tanto puedes usar la versión 2.1 haciendo click acá.
En línea


Páginas: 1 2 [3] 4 Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines