Tsunami — масштабований сканер безпеки від Google

Alex Alex 12 липня 2020
Tsunami — масштабований сканер безпеки від Google

Компанія Google відкрила вихідні коди сканера Tsunami — рішення для виявлення небезпечних уразливостей з мінімальною кількістю помилкових спрацьовувань. Tsunami відрізняється від сотень інших сканерів (як комерційних, так і безкоштовних) підходом до його розробки — Google враховував потреби гігантських корпорацій.

Ідеологія Tsunami

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

Це створює серйозну проблему для великих організацій з тисяч або навіть мільйонів підключених до Інтернету систем. У таких масштабних середовищах уразливості безпеки повинні бути виявлені та в ідеалі усунені повністю автоматизованим способом. Для цього групи інформаційної безпеки повинні мати можливість впроваджувати й розгортати детектори для розв'язання нових проблем безпеки в масштабі за дуже короткий час.

Крім того, важливо, щоб якість виявлення завжди було дуже високою. Щоб розв'язувати ці проблеми, був створений Tsunami — розширюваний механізм мережевого сканування для виявлення вразливостей високого ступеня небезпеки з високим ступенем вірогідності без автентифікації.

Принцип роботи

"Під капотом" у сканера знаходяться дві досить відомі утиліти — nmap і ncrack, які дозволяють розбити етапи роботи на два етапи:

Перший і основний етап роботи Tsunami — сканування. Проводиться розвідка периметра, що містить в собі пошук відкритих портів і подальшу перевірку, для точного визначення протоколів і служб, що працюють на них (щоб запобігти false positive спрацьовування). Цей модуль заснований на nmap, але також і використовує додатковий код.

Другий етап працює на основі результатів першого. Проводиться взаємодія з кожним пристроєм і його відкритими портами: вибирається список уразливостей для тестування і запускаються безпечні експлойти, щоб перевірити, чи дійсно пристрій вразливий до атак (PoC).

Також, Tsunami оснащений розширюваним механізмом підтримки плагінів. Поточна версія сканера оснащена плагінами для перевірки відкритих UI (WordPress, Jenkins, Jupyter, Hadoop Yarn і так далі), а також слабких облікових даних. Для перевірки "слабких" облікових записів використовується утиліта ncrack, яка допомагає виявити слабкі паролі, використовувані різними протоколами та сервісами, включаючи SSH, FTP, RDP і MySQL.

Швидкий старт

Встановити необхідні залежності:

nmap >= 7.80
ncrack >= 0.7

Встановити для перевірки вразливий веб застосунок, наприклад unauthenticated Jupyter Notebook server. Найпростіший варіант через образ docker:

docker run --name unauthenticated-jupyter-notebook -p 8888:8888 -d jupyter/base-notebook start-notebook.sh --NotebookApp.token="

Запустити наступну команду:

bash -c "$(curl -sfL https://raw.githubusercontent.com/google/tsunami-security-scanner/master/quick_start.sh)"

The quick_start.sh містить наступні етапи:

  • Клонування репозиторіїв google/tsunami-security-scanner і google/tsunami-security-scanner-plugins у $HOME/tsunami/repos.
  • Компіляція і переміщення плагінів і jar файлів $HOME/tsunami/plugins.
  • Компіляція і переміщення the Tsunami scanner Fat Jar $HOME/tsunami.
  • Переміщення tsunami.yaml — приклад конфігурації у $HOME/tsunami.
  • Пробуйте команди Tsunami для сканування 127.0.0.1 з використанням раніше створених налаштувань.

Приклад використання

Сканування адреси 127.0.0.1 

cd ~/tsunami && java -cp "tsunami-main-0.0.2-SNAPSHOT-cli.jar:~/tsunami/plugins/*" \
  -Dtsunami-config.location=~/tsunami/tsunami.yaml \
  com.google.tsunami.main.cli.TsunamiCli \
  --ip-v4-target=127.0.0.1 \
  --scan-results-local-output-format=JSON \
  --scan-results-local-output-filename=/tmp/tsunami-output.json

Команда запустить сканування і збереже результат у файл /tmp/tsunami-output.json

Контрибуція

Всупереч прямому зв'язку з корпорацією, Tsunami не буде вважатися належним брендом Google. Спільнота розробників буде спільно працювати над сканером і вдосконалювати його, результати будуть доступні всім охочим.

Сторінки проєкт

Репозиторій на github.
Репозиторій плагінів.

Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.