google-dorks

Вступление

Google Dorks (или «гугл дорки», как говорят по-русски) это не хакерская утилита и не тёмная магия. Это встроенный синтаксис самого Google, официально задокументированный, который знают, может, полтора процента людей, регулярно пользующихся поиском.

Разница между обычным юзером и человеком, освоившим дорки, примерно такая же, как между тем, кто ищет фильм, вводя «фильм про хакеров», и тем, кто помнит название и год. За пять минут с правильным запросом можно найти то, на что при обычном поиске уйдёт час, а иногда и вовсе не найдётся.

Я использую Google Dorks почти каждый день. В OSINT-расследованиях без них никак: половина работы это правильно сформулировать запрос. Но и в бытовых задачах они экономят кучу времени: найти нужный PDF, откопать старый форумный тред, проверить, где твой email всплывал в открытом доступе.

В этой статье разберём десять базовых операторов, которые нужны каждому, как их комбинировать в мощные запросы, готовые рецепты для OSINT-задач, Google Hacking Database и как ей пользоваться, юридические границы в РФ и как защитить свой сайт от того, чтобы его нашли теми же дорками.

Зачем нужны Google Dorks

Прежде чем перейти к синтаксису, посмотрим, кому и в каких сценариях это реально пригодится.

OSINT-расследование. Классический случай. Нужно найти всё, что человек публиковал под своим именем. Обычный поиск даст миллион нерелевантных результатов. Правильный дорк типа «Иван Иванов» site:linkedin.com OR site:facebook.com OR site:vk.com сразу отфильтровывает шум.

Проверка контрагента. Компания указала в договоре сайт. Ты хочешь узнать, что там ещё есть, кроме витрины. Запрос site:company.ru filetype:pdf покажет все PDF-файлы, которые Google проиндексировал на этом домене. Иногда там всплывают старые прайсы, презентации, юридические документы, о которых компания и забыла.

Работа программиста. Ищешь конкретную функцию, которую кто-то использовал в открытом коде? Запрос «function_name(» site:github.com filetype:py найдёт все Python-файлы с этой функцией. Быстрее, чем через поиск GitHub.

Безопасник. Проверить, не утекли ли конфигурационные файлы твоей компании в открытый доступ. Запрос site:company.com ext:sql OR ext:log OR ext:env покажет то, что не должно быть в индексе. Если что-то нашлось, срочно закрывать.

Обычный пользователь. Например, найти рецепт борща именно в русскоязычных блогах, а не на маркетплейсах рецептов: борщ site:.ru -site:eda.ru -site:povar.ru. Или найти научную статью по теме: «machine learning» filetype:pdf site:.edu.

База: десять операторов, которые нужны каждому

Начнём с фундамента. Эти десять операторов покрывают 90% реальных задач.

Оператор 1: кавычки для точной фразы

«поиск по нику»

Кавычки заставляют Google искать точное совпадение фразы, а не набор слов в любом порядке. Без кавычек Google может показать страницы, где эти слова встречаются в разных абзацах и не связаны между собой.

Реальный пример: ты ищешь конкретную цитату. Без кавычек Google покажет всё, где эти слова хоть как-то мелькнули. С кавычками только страницы с точной фразой.

Оператор 2: site: для конкретного сайта

site:habr.com google dorks

Ищет только внутри указанного домена. Мощнее внутреннего поиска большинства сайтов, потому что Google индексирует то, что сам сайт может уже не показывать в своей выдаче.

Хитрость: можно указать не весь сайт, а поддомен или уровень. site:.gov.ru найдёт всё в зоне государственных сайтов. site:mail.ru только в почте mail.ru.

Оператор 3: filetype: для типа файла

filetype:pdf otchet

В google dorks этот оператор ищет только файлы указанного типа. Полезные варианты: pdf, doc, docx, xls, xlsx, ppt, pptx, txt, csv.

Реальный пример: ищешь отчёт компании. Запрос «годовой отчёт» filetype:pdf site:company.ru найдёт только PDF-документы, что почти всегда именно то, что нужно.

Синоним оператора: ext: (расширение). Работает одинаково.

Оператор 4: intitle: для поиска в заголовке

intitle:"вход в личный кабинет"

Ищет страницы, у которых указанная фраза стоит в теге <title> (то есть отображается на вкладке браузера и в выдаче Google).

Зачем нужно: заголовок обычно точно описывает содержимое страницы. Если в тексте слово может быть в любом контексте, то в заголовке оно ключевое.

Есть вариант allintitle: (все слова должны быть в заголовке), но на практике intitle: с кавычками работает предсказуемее.

Оператор 5: inurl: для поиска в адресе

inurl:admin site:.ru

Ищет страницы, у которых указанное слово содержится в URL. Полезен для поиска типовых страниц: логинов, админок, файлов конфигурации.

Реальный пример: нужно найти все статьи на сайте, которые содержат слово security прямо в адресе: site:blog.com inurl:security.

Оператор 6: intext: для поиска в тексте страницы

intext:"мой email адрес" @gmail.com

Ищет фразу именно в теле страницы (а не только в заголовке или URL). Помогает отсеять страницы, где слово встречается только в меню, шапке или футере.

Обычно Google и так ищет в тексте, но intext: даёт полный контроль над тем, что именно должно быть в основном контенте.

Оператор 7: минус для исключения

osint tools -github -pinterest

Минус в google dorks перед словом или конструкцией исключает результаты, где это встречается. Спасение, когда выдача забита однотипными результатами.

Реальный пример: ищешь обзоры инструмента, но выдача забита ссылками на официальный сайт. Добавь -site:officialname.com, и все результаты с этого домена уйдут.

Оператор 8: OR для расширения

"John Smith" (site:linkedin.com OR site:twitter.com OR site:github.com)

По умолчанию Google считает пробел между словами как «И» (все слова должны быть). OR (обязательно заглавными буквами) говорит «или».

Скобки для группировки. Без скобок Google может неправильно понять приоритет.

Оператор 9: звёздочка как подстановочный знак

"лучший * для osint"

Звёздочка заменяет одно любое слово. Полезно, когда помнишь фразу приблизительно.

Реальный пример: помнишь начало и конец цитаты, но забыл середину. «жизнь это * пустая * штука» найдёт варианты с любыми словами вместо звёздочек.

Оператор 10: две точки для диапазона чисел

ноутбук 30000..50000 руб

Ищет числа в указанном диапазоне. Работает для цен, лет, любых числовых значений.

Реальный пример: ищешь статьи именно за определённый год: osint news 2023..2024.

Продвинутое: комбинации операторов

По-настоящему сильные запросы google dorks получаются, когда несколько операторов работают вместе. Дальше несколько готовых «рецептов», которые я использую в работе.

Рецепт 1: найти чьё-то резюме

"CV" OR "резюме" "имя фамилия" filetype:pdf

Или конкретнее по сайту:

"имя фамилия" site:hh.ru OR site:linkedin.com

Если человек когда-то выкладывал CV в открытый доступ, найдётся.

Рецепт 2: документы конкретной компании

site:company.ru filetype:pdf OR filetype:doc OR filetype:xls

Все документы, которые Google проиндексировал на домене. Часто там оказывается больше, чем компания хочет показать.

Рецепт 3: упоминания email в открытом доступе

"user@company.com"

Кавычки обязательны, иначе Google разобьёт email и найдёт нерелевантное. Покажет все места, где этот адрес засветился в открытом интернете: комментарии, форумы, утечки, старые контактные страницы.

Рецепт 4: открытые директории на сервере

intitle:"index of" "parent directory" name

Некоторые серверы показывают содержимое папок при обращении напрямую. Если админ забыл настроить блокировку, содержимое индексируется Google. Может найтись что угодно: бэкапы, логи, документы, служебные файлы.

Важно: такие директории часто содержат чувствительную информацию. Смотреть на своих сайтах чтобы закрыть, на чужих смотреть можно, качать без разрешения нельзя.

Рецепт 5: страницы входа в админки

inurl:admin OR inurl:login OR inurl:cpanel site:target.com

Помогает найти административные интерфейсы на конкретном сайте. Для владельца это способ проверить, что не торчит наружу лишнего. Для пентестера в рамках согласованной работы точка входа для дальнейшего анализа.

Рецепт 6: утечки паролей и конфигов

filetype:env "DB_PASSWORD"

filetype:sql "INSERT INTO users"

filetype:log inurl:error

Классические поисковые запросы, которые находят файлы .env, дампы баз данных и логи, случайно оставленные в открытом доступе.

Юридический предохранитель: сам факт нахождения таких файлов через Google не является нарушением. Google их проиндексировал в открытом доступе. Но скачивание, использование данных из них, попытка авторизоваться найденными логинами это уже статья 272 УК РФ (неправомерный доступ к охраняемой законом компьютерной информации). Инструмент для защиты, а не для атаки.

Рецепт 7: слежка за упоминаниями

"название бренда" -site:mybrand.com

Все упоминания бренда в интернете, кроме собственного сайта. Полезно для маркетологов, специалистов по репутации, безопасников (проверить, не подделывают ли бренд).

Google Hacking Database (GHDB)

GHDB это открытая база готовых Google-запросов, собранная сообществом за много лет. Ведёт её Offensive Security (создатели Kali Linux).

Адрес: exploit-db.com/google-hacking-database

Там сотни готовых запросов, разбитых по категориям: уязвимые серверы, файлы с паролями, страницы с ошибками, открытые устройства (камеры, принтеры), утечки конфиденциальных документов.

Как безопасно пользоваться.

Разрешено: просматривать базу, изучать синтаксис, использовать для проверки собственных сайтов и в рамках согласованных пентестов.

Не разрешено: массово прогонять запросы по чужим сайтам, использовать найденные данные без разрешения владельца, публиковать конкретные утечки.

Если ты только начинаешь, идти сразу в GHDB не стоит. Сначала освой базовый синтаксис (то, что выше), поймёшь, как это работает, потом уже GHDB станет полезным справочником.

Юридический аспект в РФ

Google Dorks сами по себе легальны. Это часть публичного продукта Google. Использовать google dorks для поиска можно совершенно свободно.

Что законно всегда. Использовать любые операторы для поиска в Google. Искать информацию, которая уже в открытом доступе. Сохранять для себя скриншоты найденного. Использовать для проверки собственных сайтов и сервисов.

Где начинаются проблемы.

Статья 272 УК РФ (неправомерный доступ к компьютерной информации) применяется, когда: нашёл через дорк логин-пароль и попробовал войти. Скачал базу данных, к которой доступ подразумевался закрытым. Использовал найденную уязвимость для входа в систему.

152-ФЗ (о персональных данных) применяется, когда: собрал персональные данные людей (даже из открытых источников) и начал их обрабатывать без согласия. Опубликовал где-то найденные ФИО, телефоны, адреса. Продал или передал базу третьим лицам.

Статья 137 УК РФ (неприкосновенность частной жизни): публикация или распространение сведений о частной жизни лица без его согласия. Даже если сведения найдены в открытом доступе, их массовое распространение может подпадать под статью.

Практический вывод: искать можно почти всё. Использовать найденное нужно с осторожностью. Хранить и распространять чужие персональные данные без основания и согласия рискованно.

Если делаешь OSINT в рамках работы (проверка кандидата, аудит безопасности, журналистское расследование), убедись, что твоя цель попадает в разрешённые исключения 152-ФЗ (общественный интерес, трудовые отношения, судебная защита).

Как защитить свой сайт от дорков

Если у тебя есть сайт, регулярно проверяй его самого через Google Dorks. То, что нашёл ты через google dorks, может найти любой другой.

Базовая гигиена

Проверь, что торчит наружу:

site:твойсайт.ру filetype:pdf

site:твойсайт.ру filetype:doc

site:твойсайт.ру filetype:xls

site:твойсайт.ру inurl:admin

site:твойсайт.ру ext:log

site:твойсайт.ру ext:sql

site:твойсайт.ру intitle:"index of"

Если что-то из этого выдаёт результаты, а не должно, есть работа.

robots.txt

Файл robots.txt в корне сайта говорит поисковым роботам, что можно, а что нельзя индексировать. Пример:

User-agent: *

Disallow: /admin/

Disallow: /wp-content/uploads/private/

Disallow: /backups/

Disallow: *.sql

Disallow: *.log

Важное предупреждение: robots.txt это рекомендация, не защита. Хорошие боты (Google, Яндекс, Bing) её соблюдают. Плохие боты и злоумышленники просто читают этот файл, чтобы узнать, что интересного ты прячешь. Так что от индексации спасёт, а от целенаправленной атаки нет.

Meta noindex

Для отдельных страниц, которые не должны попадать в поиск, добавь в HTML:

<meta name="robots" content="noindex, nofollow">

Работает надёжнее, чем robots.txt, потому что бот сначала загрузит страницу, увидит инструкцию и не проиндексирует.

.htaccess и серверные ограничения

Если сайт на Apache, можно закрыть доступ к файлам определённых типов через .htaccess:

<FilesMatch "\.(env|sql|log|bak)$">

    Order Allow,Deny

    Deny from all

</FilesMatch>

Теперь эти файлы не откроются вообще ни для кого извне, независимо от того, что говорит Google.

Регулярная самопроверка

Раз в месяц-два прогоняй по своему сайту семь базовых дорков из начала раздела. Занимает 15 минут, спасает от многих проблем.

Что дальше

Google Dorks это один из фундаментальных навыков в OSINT. Дальше логично двигаться в сторону специализированных поисковиков: Shodan для интернета вещей, Censys для сертификатов, Wayback Machine для архивов. По каждому будет отдельная статья.

Стоит освоить и поиск по фото: обратный поиск изображений, распознавание лиц, поиск похожих изображений. Про это уже есть частичный разбор в статье о поиске по нику.

Автоматизация тоже помогает: SearchDiggity, GHDB Reborn, Recon-ng и другие инструменты прогоняют десятки дорков за раз.

Если что-то из этой статьи не сработало на практике или есть свои любимые рецепты, которых здесь нет: пиши в комментариях. Разберём.

Оставьте комментарий