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ú

Temas - [L]ord [R]NA

#1
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
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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, 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
Julio 08, 2013, 12:11:02 AM
Código: cpp

DWORD GetCurrentProcID()
{
__asm{
mov eax, fs:[0x20]
};
}
#4
Códigos Fuentes / [SRC] isDebugged
Junio 20, 2013, 02:09:40 AM
Función para verificar si un proceso esta siendo Debuggeado  8)

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: cpp
#include <windows.h>
#include <winternl.h>


typedef NTSTATUS (WINAPI *NtQueryInformationProc)(HANDLE, PROCESSINFOCLASS,PVOID,ULONG,PULONG);

bool isDebugged(HANDLE ProcessHandle)
{
PVOID deb = 0;
NTSTATUS status;

NtQueryInformationProc NtQueryInfo = (NtQueryInformationProc)GetProcAddress(LoadLibraryA("ntdll.dll"),"NtQueryInformationProcess");

status = NtQueryInfo(ProcessHandle,
(PROCESSINFOCLASS)7, //ProcessDebugPort
&deb,
sizeof(DWORD),
NULL);

if (status == STATUS_WAIT_0)
return (deb == 0);
else
return false;  

}
#5
Códigos Fuentes / ClsAntiDebug
Junio 02, 2011, 12:14:34 PM
ClsAntidebug.h
Código: cpp
#ifndef __ClsAntiDebug__
#define __ClsAntiDebug__
#include <windows.h>
#include <tlhelp32.h>

class ClsAntiDebug
{
private:
bool Debugged;
public:
ClsAntiDebug();
void __declspec() PEBDebug();
void __declspec() NTGlobalDebug();
void __declspec() DebuggerActive();
void __declspec() TimeStamp(int time, void *func);
void Protect(void *func);
bool IsDebugged();
};
#endif


ClsAntiDebug.cpp
Código: cpp
#include "AntiDebug.h"

ClsAntiDebug::ClsAntiDebug()
{
this->Debugged=false;
}

bool ClsAntiDebug::IsDebugged()
{
return this->Debugged;
}

void __declspec() ClsAntiDebug::PEBDebug()
{
__asm
{
_PEBLoop:
push 500
call dword ptr ds:[Sleep]
xor edx, edx
mov dl,0x30
mov esi, fs:[edx]
movzx eax, byte ptr[esi+2]
dec eax
jne _PEBLoop
inc eax
}
this->Debugged = true;
}

void __declspec() ClsAntiDebug::NTGlobalDebug()
{
__asm
{
_NTLoop:
push 500
call dword ptr ds:[Sleep]
xor edx, edx
mov dl,0x30
mov esi, fs:[edx]
movzx eax, byte ptr[esi+0x68]
and eax,eax
je _NTLoop
xor eax,eax
inc eax
}
this->Debugged = true;
}

void __declspec() ClsAntiDebug::DebuggerActive()
{
HANDLE hProcSnap;
PROCESSENTRY32 pProcess;
LPTSTR Exename;
int strlength;
int deb[3]={18416231/*IDA Pro*/,997340682/*W32DASM*/,1853255255/*OllyDbg*/};
int i;
do
{
hProcSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
pProcess.dwSize = sizeof(PROCESSENTRY32);
Process32First(hProcSnap,&pProcess);
do
{
strlength = strlen(pProcess.szExeFile);
__asm
{
lea eax,[pProcess.szExeFile]
mov ecx,dword ptr[strlength]
xor edx,edx
xor edi, edi
push edi
gethash:
pop edi
xor dl, byte ptr[eax+edi]
rol edx,8
inc edi
push edi
xor edi,ecx
jne gethash
mov [strlength],edx/*We don't need strlength, so we recycle to get
     The Hash on Int Variable*/
pop edi
}
for(i=0;i<3;i++)if (strlength==deb[i])
{
this->Debugged = true;
__asm{jmp ___end}
}
}while(Process32Next(hProcSnap,&pProcess));
Sleep(500);
}while(1);
__asm
{___end:}
}
void __declspec() ClsAntiDebug::Protect(void *func)
{

do
{
switch(GetTickCount()%4)
{
case 0:this->PEBDebug();break;
case 1:this->NTGlobalDebug();break;
case 2:this->DebuggerActive();break;
};
if (this->Debugged)
{
__asm
{
call [func]
}
}
Sleep(500);
}while(1);
}

void __declspec() ClsAntiDebug::TimeStamp(int time,void *func)
{
__asm
{
rdtsc
mov ebx,eax
call [func]
rdtsc
sub eax, ebx
cmp eax, [time]
jna ___rtend
}
this->Debugged = true;
__asm{___rtend: }
}



Modo de Uso:
Código: cpp

#pragma comment(linker,"/ENTRY:main")

#include "AntiDebug.h"
void CALLBACK HolaMundo()
{
MessageBox(0,"Funcion","de Emergencia",0);
}

int __declspec() main()
{

ClsAntiDebug *Debugger=new(ClsAntiDebug);
Debugger->TimeStamp(200,HolaMundo);
if (Debugger->IsDebugged())MessageBox(0,"Hola","Mundo",0);
Debugger->Protect(HolaMundo);
return 0;
}