Mostrar Mensajes

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

Temas - [L]ord [R]NA

Páginas: [1]
1
Ideas y Sugerencias / Eliminar Sub-Foro de Descarga de Malware.
« en: Junio 09, 2015, 03:48:24 pm »
Creo que seria oportuno, para la calidad del foro, barrer la zona de Descarga de Malware.

Si bien es cierto que no se almacenan en el foro, este tipo de cosas bajan la calidad del mismo, pues no encajan en el titulo principal (Analisis y Desarrollo de Malware). En caso de que sea algo nuevo, bien podria ser introducido en Desarrollo de Malware (Si se compartira el codigo fuente, prohibiendo el Modding, que de nada sirve a menos que sea un instructivo de como realizarlo), con respecto al Analisis, segun estuve observando, va por 0%. Hasta ahora no he visto un analisis de algun malware.

Tambien es necesario que se proteja a los usuarios que entran a descargar material en esta zona... Verificar los ejecutables, pues no sabemos las intenciones de los usuarios al compartir; de una forma indirecta, podriamos estar ayudando a algun usuario a infectar a multiples miembros de la comunidad (Ya ha sucedido).

2
Presentaciones / [L]ord [R]NA De Regreso
« en: Junio 02, 2015, 08:23:36 pm »
Buen Dia a todos, estoy de regreso.  8)

Posiblemente los nuevos (2013 para aca), no me recuerden, al igual que tampoco me noten.

Soy ex miembro del Staff (No recuerdo el area, posiblemente Malware). Fui miembro de esta comunidad desde sus inicios, fui miembro activo de elhacker.net, y co-fundador de h-sec (foro extinto). Soy desarrollador de software bajo tecnologias de Oracle (Oracle Forms/Reports, PL/SQL, Oracle ADF) de manera laboral; Desarrollador de ASM, C/C++, Java, JavaScript (Front-End/Back-end), Python, C#; usuario de Linux/Windows/BSD, Diseñador Grafico, Analista de Procesos, Analista de Malware y Diseñador de Bases de Datos Relacionales (SQL Server, MySQL, Oracle) y No Relacionales (MongoDB). fuera del PC soy escritor de micro-relatos amateur, blogger y dibujante.

Vine a echar un vistazo y dependiendo de como este todo, a integrarme nuevamente a la comunidad.

Hasta luego.

3
C / C++ / Obtener el Process Id del proceso actual
« en: Julio 08, 2013, 12:11:02 am »
Código: C++
  1. DWORD GetCurrentProcID()
  2. {
  3.    __asm{
  4.       mov eax, fs:[0x20]
  5.       };
  6. }
  7.  

4
Códigos Fuentes / [SRC] isDebugged
« en: Junio 20, 2013, 02:09:40 am »
Función para verificar si un proceso esta siendo Debuggeado  8)

https://www.virustotal.com/en/file/fe9a1df641ed546c661c8f78cab485e6b0beeeae18262f0e30d3ba4ebf77cde2/analysis/1371705333/

Código: C++
  1. #include <windows.h>
  2. #include <winternl.h>
  3.  
  4.  
  5. typedef NTSTATUS (WINAPI *NtQueryInformationProc)(HANDLE, PROCESSINFOCLASS,PVOID,ULONG,PULONG);
  6.  
  7. bool isDebugged(HANDLE ProcessHandle)
  8. {
  9.    PVOID deb = 0;
  10.    NTSTATUS status;
  11.  
  12.    NtQueryInformationProc NtQueryInfo = (NtQueryInformationProc)GetProcAddress(LoadLibraryA("ntdll.dll"),"NtQueryInformationProcess");
  13.  
  14.    status = NtQueryInfo(ProcessHandle,
  15.                (PROCESSINFOCLASS)7, //ProcessDebugPort
  16.                &deb,
  17.                sizeof(DWORD),
  18.                NULL);
  19.  
  20.    if (status == STATUS_WAIT_0)
  21.       return (deb == 0);
  22.    else
  23.       return false;        
  24.  
  25. }

5
Códigos Fuentes / ClsAntiDebug
« en: Junio 02, 2011, 12:14:34 pm »
ClsAntidebug.h
Código: C++
  1. #ifndef __ClsAntiDebug__
  2. #define __ClsAntiDebug__
  3. #include <windows.h>
  4. #include <tlhelp32.h>
  5.  
  6. class ClsAntiDebug
  7. {
  8. private:
  9.    bool Debugged;
  10. public:
  11.    ClsAntiDebug();
  12.    void __declspec() PEBDebug();
  13.    void __declspec() NTGlobalDebug();
  14.    void __declspec() DebuggerActive();
  15.    void __declspec() TimeStamp(int time, void *func);
  16.    void Protect(void *func);
  17.    bool IsDebugged();
  18. };
  19. #endif

ClsAntiDebug.cpp
Código: C++
  1. #include "AntiDebug.h"
  2.  
  3. ClsAntiDebug::ClsAntiDebug()
  4. {
  5.    this->Debugged=false;
  6. }
  7.  
  8. bool ClsAntiDebug::IsDebugged()
  9. {
  10.    return this->Debugged;
  11. }
  12.  
  13. void __declspec() ClsAntiDebug::PEBDebug()
  14. {
  15. __asm
  16.    {
  17.    _PEBLoop:
  18.    push 500
  19.    call dword ptr ds:[Sleep]
  20.    xor edx, edx
  21.    mov dl,0x30
  22.    mov esi, fs:[edx]
  23.    movzx eax, byte ptr[esi+2]
  24.    dec eax
  25.    jne _PEBLoop
  26.    inc eax
  27.    }
  28.    this->Debugged = true;
  29. }
  30.  
  31. void __declspec() ClsAntiDebug::NTGlobalDebug()
  32. {
  33.    __asm
  34.    {
  35. _NTLoop:
  36.    push 500
  37.    call dword ptr ds:[Sleep]
  38.    xor edx, edx
  39.    mov dl,0x30
  40.    mov esi, fs:[edx]
  41.    movzx eax, byte ptr[esi+0x68]
  42.    and eax,eax
  43.    je _NTLoop
  44.    xor eax,eax
  45.    inc eax
  46.    }
  47.    this->Debugged = true;
  48. }
  49.  
  50. void __declspec() ClsAntiDebug::DebuggerActive()
  51. {
  52.    HANDLE hProcSnap;
  53.    PROCESSENTRY32 pProcess;
  54.    LPTSTR Exename;
  55.    int strlength;
  56.    int deb[3]={18416231/*IDA Pro*/,997340682/*W32DASM*/,1853255255/*OllyDbg*/};
  57.    int i;
  58.    do
  59.    {
  60.       hProcSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
  61.       pProcess.dwSize = sizeof(PROCESSENTRY32);
  62.       Process32First(hProcSnap,&pProcess);
  63.       do
  64.       {
  65.          strlength = strlen(pProcess.szExeFile);
  66.          __asm
  67.          {
  68.             lea eax,[pProcess.szExeFile]
  69.             mov ecx,dword ptr[strlength]
  70.             xor edx,edx
  71.             xor edi, edi
  72.             push edi
  73. gethash:
  74.             pop edi
  75.             xor dl, byte ptr[eax+edi]
  76.             rol edx,8
  77.             inc edi
  78.             push edi
  79.             xor edi,ecx
  80.             jne gethash
  81.             mov [strlength],edx/*We don't need strlength, so we recycle to get
  82.                              The Hash on Int Variable*/
  83.             pop edi
  84.             }
  85.       for(i=0;i<3;i++)if (strlength==deb[i])
  86.       {
  87.          this->Debugged = true;
  88.          __asm{jmp ___end}
  89.       }
  90.       }while(Process32Next(hProcSnap,&pProcess));
  91.       Sleep(500);
  92.    }while(1);
  93.    __asm
  94.    {___end:}
  95. }
  96. void __declspec() ClsAntiDebug::Protect(void *func)
  97. {
  98.  
  99.    do
  100.    {
  101.       switch(GetTickCount()%4)
  102.       {
  103.       case 0:this->PEBDebug();break;
  104.       case 1:this->NTGlobalDebug();break;
  105.       case 2:this->DebuggerActive();break;
  106.       };
  107.       if (this->Debugged)
  108.       {
  109.          __asm
  110.          {
  111.             call [func]
  112.          }
  113.       }
  114.       Sleep(500);
  115.    }while(1);
  116. }
  117.  
  118. void __declspec() ClsAntiDebug::TimeStamp(int time,void *func)
  119. {
  120.    __asm
  121.    {
  122.       rdtsc
  123.       mov ebx,eax
  124.       call [func]
  125.       rdtsc
  126.       sub eax, ebx
  127.       cmp eax, [time]
  128.       jna ___rtend
  129.    }
  130.    this->Debugged = true;
  131.    __asm{___rtend:   }
  132. }
  133.  
  134.  

Modo de Uso:
Código: C++
  1. #pragma comment(linker,"/ENTRY:main")
  2.  
  3. #include "AntiDebug.h"
  4. void CALLBACK HolaMundo()
  5. {
  6. MessageBox(0,"Funcion","de Emergencia",0);
  7. }
  8.  
  9. int __declspec() main()
  10. {  
  11.  
  12.    ClsAntiDebug *Debugger=new(ClsAntiDebug);
  13.    Debugger->TimeStamp(200,HolaMundo);
  14.    if (Debugger->IsDebugged())MessageBox(0,"Hola","Mundo",0);
  15.    Debugger->Protect(HolaMundo);
  16.    return 0;
  17. }

Páginas: [1]