Google Dorks. Использование в OSINT

Привет, друг! Сегодня про Google Dorks. Я их уже неоднократно упоминал и показывал способы применения в некоторых ситуациях. Но, правильно будет систематизировать знания и разобрать эту тему целиком. Хотя бы потому что дорки это крайне полезная штука. Использовать возможности гугла без дорков конечно можно, но только если есть много свободного времени и больше совсем нечем заняться. Потому что это долго и не очень рационально. А, так как OSINT это история чувствительная к рациональному подходу, то в вопросе применения дорков стоит разобраться подробно и комплексно.

Как правильно гуглить. Использование дорков в OSINT

Общие правила использования Google Dorks

Для эффективного использования Google Dorks, да и Google в целом, нужно знать некоторые моменты, касающиеся работы самого гугла:

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

— пробел между словами. Для гугла это логическое «И». Т.е. он будет искать не только фразу целиком, но и каждое слово по отдельности, что, соответственно сильно увеличивает количество найденных результатов, и соответственно время которое ты потратишь пока перелопатишь их все. Для того чтобы гугл искал точное совпадение нужно поисковый запрос заключать в кавычки. И использовать это стоит всегда когда есть такая возможность, во-первых для получения более точных результатов, во-вторых для экономии твоего времени;

— Google умеет склонять слова. Соответственно нет никакого смысла делать это вручную, кроме случаев когда ты ищешь точное совпадение т.е. используешь кавычки;

— Google сортирует результаты по релевантности т.е. так как ему кажется наиболее актуальным. И мнение гугла не всегда совпадает с нашими потребностями. Конечно, чем точнее и корректнее мы сделаем запрос, тем выше в результатах будет нужный нам ответ. Но, при этом, всегда есть смысл изучить все предложенные нам результаты;

— Google ищет на том языке на котором сделан запрос. У него конечно получается корректно переводить, например названия, но рассчитывать на это особо не стоит. Потому наиболее правильный подход использовать в запросе тот язык, на котором нам нужен результат;

— на результат влияет история предыдущих запросов. А потому, самый простой вариант это использовать «режим инкогнито». А ещё лучше завести под осинтерские цели отдельный браузер. Например Brave, а в нём включить блокировку трэкеров, цифровых отпечатков и автоматическое удаление куков и данных сайтов при закрытии окна. Ну и входить в аккаунты гугла тоже не нужно. Потому что в такой ситуации, даже при включенной блокировке, гугл будет помнить историю запросов;

— на результаты влияет геопозиция. Это означает, что если ты ищешь какую-то информацию, например по Франции, то будет совсем не лишним если твой IP будет французским.

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

Использование Google Dorks

Теперь переходим к самим Google Dorks. Как, наверняка, тебе известно, их существует довольно много. Хорошая новость в том, что в осинте более-менее часто применяются только некоторые. И именно их, а точнее нюансы их использования, мы и будем разбирать.


Библиотека дорков: https://www.exploit-db.com/google-hacking-database


Дорк site:. Он нужен для поиска по содержимому конкретного сайта. В самом простом варианте после двоеточия мы просто указывает адрес интересующего нас сайта, а затем вписываем поисковый запрос.

Например:

site:hacker-basement.com osint 

И тут мы приходим к первому нюансу. Если информации на сайте много, а запрос не слишком конкретизированный, то и результатов гугл покажет целю кучу. В том числе картинки, видео, документы. В общем всё что найдёт и всё, что посчитает причастным к нашему запросу. Чтобы получить более точные результаты, нужно либо конкретизировать запрос, либо отфильтровать лишние результаты. А лучше всего сделать и то и другое.

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

site:hacker-basement.com "Полное руководство по osint"

Это связанно с тем что пробел для гугла это логическое «И». Т.е., когда мы пишем запрос он ищёт не только фразу целиком, но и каждое слово по отдельности. Более наглядный пример с поиском человека по ФИО. Если мы напишем Петров Алексей Николаевич, то он найдёт, в том числе кучу Петровых, кучу Алексеев и кучу Николаевичей. А если мы возьмём этот запрос в кавычки, то он будет искать исключительно Петровых Алексеев Николаевичей.

Кавычки хорошо работают если мы точно знаем что ищем, например как в случае с ФИО. Но, иногда бывает такое, что сразу сформулировать точный запрос трудно. Например если мы ищем информацию о каком-то событии или когда мы не знаем точное название того что нам нужно. Давай разберём такой пример:

site:hacker-basement.com руководство (osint OR humint) 

Это пример запроса для случая когда мы точно знаем часть вопроса. В нашем случае мы ищем руководство, но точно не знаем к чему именно руководство. Потому в скобках мы перечисляем варианты которые нас интересуют, используя оператор OR (можно использовать | ). Скобки здесь работают по тому же принципу, что и в математических уравнениях, для отделения нескольких элементов.

Ещё может быть вариант когда мы знаем только часть точного названия. В этой ситуации запрос будет выглядеть так:

site:hacker-basement.com "* руководство по osint"

Мы неизвестное нам слово заменили оператором *. Он означает «любое значение».

Во всех перечисленных примерах мы получили очень похожие результаты. Смысл этого всего в том, что исходя из имеющихся у нас исходных данных, мы подбираем поисковый запрос и комбинируем его с поисковыми операторами так, чтобы получить нужный ответ. Это, кстати, и есть основной принцип использования дорков в частности, и гугла в целом.

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

При использовании дорка site: не обязательно указывать весь адрес целиком. Ведь вполне может случится ситуация что мы точно не знаем на каком именно сайте есть нужная информация. Например:

список сотрудников site:*.gov.ru

По сути мы сейчас сказали гуглу найти всю информацию по запросу список сотрудников, на всех сайтах имеющих домен gov.ru. Но может возникнуть необходимость искать не просто информацию, а документ. Тогда нам стоит конкретизировать запрос добавив дорк filetype:. После которого указать интересующее нас расширение файла:

список сотрудников site:*.gov.ru filetype:pdf

— Про Google Dork filetype: подробно рассказывал в статье «Как искать и анализировать документы? Document OSINT»
— Справочник по всем существующим расширениям файлов ЗДЕСЬ
— Справочник по форматам файлов для Word, Excel и PowerPoint ЗДЕСЬ
— Список наиболее распространённых расширений индексируемых Google ЗДЕСЬ


Ещё один полезный оператор это знак — (минус). Он позволяет убрать результаты которые нам точно не нужны. Это может быть всё что угодно. Например можно убрать из результатов какой-то сайт, либо часть запроса. Например, если как в предыдущем случае мы ищем списки сотрудников, но нам точно не нужны сотрудники например Минфина, то запрос будет выглядеть так:

список сотрудников site:*.gov.ru filetype:pdf -minfin.gov.ru

Ещё один пример. Ты ищешь какого-то человека по фамилии, но у него есть однофамилец, который работает стоматологом. И в результатах поиска вылазит куча сайтов с отзывами, рекламой или чем-то подобным, связанным с его работой. Соответственно, самым простым решением будет убрать из результатов всё, где упоминается слова стоматолог, доктор, ну или другие синонимы :

"фамилия имя отчество" -стоматолог -доктор

При изучении сайтов есть ещё один полезный дорк, про который не стоит забывать, это cache:. При его использовании будет показана версия сайта которая была сохранена в1 кэше Google. Там же будут указаны время и дата когда эта версия туда попала. Посмотреть на сайт можно в трёх вариантах: полный вид, текстовая версия и исходный код.

cache:hacker-basement.com
Google Dorks

Это, кстати, не единственный способ увидеть кэшированную версию сайта. Когда ты что-то нагуглил, то в результатах поиска, возле адреса страницы есть небольшая стрелочка:

cache

Если на неё нажать, то появится кнопка «Сохранённая копия». Нажав на которую, мы также увидим версию сайта из кэша Google. Если мы изучаем сайт, проверять кэшированную версию однозначно стоит. Потому как иногда там попадается информация которой на актуальной версии сайта уже нет. Также это может помочь, если сайт сейчас не работает или нужная информация была удалена, но в результатах поиска мы её видим.

Ещё два полезных дорка которые нужно знать это inurl: и allinurl:. Как не трудно догадаться, суть из в том что они ищут по URL. А разница в том, что inurl: ищет только по одному слову, которое задаётся сразу после двоеточия. А allinurl: ищет по фразе которая задаётся после двоеточия.

Один из возможных вариантов применения. Например, ты нашёл электронную почту elonmusk@gmail.com. Логика использования в том, что люди очень часто в названии своей почты используют однотипные имена, которые часто совпадают с именами, которые использовались для регистрации на других сайтах, в том числе соцсетях.

Соответственно мы берем первую часть адреса почты и гуглим её, с использованием дорка inurl:.

inurl:elonmusk

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

Google Dorks

Дорк inurl: можно комбинировать с другими Google Dorks. Например мы можем поискать на каком-то конкретном сайте, указав его с дорком site:. Таким способом можно искать посты в соцсетях, например:

site:twitter.com inurl:elonmusk

В подобной ситуации очень помогают дополнительные инструменты гугла. Если нажать кнопку «Инструменты» то можно указать временной диапазон за который нам нужны результаты или вообще конкретную дату.

В случае с дорком allinurl:, если мы ищем социальные сети, то мы будем использовать полное имя. Если оно нам известно.

allinurl:Elon Musk

В результате мы получим все сайты, в URL которых, есть нужное нам имя. Тут нужно помнить, что этот дорк работает сам по себе и его нельзя комбинировать с другими дорками.

В предыдущем примере мы искали в URL. Но по такому же принципу можно искать и в заголовке страницы. Для этого используются дорки intitle: и allintitle:. Работает симметрично. intitle: ищет по тому слову которое указанно после двоеточия. Ну ещё, как вариант можно в кавычках указать запрос из нескольких слов. А allintitle: ищет по фразе которая указана после двоеточия.

Раз мы можем искать в URL и заголовке, то конечно же мы можем искать и по содержимому сайта. А если точнее по всему что находится между тегами <body>. Для этого используются дорки intext: и allintext:. Логика применения ровно такая же как и у двух предыдущих.

Ещё один полезный дорк который стоит упомянуть это AROUND(). Он помогает искать в ситуации когда мы точно не можем сформулировать весь запрос целиком, но знаем что между его элементами есть несколько слов. Предполагаемое, а точнее максимальное количество этих неизвестных слов мы, цифрой, вписываем в скобки. Например:

"иванов иван иванович" AROUND(3) улица

Ну и на последок. Есть прикольный конструктор дорков https://dorksearch.com. Там можно создавать свои комбинации Google Dorks, либо есть уже готовые заготовки на все случаи жизни. Подойдёт тем кому лень набирать дорки руками. А также тем кто хочет поглубже изучить тему, потому как вариантов, которые можно поразбирать и попробовать, там очень много.

dorksearch

Вывод

Как видишь одно лишь использование Google Dorks даёт нам огромные возможности для поиска. Конечно же, в рамках этой статьи, я показал не все возможные комбинации дорков, и даже не все дорки. Но такой цели и не ставилось. Главное что тебе нужно, это понять принцип как это работает и наработать практику. Потому как это именно та тема в которой решает опыт. А область применения практически безгранична. Начиная от поиска людей и изучения новостей, заканчивая поиском поддоменов, каталогов, паролей, админок или проверки на плагиат. Всё упирается в твою фантазию и желание. Потому не ограничивайся теми примерами которые я показал, а придумывай свои комбинации и области применения.

Твой Pulse.