Постійно чуєте від фахівців з кібербезпеки про дорк-запити (Google Dorks)? Пояснимо простою та зрозумілою мовою, що це таке, як вони працюють, і як використовувати інструменти Google для пошуку інформації, яка не мала бути у відкритому доступі.

Інфо

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

Як працює Google Dorking?

Google Dork — це застосування спеціальних операторів пошуку (ключових слів та символів) у пошуковій системі Google для виявлення даних, які: 1. Не призначені для широкого загалу. 2. Були помилково опубліковані на веб-сайтах або серверах. Цей метод часто використовують для пошуку сторінок авторизації, файлів конфігурації, бекапів, відкритих директорій або, наприклад, панелей керування IP-камер. Google індексує веб-сторінки, файли, заголовки, URL та метадані. Якщо веб-сайт або сервер мають помилки в конфігурації, Google може проіндексувати те, що не мав би: Неправильно налаштований веб-сервер; Відкриті директорії; Конфіденційні файли у відкритому доступі (логі, бекапи, конфіги); Уразливі параметри в URL-адресах. Щоб "звузити" пошук і націлити його на ці помилки, використовуються Оператори.

Основні Оператори для Google Dorking

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

  • site: Шукає інформацію лише на вказаному домені. | Приклад: site:example.com
  • inurl: Знаходить URL-адреси, які містять вказаний рядок. | Приклад: inurl:admin.php
  • intitle: Шукає сторінки, у заголовку яких є вказаний рядок. | Приклад: intitle:"Index of /backup"
  • intext: Шукає текст, який присутній безпосередньо на сторінці. | Приклад: intext:"password" site:example.com
  • filetype: (ext:) Фільтрує результати за типом файлу (розширенням). | Приклад: filetype:sql або ext:txt
  • cache: Показує кеш-версію сторінки, збережену Google. | Приклад: cache:example.com/page
  • link: Знаходить сторінки, які посилаються на вказаний URL. | Приклад: link:example.com
  • related: Знаходить сайти, схожі за тематикою. | Приклад: related:example.com
  • - Виключає вказане слово з результатів пошуку. | Приклад: site:example.com -channel
  • " " Використовується для пошуку точної фрази. | Приклад: "Index of /"

Структура Дорк-запитів та Приклади

Складання ефективного дорк-запиту — це комбінування кількох операторів для визначення чіткої мети.

1. Пошук адміністративних панелей

  • Мета: Знайти доступні адмін-панелі або відкриті директорії з конфігурацією.
  • Приклад: intitle:"login" inurl:admin (Знайти сторінки, у заголовку яких є "login", а в URL — "admin".)

2. Пошук відкритих бекапів

  • Мета: Знайти потенційно відкриті файли резервних копій WordPress.
  • Приклад: inurl:wp-content/backup- intitle:"index of"

3. Пошук конфіденційних даних

  • Мета: Знайти конфігураційні файли .env, які містять ключі API або паролі.
  • Приклад: intext:"api_key" filetype:env
Ілюстрація Google Dorks для пошуку інформації
Приклад використання Google Dorks

⚡ Що "цікавого" можуть дати Дорк-запити?

Доркінг може виявити цілий спектр проблем безпеки:

  • Відкриті Директорії: Якщо на сервері увімкнене відображення вмісту папок, а файл index.html відсутній.
  • Конфіденційні Файли:
    • Бекапи: .bak, .sql, .zip, .tar.gz.
    • Конфігураційні файли: .env, config.php, wp-config.php.
    • Логи: .log.
  • Уразливі Параметри в URL: Наприклад, URL із шаблоном inurl:php?id=1 може вказувати на потенційну уразливість до SQL-ін'єкції (хоча сам по собі URL не є доказом уразливості).
  • Адмін-панелі та Логіни: Пошук за фразами intext:"powered by" або intitle:"phpMyAdmin".
  • Витоки Даних: Файли, що містять списки електронних адрес, паролі або ключі API.

🛑 Обмеження Google Dorks

Попри свою ефективність, Google Dorking має свої обмеження:

  • Неповна Індексація: Google не індексує абсолютно все. Багато сторінок блокуються через файли robots.txt, мета-теги noindex або вимагають авторизації.
  • Застарілі Результати: Результати залежать від стану індексу на момент останнього сканування Google.
  • Фільтрація Google: Google може активно видаляти або фільтрувати запити, які явно націлені на пошук уразливостей (наприклад, масові пошуки слова "password").
  • Необхідність Ручної Перевірки: Не все, що знайдено за допомогою Google Dorks, є реальною уразливістю. Завжди потрібна ручна перевірка та аналіз.

📚 Де шукати списки Google Dorks?

Існують загальнодоступні, регулярно оновлювані бази даних дорк-запитів:

  • GHDB (Google Hacking Database): Це частина проєкту OWASP. GHDB каталогізує тисячі запитів за категоріями: повідомлення про помилки, файли з паролями, уразливі сервери тощо.
    Посилання: https://www.exploit-db.com/google-hacking-database

Якщо вам лінь самостійно складати та тестувати ці запити, можете скористатися спеціалізованим інструментом на основі штучного інтелекту:

  • DorkGPT: Нейронна мережа, націлена на створення дорк-запитів.
    Посилання: https://www.dorkgpt.com/#google_vignette
    P.S. Для коректної роботи запити необхідно писати англійською.

🛡️ Захист вашого сайту від Google Dorking

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

  • Правильне налаштування robots.txt: Це найперший і найважливіший крок. Файл robots.txt вказує пошуковим роботам, які сторінки або директорії не слід індексувати. Переконайтеся, що всі адміністративні панелі, конфіденційні файли (бекапи, конфіги, логи) та службові сторінки заборонені до індексації.
  • Використання мета-тегу noindex: Для окремих сторінок, які ви не хочете, щоб Google індексував (навіть якщо вони не заборонені в robots.txt), додайте мета-тег <meta name="robots" content="noindex"> у секцію <head> HTML-сторінки.
  • Захист доступу до конфіденційних файлів:
    • Переміщення: Зберігайте бекапи, логи та конфігураційні файли за межами веб-доступних директорій. Якщо їх потрібно завантажити, використовуйте захищений FTP/SFTP або панелі управління.
    • Обмеження доступу через веб-сервер: Використовуйте конфігурацію веб-сервера (наприклад, .htaccess для Apache, location блоки для Nginx), щоб заборонити прямий доступ до чутливих файлів за розширенням (.sql, .env, .log, .zip, .bak) або до певних директорій.
    • Автентифікація: Завжди захищайте адміністративні панелі та будь-які інші сторінки, що містять чутливу інформацію, надійною автентифікацією.
  • Регулярний аудит: Періодично виконуйте власні Google Dork запити (наприклад, site:ваш_домен filetype:sql, site:ваш_домен intext:password) для перевірки, чи не індексується щось зайве. Це дозволить виявити проблеми, перш ніж їх знайдуть зловмисники.
  • Відключення відображення вмісту директорій: Переконайтеся, що на вашому веб-сервері вимкнено опцію "Directory Listing" або "Autoindex". Це запобігає відображенню списку файлів, якщо у директорії відсутній index.html (або аналогічний файл).
  • Мінімізація інформації в заголовках HTTP та банерах серверів: Уникайте надмірної інформації у заголовках HTTP-відповідей або банерах серверів, які можуть вказати на версії ПЗ або конфігурацію.
  • Актуалізація ПЗ: Регулярно оновлюйте CMS, плагіни, фреймворки та операційну систему сервера, щоб уникнути відомих вразливостей, які можуть призвести до витоків.

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