Caido web security auditing tool

Caido – новітній “Burp Suite” з мозгами

Можна сказати, що ера “розумних” інструментів для тестування безпеки розпочалася. У цьому матеріалі ми розглянемо Caido – проксі-сканер, додаток для аудиту веб-безпеки. У ньому є все – зручність, простота, логічність. Якщо в Burp Suite можна “заблудитися”, то в Caido усе під рукою, і максимально спрощено, структуровано. Його особливістю є мінімальне споживання ресурсів та революційна інтеграція різноманітних модулів штучного інтелекту.

Особливості Caido

Caido – це інструмент для аудиту безпеки веб-додатків, який володіє усіма функціональними можливостями проксі-сканера. Розроблений на мові програмування Rust канадською компанією Caido Labs у 2021 році для спеціалістів з кібербезпеки: пентестерів, баг-хантерів, інженерів та інших. Доступний у комерційній та безкоштовній версіях.

Переваги Caido:

  • Сучасні інструменти перехоплення, відтворення та автоматизації, які впроваджують інновації в традиційні робочі процеси тестування безпеки.
  • Власний пошуковий синтаксис HTTPQL.
  • Підтримка модулів Intercepter / Replay / Automate (Перехоплювач / Репітер / Інтрудер).
  • Підтримка модулів HTTP History і Sitemap (Історія і Мапа сайтів).
  • Підтримка модуля Match and Replace.
  • Пасивний і активний Vulnerability Scanner.
  • Робоче середовище Workflow з дошкою проєктів та бекапами, що спрощує взаємодію з додатком.
  • Підтримка різноманітних інтеграцій, плагінів (як стандартних, так і сторонніх розробників), модулів штучного інтелекту.
  • Підтримка роботи через проксі: HTTP Upstream / SOCKS5.
  • Приємний та інтуїтивно-зрозумілий веб-інтерфейс.
  • Спрощена навігація та зручна система управління, прості налаштування (усі елементи під рукою, не потрібно витрачати час на пошуки або вивчення тих чи інших елементів).
  • Швидка робота, мінімальне споживання ресурсів комп’ютера (оперативної пам’яті + процесор).
  • Безкоштовна версія практично немає суттєвих обмежень, окрім кількості проєктів та відсутності деяких не критичних модулів.
  • Інтеграція з Parrot OS.
  • Підтримка CLI-версії, яку можна використовувати як звичайний проксі-сервер.
  • Тренувальна база Caido для новачків з кібербезпеки з навчальними лабами.
  • Чудова довідкова база, підтримка в Discord/GitHub і велика кількість туторіалів.
  • Кросплатформність: підтримка Windows, Linux і macOS.

Недоліки:

  • Caido – пропрієтарний продукт, відсутність Open Source.
  • Збирає дані про взаємодію між інстансами користувачів та їх хмарними службами. Це включає IP-адресу екземпляра та дії/позначки часу виклику API.
  • Відсутність деяких спеціальних функцій, присутніх в Burp Suite (напр. Request Smuggling або Timing Attacks).

На офіційному сайті можна знайти порівняння Caido з Burp Suite >>

Встановлення Caido

Ubuntu/Debian 

Завантажуємо з офіційного сайту .deb пакет Caido Desktop і просто встановлюємо його в Linux:

sudo dpkg -i caido-desktop-vX.XX.X-linux-aarch64.deb

Arch Linux

yay -S caido-desktop

Усі додаткові інструкції див. в Офіційній документації Caido >>

Веб-інтерфейс Caido

Після першого запуску Caido з’явиться вікно, у якому треба створити локальний сервер (кнопка “Create New Instance”) і натиснути Start:

Далі Caido запропонує пройти авторизацію в додатку, тому необхідно попередньо створити обліковий запис: https://dashboard.caido.io/signup (альтернативно, можна обрати обліковий запис Гостя):

Ви автоматично потрапляєте у веб-інтерфейс Caido Desktop. Він складається з:

  1. Хедера – тут розташовані швидкі кнопки пошуку та управління (фільтр цілей, перехоплення запитів), доступ до проєктів і користувацьких налаштувань.
  2. Футера – тут розташовані елементи статусу: консоль, логи.
  3. Основної робочої області – лістинги проєктів, відображення запитів, подій, операцій.
  4. Сайдбар-меню – розділи з модулями, інструментами, інтеграціями, плагінами.

Розглянемо тепер сайд-бар, на якому розташовані усі інструменти Caido:

  • Overview (Огляд):
    • Sitemap – мапа сайтів, зображення деревовидної структури просканованих електронних ресурсів.
    • Scopes – керування цілями, додавання нових в Scope.
    • Filters – робота з фільтрами, пошуком, створення нових пресетів.
  • Proxy (Проксі):
    • Intercept – інструмент Перехоплювач запитів.
    • HTTP History – історія всіх HTTP-запитів.
    • WS History – історія Web Socket.
    • Match & Replace – інструмент “Збіг і заміна” для автоматичної заміни даних у запитах, створення різноманітних правил.
  • Testing (Тестування):
    • Replay – репітер, інструмент для тестування відправки різноманітних HTTP-запитів. Дозволяє переіменовувати сесії, групувати та створювати колекції запитів.
    • Automate – інтрудер, інструмент для тестування, робота з пейлоадами, автоматизація HTTP-запитів, проведення атак (фуззинг, енумерація, брутфорс).
    • Workflows – інструмент для оптимізації, організації і автоматизації робочого процесу. Створення сценаріїв. З допомогою плагіна “Workflow Store” можна обирати вже готові сценарії. Безкоштовна версія містить обмеження на їх кількість.
    • Assistant – модуль чат-боту AI.
    • Envirionment – змінні глобального середовища, створення декількох різних середовищ (приклад).
  • Logging (Логування):
    • Search – пошук, сортування, фільтрація даних серед запитів / проєктів.
    • Findings – знахідки сканера Caido.
    • Export – експорт проєктів.
  • Workspace (Проєктне середовище):
    • Files – робота з файлами.
    • Plugins – робота з плагінами. Можна також встановлювати їх окремо через кнопку “Install Package”.
    • Workspace – робота з проєктами.
  • Plugins (Список активних плагінів)

Для початку роботи з Caido у браузері треба імпортувати його SSL (Settings -> Certificate -> Export) та вказати адресу локального сервера (localhost:8088 або інша):

Інтеграція з AI

Caido підтримує щонайменше 3 інтеграції з AI, і далі я розкажу як їх налаштувати та з ними працювати.

Ebka AI + Claude MCP

Ця інтеграція базується на плагіні Caido – Ebka AI та десктопному клієнті штучного інтелекту від компанії Claude.

Отже, для початку необхідно перейти в сайд-меню Workspace -> Plugins та обрати і встановити на вкладці Community вищезгаданий плагін:

Ebka AI Assistant

Тепер необхідно здійснити інтеграцію. Для цього спочатку клонуємо репозиторій Ebka та встановлюємо NPM-пакет (потребує NodeJS 16+):

git clone https://github.com/Slonser/Ebka-Caido-AI.git
cd Ebka-Caido-AI/claude-mcp-server
npm install
npm run build

Далі необхідно встановити сам клієнт штучного інтелекту, завантажуємо Claude Desktop для Debian Linux у вигляді AppImage.

Виставляємо йому необхідні права та запускаємо:

chmod +x ./claude-desktop-*.AppImage
./claude-desktop-*.AppImage

Claude запросить авторизацію. Щоб увійти бажано мати попередньо створений обліковий запис тут: https://console.anthropic.com/login

Тепер просто вказуємо прив’язану електронну пошту, верифікуємо обліковий запис і чат-агент готовий до роботи.

Але потрібно тепер зв’язати Ebka NodeJS і Claude Desktop. Для цього переходимо в конфіг-файл Claude ~/.config/Claude/claude_desktop_config.json й додаємо код:

{
  "mcpServers": {
    "caido": {
      "command": "node",
      "args": ["/path/to/claude-mcp-server/build/index.js"]
    }
  }
}

/path/to/claude-mcp-server/build/index.js – це шлях папки з репозиторію Ebka, який ми клонували вище. Тобто, вказуємо /home/user/Ebka-Caido-AI/claude-mcp-server/build/index.js.

Повертаємося до Caido, переходимо в меню Plugins -> Ebka AI й натискаємо на кнопку “Copy MCP Request”:

Ми отримаємо в буфер обміну дані авторизації для MCP – token і host. Вставляємо їх копіпастом в чат Claude – він одразу ідентифікує та успішно схвалить їх, вивівши привітальне повідомлення про конфігурацію сервера:

Тепер у тому ж чаті через Claude Desktop можна керувати Caido. Наприклад, делегувати чат-боту різні задачі/команди на виконання:

  • Відправити HTTP-запит – GET/POST та інші.
  • Проаналізувати запит/заголовки.
  • Побудувати HTTP-запит для того чи іншого завдання.
  • Перенести запит на ту чи іншу вкладку (Replay/Automation або інші).
  • Додавати/вилучати домени в Scope.
  • …та інші.

Щоправда, кожну команду необхідно попередньо схвалити, натиснувши у чаті кнопку Allow. Після цього чатбот-повідомит про виконання і його дії відобразяться в проксі Caido.

Примітка: Щоби Claude Desktop працював справно, Caido повинен бути постійно включеним на інтерфейсі localhost:80XX, а також необхідно мати попередньо створений активний проєкт.

Shift

Плагін Shift дозволяє через API OpenRouter взаємодіяти з UI Caido та виконувати тестування за різними сценаріями з допомогою промтів (команд) штучного інтелекту.

В Caido по замовчуванню вже додані такі шаблони промтів:

  • XSS
  • SSRF
  • Path Traversal
  • SQLi
  • URL Bypass

Достатньо перехопити запит, відправити його в Replay (Repeater) і натиснути Agent, щоб розпочати чат з AI Shift.

Caido Shift plugin

Path Traversal with Shif AI in Caido
Приклад тестування Path Traversal з допомогою Shift AI в Caido.

AI Assistant

У налаштуваннях можна також увімкнути модуль Assistant (попередньо слід перейти в Settings -> AI та додати API-ключ моделі штучного інтелекту, яку ви використовуватимете). Матимете ще один автономний движок штучного інтелекту для чату. Однак варто зауважити, що він доступний лише у платних версіях Caido.

Caido AI Assistant
Робота з AI Assistant в Caido

Автор: © Konrad Ravenstone, KR. Laboratories Research

Konrad Ravenstone// про автора

Кібермольфар, хакер, лінуксоїд, дослідник безпеки в KR. Labs Research

Сподобалася стаття? Поділитися в соцмережах:
KR. Labs Research
Рекомендоване:
Проксі - це необхідні ресурси, які дають можливість спеціалісту з…