Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - [Zero]

#611
Pues sería enviar los datos por con winsock por post a un archivo en php que estaría esperando recibirlo, puedes usar winsock o si te parece difícil puedes usar el control webbrowser, aunque éste igual te dá problemas de portabilidad, si te apañas con winsock o inet pues mejor.

Topic Relacionado

Saludos  ;)
#612
Abril negro / Re: Proyecto Metamorph
26 Abril 2009, 02:23 AM
Bueno, avance importante, dos funciones clave terminadas:

-Forzar Metamorfosis Offset (Meepa)
-Forzar Metamorfosis Offset (Xor)


Con éstas dos, la herramienta ya es capaz de realizar el método meepa y el método xor de forma automática. Se introduce en un listview la una lista de offsets a modificar y el programa ofusca esos offsets mediante éstos métodos.

Aparte de esas dos, están terminadas dos funciones que hacen básicamente lo que hace topo, buscar huecos en el ejecutable, llenarlos de nop's y redireccionar el entry point a esos huecos.

Nos vamos acercando   :).

Saludos
#613
Yo también estoy a favor, además en este foro hay buenos programadores de asm y creo que users con ganas de aprender también  :).

Saludos
#614
Abril negro / Re: Proyecto Metamorph
25 Abril 2009, 00:04 AM
Para la 2.0  ;D pero vete aprendindo C++!

Saludos  ;)
#615
Abril negro / Re: Proyecto Metamorph
24 Abril 2009, 23:40 PM
El programa tiene finalizada la gui y el pe, las otras funciones con las que cuenta aún no están ligadas a la gui por lo que el programa aún no funciona, y no queremos sacar una beta hasta que dé sus primeros pasos  :). De aquí a 15 días pienso que tendremos avances importantes y seguramenta ya haya fecha para que los beta testers prueben y nos ayuden a mejorar.

Saludos
#616
Abril negro / Proyecto Metamorph
24 Abril 2009, 23:31 PM
Metamorph


Autores:



-Arkangel
-Karcrack
-Hacker_Zero

Bueno lo prometido es deuda, dije que os mantendría informados sobre el desarrollo de éste proyecto y lo haré en éste post. Iré actualizando éste post según vayamos progresando en el desarrollo del proyecto, y así también se le dará la oportunidad a cualquiera de aportar sus ideas.

Próxima Versión:

La próxima versión será la v2.0. Con ésta versión el proyecto da un vuelco para dejar de ser una herramienta y convertirse en un entorno para la indetectabilización de malware, contanto con numerosas herramientas como un disassembler, editor hexadecimal, editor de recursos, buscador de firmas, etc.

Otra importante novedad es que en ésta versión utilizaremos las librerías Qt para el desarrollo de la GUI, lo que nos adelanta bastante trabajo y la la vez da unos resultados muy buenos.

Algunas de las nuevas características que tendrá la nueva versión son por ejemplo, que cuenta con un disassembler, lo que le permite al programa modificar el ejecutable a su antojo sin correr el riesgo de modificar opcodes que sin saber a qué pertenecen. Otra característica importante y que esperamos que dé buenos resultados es la opción de hacer un rebuild a la IAT, tanto sobreescribiendo la IAT original, como moviendola a otro sitio como cambiar la IAT por otra que sólo importe LoadLibraryA y GetProcAddress y encripte las otras apis y se encargue de cargarlas en tiempo de ejecución  :).


Desarrollo próxima versión: 20%






Versión 2.0 20%

Capturas:








Desarrollo

-GUI 90%
-Dll Debuger 70%
-Disassembler 60%
-Rebuild IAT 50%
-Buscador de Firmas 40%
-Editor Resource 10%
-Añadir Espacio Sección Ejecutable 100%
-Añadir Sección 100%






Versión 1.0 BETA 100%


Características:

-Visor PE
-Buscar espacio libre
-Redireccionar Entry Point
-Detección de ejecutables VB
-Forzar Metamorfosis Offset (Meepa)
-Forzar Metamorfosis Offset (Xor)
-Redireccionar Calls C/C++ y ASM (Recodeada, con algoritmo pseudoaleatorio, nunca genera exes iguales)
-Ofuscación mediante la inserción de saltos
-Cambiar el Case de los Imports


Versión BETA. El programa seguramente tenga numerosos fallos y el comportamiento puede no ser el esperado.

El programa sólo funciona bien con ejecutables compilados en ASM y C/C++. No es recomendable usarlo con ejecutables en VB o en Delphi debido a que creará un ejecutable corrupto con un 99% de certeza.

Es necesario que el ejecutable tenga espacio libre al final de la sección ejecutable, en caso contraro el programa no funcionará. En el caso de crear éste espacio a mano, dejar la zona a 0's

En algunos pc's el programa se cuelga al pulsar analizar. Debido a la imposibilidad de los autores de reproducir éste error, si alguien encuentra la causa sería de gran ayuda.

Lo más interesante de ésta versión BETA es el código fuente. Rogamos que cualquier recomendación, bug, cuelgue, ejecutable corrupto o cualquier tipo de problema sea comunicado para poder solucionarlo.

Probado con ejecutables compilados en C/C++ y FASM de los cuales en ningún caso provocó la corrupción del ejecutable.

El rating de eficacia es bastante alto, usando una combinación de RedirectCalls, Jmp Ofuscation y Change IAT Case quita una media de 10-15 antivurs de 20.

Lista de Bugs encontrados hasta el momento:
- En algunos PC's el programa se cierra al pulsar analizar.
- No funciona con ejecutables de 64 bits.
- El programa debería comprobar si existe la carpeta Tools.
- La función de ofuscación por jmp's puede romper el ejecutable, hay que depurarla más.

Descargar Herramienta
Descargar Código Fuente




Iré actualizando el post según vayamos progresando.

Saludos  ;).
#617
ASM / Re: [SRC] [FASM] Controlar WebCam
18 Abril 2009, 22:05 PM
Jaja, perfecto luego pones el código eh?  ;D. Lo que yo no conseguí fue comprimir la salida en vídeo, no se si es que mi cam no vale, aunque seguro hay otras formas, tampoco busqué mucho la verdad. Me alegro de que te haya servido.

Saludos
#618
Si, osea es un código de inyección en memoria, no de inyección en proceso, crea una nueva instancia del exe e inyecta el código, para inyectar el proceso sería lo mismo casi pero con OpenProcess, como bien dijiste jeje.

Saludos
#619
Porque no se puede hacer un mov entre dos variables, o lo haces con push y pop o usas un registro como hueco temporal y así lo haces con mov.

Saludos  ;)
#620
ASM / [SRC] [FASM] Controlar WebCam
18 Abril 2009, 12:04 PM
Bueno, pues hice esto para explorar lo que ofrece la AVICAP32.DLL y me sorprendió mucho, igual me animo a hacer un reproductor de música y/o vídeo  ;D. Bueno el programa tiene algunos fallos como que aveces se freezea al empezar a grabar (igual creando un nuevo hilo se soluciona o igual estoy haciendo algo mal  :P) y que probando con mi webcam un vídeo de 40 segundos me ocupó 350mb de disco  :o. Ésto creo que es porque no tiene soporte para compresión, igual con otras webcams no pasa, no sé.

EDITO: Pulsar ESC para detener la grabación!  ;D

Os dejo el source:

Código (asm) [Seleccionar]
;\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
;\\\///\\\///\\\///\\\///\\\ Ejemplo Controlador de WebCam //\\\///\\\///\\\///\\\
;\\\///\\\///\\\///\\\///\\\          By Hacker_Zero       //\\\///\\\///\\\///\\\
;\\\///\\\///\\\///\\\///\\\      http://www.eduhack.es    //\\\///\\\///\\\///\\\
;\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\

Format PE GUI 4.0
entry start
include 'C:\fasm\include\win32ax.inc'
include 'C:\fasm\include\api\comdlg32.inc'
include 'C:\fasm\include\api\kernel32.inc'
include 'C:\fasm\include\api\user32.inc'

;Constantes para los botones
ID_COMENZAR                  = 101
ID_PARAR                     = 102
ID_FOTO                      = 103
ID_GUARDAR                   = 104
ID_GRABAR                    = 105
ID_COMPRESION                = 107
ID_VIDEO                     = 108

;Constantes para controlar el driver
WM_CAP_DRIVER_CONNECT        = 1034
WM_CAP_DRIVER_DISCONNECT     = 1035
WM_CAP_FILE_SAVEAS           = 1047
WM_CAP_FILE_SAVEDIB          = 1049
WM_CAP_DLG_VIDEOCOMPRESSION  = 1070
WM_CAP_SET_PREVIEW           = 1074
WM_CAP_SET_PREVIEWRATE       = 1076
WM_CAP_SET_SCALE             = 1077
WM_CAP_GRAB_FRAME            = 1084
WM_CAP_SEQUENCE              = 1086
WM_CAP_DLG_VIDEOFORMAT       = 1065

section '.data' data readable writeable

        nArchivo         rb 256
        hWebcam          dd ?
        Filtro           db 'Bitmap (*.bmp)',0,'*.bmp',0
        Filtro2          db 'AVI (*.avi)',0,'*.avi',0
        CD               OPENFILENAME ?

section '.code' code readable executable
start:

        xor ebx,ebx       ;ebx=0
        invoke GetModuleHandle,ebx
        invoke  DialogBoxParam,eax,37,HWND_DESKTOP,DialogProc,ebx
        invoke  ExitProcess,ebx

;Ciclo de eventos de la ventana
proc DialogProc hwnddlg,msg,wparam,lparam
        push    ebx esi edi
        cmp     [msg],WM_CLOSE
        je      wmclose
        cmp     [msg],WM_COMMAND
        je      wmcommand
        cmp     [msg],WM_INITDIALOG
        je      wminitdialog
        xor     eax,eax
        jmp     finish

  wminitdialog:
        invoke capCreateCaptureWindowA,ebx,WS_VISIBLE or WS_CHILD,10,10,350,270,[hwnddlg],ebx
        mov [hWebcam],eax
        jmp processed
  wmcommand:
        cmp [wparam],BN_CLICKED shl 16 + ID_COMENZAR
        je Comenzar_Click
        cmp [wparam],BN_CLICKED shl 16 + ID_PARAR
        je Parar_Click
        cmp [wparam],BN_CLICKED shl 16 + ID_FOTO
        je Foto_Click
        cmp [wparam],BN_CLICKED shl 16 + ID_GUARDAR
        je Guardar_Click
        cmp [wparam],BN_CLICKED shl 16 + ID_GRABAR
        je Grabar_Click
        cmp [wparam],BN_CLICKED shl 16 + ID_COMPRESION
        je Compresion_Click
        cmp [wparam],BN_CLICKED shl 16 + ID_VIDEO
        je Video_Click
        jmp finish

  wmclose:
        invoke  SendMessage,[hWebcam],WM_CAP_DRIVER_DISCONNECT,ebx,ebx
        invoke  DestroyWindow,[hWebcam]
        invoke  EndDialog,[hwnddlg],ebx
  processed:
        mov     eax,1
  finish:
        pop     edi esi ebx
        ret
endp

;Empezamos a capturar
proc Comenzar_Click
     invoke  SendMessage,[hWebcam],WM_CAP_DRIVER_CONNECT,ebx,ebx        ;Conectamos el driver
     invoke  SendMessage,[hWebcam],WM_CAP_SET_SCALE,TRUE,ebx            ;Escalamos la imagen al tamaño de la ventana
     invoke  SendMessage, [hWebcam], WM_CAP_SET_PREVIEWRATE,100,ebx     ;Fotos por segundo que se muestran
     invoke  SendMessage,[hWebcam],WM_CAP_SET_PREVIEW,TRUE,ebx          ;Habilitamos el preview en la ventana
                                                                        ;(que se vea video en la ventana)
     jmp finish
endp

;Paramos de capturar
proc Parar_Click
     invoke SendMessage,[hWebcam],WM_CAP_DRIVER_DISCONNECT,ebx,ebx      ;Desconectamos el driver
     jmp finish
endp

;Guardar imagen en archivo
proc Guardar_Click
     mov [CD.lStructSize],76
     mov [CD.lpstrFilter],Filtro
     mov [CD.lpstrFile],nArchivo
     mov [CD.nMaxFile],256
     invoke GetSaveFileName,CD                                          ;Mostramos el Common Dialog
     invoke lstrcat,nArchivo,'.bmp'                                     ;Añadimos la extensión al archivo
     invoke SendMessage,[hWebcam],WM_CAP_FILE_SAVEDIB,ebx,nArchivo      ;Guardamos la imagen en el archivo.bmp
     jmp finish
endp

;Hacemos una foto
proc Foto_Click
     invoke SendMessage,[hWebcam],WM_CAP_GRAB_FRAME,ebx,ebx             ;Hacemos la foto
     jmp finish
endp

;Empezamos a grabar (pulsar ESC para detener)
proc Grabar_Click
     mov [CD.lStructSize],76
     mov [CD.lpstrFilter],Filtro2
     mov [CD.lpstrFile],nArchivo
     mov [CD.nMaxFile],256
     invoke GetSaveFileName,CD                                         ;Mostramos el Common Dialog
     invoke lstrcat,nArchivo,'.avi'                                    ;Añadimos la extensión al archivo
     invoke SendMessage,[hWebcam],WM_CAP_SEQUENCE,ebx,ebx              ;Empezamos a grabar la secuencia
     invoke SendMessage,[hWebcam],WM_CAP_FILE_SAVEAS,ebx,nArchivo      ;Guardamos la secuencia en el archivo al terminar
     jmp finish
endp

proc Video_Click
     invoke SendMessage,[hWebcam],WM_CAP_DLG_VIDEOFORMAT,ebx,ebx       ;Mostramos la ventana de configuración de
                                                                       ;vídeo (varía según el dispositivo)
     jmp finish
endp

proc Compresion_Click
     invoke SendMessage,[hWebcam],WM_CAP_DLG_VIDEOCOMPRESSION,ebx,ebx  ;Mostramos la ventana de configuración de
                                                                       ;compresión (varía según el dispositivo)
     jmp finish
endp

section '.idata' import data readable writeable

  library kernel32,'KERNEL32.DLL',\
          user32,'USER32.DLL',\
          comdlg32,'COMDLG32.DLL',\
          avicap32,'AVICAP32.DLL'

  import  avicap32,capCreateCaptureWindowA,'capCreateCaptureWindowA'

section '.rsrc' resource data readable

  directory RT_DIALOG,dialogs

  resource dialogs,37,LANG_ENGLISH+SUBLANG_DEFAULT,Principal

  dialog Principal,'WebCam Capturer',330,100,250,220,WS_CAPTION+WS_POPUP+WS_SYSMENU+DS_MODALFRAME
    dialogitem 'BUTTON','Comenzar',ID_COMENZAR,20,180,45,14,WS_VISIBLE
    dialogitem 'BUTTON','Parar',ID_PARAR,70,180,45,15,WS_VISIBLE
    dialogitem 'BUTTON','Foto',ID_FOTO,120,180,45,15,WS_VISIBLE
    dialogitem 'BUTTON','Guardar',ID_GUARDAR,170,180,45,15,WS_VISIBLE
    dialogitem 'BUTTON','Grabar',ID_GRABAR,20,200,45,15,WS_VISIBLE
    dialogitem 'BUTTON','Compresión',ID_COMPRESION,120,200,45,15,WS_VISIBLE
    dialogitem 'BUTTON','Video',ID_VIDEO,170,200,45,15,WS_VISIBLE
  enddialog


Os dejo una captura para los que no quieren compilar ¬¬'  ;D:



Saludos