elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware
| | |-+  Abril negro (Moderadores: Man-In-the-Middle, WHK, kub0x, fary)
| | | |-+  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 5 Ir Abajo Respuesta Imprimir
Autor Tema: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro]  (Leído 44,238 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: BHC (Batch Hide Compiler 2.0) by WHK [Proyecto para abril Negro]
« Respuesta #20 en: 4 Mayo 2009, 22:23 pm »

De todas formas, no es posible ejecutar *.Bat's completos onthefly ... Al menos no de estas formas...

Ej:
Código
  1. set /a valor=5
  2. echo %valor%

 :rolleyes:
Buen ejemplo Novlucker ;) ;)



No se... se me ocurre una forma de investigar... carga un BAT y mira que ocurre :xD, luego simula cargar el BAT...
Todo esto, como no, son hipotesis... es cuestion de ponerse... y como muchos saben estoy castigado.... asi que se pongan otros! :xD

Saludos ;)


En línea

Arkangel_0x7C5


Desconectado Desconectado

Mensajes: 361



Ver Perfil
Re: BHC (Batch Hide Compiler 2.0) by WHK [Proyecto para abril Negro]
« Respuesta #21 en: 4 Mayo 2009, 22:28 pm »

De todas formas, no es posible ejecutar *.Bat's completos onthefly ... Al menos no de estas formas...

Saludos ;)
Porque no vas a poder ejecutarlos enteros. Si estas haciendo lo mismo que arias si le pasas un Batch. Mientras no llegues al limite de caracteres no hay problema

Cita de: MSDN
lpCommandLine [in, out, opcional]

    The command line to be executed. The maximum length of this string is 32,768 characters, including the Unicode terminating null character. La línea de comandos a ejecutar. La duración máxima de esta cadena es 32.768 caracteres, incluidos los caracteres Unicode de terminación nula. If lpApplicationName is NULL, the module name portion of lpCommandLine is limited to MAX_PATH characters. LpApplicationName Si es NULL, el nombre del módulo de lpCommandLine se limita a los caracteres MAX_PATH.

    The Unicode version of this function, La versión Unicode de esta función, CreateProcessW , can modify the contents of this string. CreateProcessW, puede modificar el contenido de esta cadena. Therefore, this parameter cannot be a pointer to read-only memory (such as a const variable or a literal string). Por lo tanto, este parámetro no puede ser un puntero a la memoria de sólo lectura (como un const variable o una cadena literal). If this parameter is a constant string, the function may cause an access violation. Si este parámetro es una cadena constante, la función puede provocar una violación de acceso.

    The lpCommandLine parameter can be NULL. El lpCommandLine parámetro puede ser NULL. In that case, the function uses the string pointed to by lpApplicationName as the command line. En ese caso, la función utiliza la cadena señaló que por lpApplicationName como la línea de comandos.

Saludos

PD:Lo mejor es que alguien lo prueve. Que no creo que se tarde tanto en implementar eso.


En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: BHC (Batch Hide Compiler 2.0) by WHK [Proyecto para abril Negro]
« Respuesta #22 en: 4 Mayo 2009, 22:47 pm »

Cierto... estuve probando... y se puede!!! (aunque con limitaciones)

El problema esta por ejemplo en este code:
Código
  1. @echo off
  2.  
  3. :cabeza
  4. echo ###############
  5. echo # Hecho por:  #
  6. echo # sirdarckcat #
  7. echo ###############
  8. goto:EOF
  9.  
  10. :uso
  11. echo uso:
  12. echo %~nx0 Nombre
  13. goto:EOF
  14.  
  15. :nombre
  16. echo Hola %*
  17. goto:EOF

Hay que buscar una alternativa viable...

Saludos ;)
« Última modificación: 5 Mayo 2009, 00:10 am por Karcrack » En línea

Arkangel_0x7C5


Desconectado Desconectado

Mensajes: 361



Ver Perfil
Re: BHC (Batch Hide Compiler 2.0) by WHK [Proyecto para abril Negro]
« Respuesta #23 en: 4 Mayo 2009, 22:49 pm »

donde se produce el error?
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: BHC (Batch Hide Compiler 2.0) by WHK [Proyecto para abril Negro]
« Respuesta #24 en: 5 Mayo 2009, 00:20 am »

donde se produce el error?
En los Goto:* ya que al no estar definida la etiqueta... :P

Puse ese code como ejemplo de goto:*

He estado mirando y este código sorprendentemente funciona:
Código
  1. @echo off
  2. tasklist | find "explorer.exe" >> NULL
  3. if %errorlevel%==0 (
  4. echo SI
  5.  ) ELSE (
  6. echo NO
  7. )
  8. goto:EOF

Aunque cuando lo vas poniendo linea por linea te pregunta... pero eso con Pipes o con WinExec no da problema ;D

Lastima que por ahora no haya hecho funciona las etiquetas :-\ supongo que si que se puede ;D
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


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

Le puse Highlighting al editor  :D



aunque estoy teniendo unos pequeños problemas con los scrollbars del richtextbox pero estoy solucionandolo.

eso de system no hace falta incluir dlls ni nada porque la api de win lo hace, también puedes reemplazar "\n" en vb6 por  vbCrLf, lo probaré.

Citar
echo %~nx0 Nombre
Tienes razón ya que como no habría .bat la variable que indica el mismo archivo se perdería aunque podría establecerse por defecto al inicio del script esas variables, por ejemplo con set a app.path & app.exename & ".exe"
« Última modificación: 5 Mayo 2009, 00:33 am por WHK » En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


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

Ya te lo comenté por privado WHK, pero excelente trabajo ;)

Si se me permite te daré algunas sugerencias que pueden resultar atractivas para la siguiente versión y alguna mejora que veo posible ;)

He estado ojeando el código del stub y le veo algunas cosillas que podrías cambiar...

Usas un form, pero no lo utilizas, si lo quitas podrías ahorrarte unos pocos bytes  ya que no hace falta:
http://en.allexperts.com/q/Visual-Basic-1048/Applicaciones-Windows-sin-formulario.htm

Si cambias las firmas deja de funcionar o es que yo lo estoy haciendo mal?? Te aconsejo que utilices otro método, a mi parecer una buena idea sería esta:

-> Obtienes el final del stub gracias a sus datos en el PE, si quieres un ejemplo en VB aquí tienes uno mio: http://e0n-productions.blogspot.com/2008/11/obtener-el-inicio-del-eof.html A partir de la dirección devuelta ya por esa función se encontrarían todos los datos necesarios.

-> En vez de usar firmas fijas (fácilmente detectables por un AV y poco dinámicas) puedes poner en el inicio del EOF una estructura por ejemplo así:

Código
  1. struct datosEOF
  2. {
  3.    int NumeroCaracteresCuerpoMensaje; // Si es 0 pues no hay mensaje ;)
  4.    int NumeroCaracteresTituloMensaje;   // Si es 0 lo mismo
  5. }
  6.  

Así leerías la estructura en modo binario desde el final de tu stub, con un CopyMemory te copiarías el título y el el cuerpo del mensaje de error y lo que sobrase sería el bat.

No se, me parece más dinámico y resultaría más fácil añadir datos en un futuro, de igual manera evita errores por firmas repetidas a lo largo del exe.


Pese a los bytes que te puedes ahorrar quitando el form del stub, VB no me parece un buen lenguaje para esto, hacerlo en C++ por ejemplo te resultaría igual de fácil y el stub pesaría un puñado de kb, claro eso siempre va a gusto del programador, si estás interesado no dudes en consultarme que te puedo hechar un cable.

Y bueno, no se me ocurre nada más, muy buien trabajo y el diseño gráfico elaboradísimo
Salu2
En línea

YST


Desconectado Desconectado

Mensajes: 965


I'm you


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

-> Obtienes el final del stub gracias a sus datos en el PE, si quieres un ejemplo en VB aquí tienes uno mio: http://e0n-productions.blogspot.com/2008/11/obtener-el-inicio-del-eof.html A partir de la dirección devuelta ya por esa función se encontrarían todos los datos necesarios.

No me parece esta manera de obtener los datos ya que tu codigo al sacar el tamaño de el archivo mediante el PE si se modifica el PE(como ya le recomende a WHK por msn ) para que los datos queden dentro de este tu codigo no detectaria los otros datos logicamente .

Yo la manera que recomiendo guardar datos si no quieres usar el sistema de firmas al final de el archivo es mediante resource :P
En línea



Yo le enseñe a Kayser a usar objetos en ASM
~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


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

Está claro que si metes los datos dentro de una sección nueva por ejemplo o amplias la última sección eso no va a funcionar, ya que te dice donde empieza el EOF, pero él los tiene metidos en el EOF, no dentro del pe, por eso le di la idea ;)
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


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

Lo de llamar con winexec a un contenido bat directamente no funciona, si lo paso por cmd /c tampoco (aunque no debería hacerlo tampoco)
Código
  1. Private Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
  2.  
  3. Private Sub Command1_Click()
  4. Call WinExec(Text1.Text, 0)
  5. End Sub
  6.  
asi que desde vb para ejecutarlo de esa forma no funciona a menos que pipeada si se pueda, trataré de hacer eso y lanzarle linea por linea aunque se que no funcionará.

Citar
Usas un form, pero no lo utilizas, si lo quitas podrías ahorrarte unos pocos bytes
Lo haré

Citar
Obtienes el final del stub gracias a sus datos en el PE
Alguien por msn me sopló que eso de poner datos después del binario a veces puede prestarse para la detección heuristica de algunos antivirus asi que estoy intentando de cambiar de estrategia. No es que no funcione pero quiero adelantarme un poco a su detección.

Lo de pasarlo a c++ es una opción pero me hize todo un desmadre cuando lo intenté jaja ya que no soy muy bueno con ese lenguaje aunque debo reconocer que intentandolo pude aprender muchas cosas pero aun así no pude y por eso lo hize en vb mejor.

Código
  1. struct datosEOF
  2. {
  3.    int NumeroCaracteresCuerpoMensaje; // Si es 0 pues no hay mensaje ;)
  4.    int NumeroCaracteresTituloMensaje;   // Si es 0 lo mismo
  5. }

Lo que pasa es que cuando insertas el ícono o comprimes el binario cambia totalmente el valor total del peso del binario asi que el numero de carácteres ya no sirve, en un comienzo el stub trabajaba de esa forma donde el bat se obtenía a partir desde el último carácter contado del stub y ese valor estaba en una global pero al ponerle el ícono tube que cambiar de estrategia y ponerle la fiorma, así por mas que se modifique el binario los datos siguen donde mismo.

Estaba pensando en el cifrado de los datos y al descifrarlos encontrar tags en formato xml como por ejemplo
Código
  1. rc4('<msgbox>valor_en_base64</msgbox><bat>valor_en_base64</bat>', llave)

donde el contenido esté en base64 para evitar conflictos y todo eso en rc4 y ahi tener un único cuerpo donde pueda almacenar todo tipo de datos pero aun así estaría fuera del contenido total.

Citar
Yo la manera que recomiendo guardar datos si no quieres usar el sistema de firmas al final de el archivo es mediante resource :P
Eso en vb sería usar un OLE para cada recurso o simplemente un textbox y modificar binariamente el contenido por cada valor que quiera inyectarle.

Lo estoy viendo y en algún arreglo llegaré, eso si es seguro  :P
« Última modificación: 5 Mayo 2009, 01:32 am por WHK » En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[C/C++] Batch compiler FUD - Stub (Open Source)
Programación C/C++
hacker83 0 1,860 Último mensaje 27 Abril 2012, 10:52 am
por hacker83
Proyecto Batch- Cleverbot
Scripting
VicInFlames 5 6,490 Último mensaje 17 Enero 2014, 00:12 am
por daryo
Te gusta el hacking? falta poco para que termine el evento Abril Negro!
Foro Libre
WHK 0 1,942 Último mensaje 28 Abril 2017, 01:24 am
por WHK
Inician las votaciones para el evento de Abril Negro de Elhacker.NET !!
Foro Libre
WHK 1 3,733 Último mensaje 31 Mayo 2017, 03:57 am
por WHK
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines