Модификаторы URL Google в OSINT
Привет, друг. Я часто говорю о том, что Google это лучший друг человека, занимающегося сбором и анализом информации. Фраза «гугл знает всё» появилась не просто так и не на пустом месте. Порой случаются ситуации когда целые расследования получается сделать используя лишь один Google. Это, конечно же, не означает, что он идеальный. Он, просто, такой какой есть и работать нам придётся с таким гуглом какой он есть. Поэтому, как и в случае с любым инструментом, эффективность использования зависит исключительно от наших навыков. Базовый уровень этих навыков это понимание механики поиска и использование поисковых операторов. Тех которые Google dorks. Об этом есть отдельная статья https://hacker-basement.com/2023/03/19/google-dorks-ispolzovanie-v-osint/. Кто не читал, стоит начать оттуда. А здесь мы поговорим про, так сказать, следующий уровень навыка гугления. Обобщённо это можно назвать «модификация URL Google».
Как и любой более продвинутый инструмент, модификаторы URL это специфическая штука, которая не везде и не всегда может применятся. Да и, скажем прямо, не везде оно нужно. Но там где применение уместно, это даёт очень интересные результаты. Просто потому, что появляется возможность использовать техники поиска, недоступные никаким другим способом, кроме модификации URL. А ещё если ты захочешь что-то типа автоматизации запросов сделать или просто интегрировать запросы в свой какой-нибудь скрипт, то эти знания автоматических переходят в раздел обязательных.
Механика процесса
Прежде чем начинать что-то использовать нужно, для начала, понять как это работает. Разобраться в механике процесса, так сказать. Почему это важно? И, кстати, не только в этой ситуации, а и в любой другой. Хотя тут всё тоже ситуативно, иногда можно особо не грузится и просто повторить за кем-то. Но в том-то и дело, что это можно именно иногда. А в большинстве случаев, если ты хочешь быть эффективным, требуется именно понимание механики.
Понимание принципов работы любого инструмента даёт свободу действий. Объясню. Если ты просто шаблонно повторяешь за кем-то какой-то алгоритм, то твои варианты действий будут ограничены теми ситуациями которые предусмотрел тот, кто показал тебе эти шаблоны действий т.е. ты ими просто скован. А вот если ты не поленился и разобрался как работает инструмент, который ты планируешь использовать, то шаблоны будут больше не нужны. Более того, видя ситуацию и понимая задачу, ты сам сможешь придумывать шаблоны и алгоритмы действий.
Конкретно в этой ситуации, с модификаторами URL, это важно потому что их там, во-первых не очень мало, во-вторых их нужно комбинировать. И то какие именно использовать комбинации зависит исключительно от сложившейся ситуации и намеченной цели, ну и от твоей фантазии. Короче. Вариантов комбинаций может быть чуть больше чем до хрена. Я конечно покажу некоторые актуальные комбинации. Но лучший вариант, именно для твоей ситуации тебе, скорее всего, придётся придумывать самому. Поэтому давай разбираться как это работает.
Стандартный URL для поиска в Google состоит из таких частей:
https://www.google.com — основная часть URL Google
/search — функция поиска
?q= — параметр, указывающий на запрос пользователя
И, уже собранный URL выглядит например так:
https://www.google.com/search?q=то+что+мы+хотим+искать
я думаю ты обратил внимание, что если наш запрос состоит из нескольких слов, то вместо пробела мы используем +. Если нам нужны кавычки то их тоже может использовать в URL. Либо ещё один вариант это использовать %22. Разницы нет. При этом, точно также, как и при обычном гуглении, это будет означать «искать точное совпадение».
А то, что мы написали после знака = это и есть наш запрос, т.е. в таком виде это тоже самое, если вписать этот запрос в поисковую строку Google.
Параметры URL Google
Для начала, разберем несколько общих параметров и базовых механик позволяющих влиять на сам процесс поиска. С помощью них мы будем подгонять результаты под наши задачи:
- num — параметр указывающий сколько результатов показывать на одной странице (максимум — 100)
Пример: https://www.google.com/search?q=osint&num=50
покажет 50 результатов на одной странице по запросу osint - hl — этим параметром можно изменить язык интерфейса Google
Пример:https://www.google.com/search?q=osint&hl=pl
в таком варианте интерфейс будет на польском языке - lr — ограничение поиска по языку содержимого. Формат ввода: lr=lang_[код языка]
Пример: https://www.google.com/search?q=osint&lr=lang_en
покажет результаты только на английском языке - gl — это параметр геолокации. Он позволяет имитировать поиск из указанной страны. Для указания страны используется двухбуквенный код страны по стандарту ISO 3166-1 т.е. тот же код, что и для доменов первого уровня (https://ru.wikipedia.org/wiki/ISO_3166-1)
Пример: https://www.google.com/search?q=osint&gl=jp
в таком варианте гугл покажет результаты по запросу osint, актуальные для Японии - cr — ограничить поиск по региону публикации т.е. в зависимости от страны где размещён контент. Формат: cr=country[код страны]
Пример: https://www.google.com/search?q=osint&cr=countryAU
покажет результаты по запросу osint, размещённые на сайтах из Австралии - tbs — Time-Based Search. Параметр управляющий временем поиска (по сути тоже самое что и дополнительные инструменты поиска). Применяется в формате: tbs=qdr:[время]. Вместо время нужно подставить одно из значений времени:
h — за последний час
d — за последний день
w — за последнюю неделю
m — за последний месяц
y — за последний год
Пример: https://www.google.com/search?q=news&tbs=qdr:d
покажет новости за последние сутки
Ещё один вариант использования параметра tbs это применение фильтра cdr. Применяется в формате: cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY . Позволяет указать диапазон дат, в котором нужно икать.
- as_q и as_epq — это параметры расширенного поиска:
as_q — означает что все слова должны присутствовать в результате, но не важно в какой очередности и где именно они расположены
as_epq — поиск точной фразы.
Пример: https://www.google.com/search?as_epq=павел+дуров&as_q=биография
даёт команду искать страницы где есть точная фраза «павел дуров» и при этом есть слово биография - as_occt — параметр указывающий где именно искать на странице. Значения:
any — искать в любом месте страницы
title — только в заголовке (тоже самое, что и дорк allintitle:)
url — только в URL (тоже самое, что и дорк allinurl:)
body — только в теле страницы (тоже самое, что и дорк allintext:)
Пример: https://www.google.com/search?as_occt=title&q=деанонимизация+пользователей
найдёт страницы в заголовке которых есть фраза «деанонимизация пользователей» - tbm — Type of Search. Параметр определяющий тип поиска т.е. указывающий что мы ищем не просто страницу, а какой-то определенный тип контента. Например видео, картинки, новости и т.д.
Значения параметра tbm:
Значение tbm | Описание | Пример URL |
---|---|---|
isch | Поиск изображений | https://www.google.com/search?q=osint&tbm=isch |
nws | Поиск новостей | https://www.google.com/search?q=osint&tbm=nws |
vid | Поиск видео | https://www.google.com/search?q=osint&tbm=vid |
shop | Поиск товаров (откроет магазин) | https://www.google.com/search?q=osint&tbm=shop |
bks | Поиск книг | https://www.google.com/search?q=osint&tbm=bks |
lcl | Поиск локальных результатов на картах | https://www.google.com/search?q=osint&tbm=lcl |
fin | Финансовые показатели (откроет Google Финансы) | https://www.google.com/search?q=amazon&tbm=fin |
pts | Поиск патентов (откроет Google Patents) | https://www.google.com/search?q=amazon&tbm=pts |
Есть ещё несколько ситуативных параметров которые влияют на адаптацию (ну или можно сказать персонализацию) результатов под нас:
- filter — параметр фильтрации одинаковых результатов. Если гугл видит одинаковый контент, он может какие-то из копий спрятать чтобы упростить нам задачу. Но, случается, что нам нужно это всё увидеть. Тогда и используется этот параметр.
Значения:
filter=0 — отображает все страницы, даже дублирующие
filter=1 — это значение по умолчанию, и оно убирает повторяющиеся результаты
Пример: https://www.google.com/search?q=python&filter=0 - source — очень ситуативный параметр, но знать про него нужно. Он позволяет указать устройство являющееся источником запроса:
source=web это компьютеры
source=mob это мобильные телефоны
Пример: https://www.google.com/search?q=osint&source=mob
Модификаторы URL и дорки
Функционал модификаторов можно совмещать с возможностями поисковых операторов. Для этого в самом запросе, который мы вписываем после ?q= мы должны поставить + и вписать дорк, в таком виде как мы это делали бы при обычном поиске из поисковой строки. Например:
https://www.google.com/search?q=osint+site:hacker-basement.com&tbm=isch
Тут мы дали команду искать картинки по запросу «osint» на сайте hacker-basement.com. Таким же способом мы можем использовать дорк filetype, inurl и intitle.
Способы применения в OSINT
Перечислять все возможные комбинации параметров URL никакого смысла я не вижу т.к. это долго и всё равно что-нибудь пропущу. Потому гораздо полезнее будет рассказать принцип по которому мы будем собирать URL Google для целей и задач OSINT.
Самое главное, в этой ситуации, это не пытаться объять необъятное и найти ответы сразу на все вопросы. Какие бы они не были. Это означает, что попытка создать идеальный запрос, сразу дающий нужный результат, скорее всего будет не очень удачной. Потому как, если у тебя с десяток параметров в запросе, то довольно трудно будет понять, что уводит в неправильную сторону. Соответственно, не нужно впихивать сразу все возможные параметры и фильтры. Добавляй их постепенно, потому как каждый раз, изучая полученные результаты, ты, во-первых, будешь понимать в правильном направлении ты двигаешься или тебя уносит не туда, во-вторых, большое количество небольших запросов повысит охват изученных источников, что увеличит шанс найти нужную информацию.
И если тебе кажется, что в итоге ты потратишь больше времени, то, возможно, оно так и есть. Только вот, с точки зрения эффективности, лучше потратить больше времени разбирая результаты нескольких разных запросов, чем пытаться понять почему один громоздкий запрос не дал крутых результатов.
Формирование URL Google
Теперь про сам процесс придумывания URL Google. Понятное дело, что с опытом весь этот процес будет происходить на автопилоте и почти моментально, но сейчас, чтобы было понятно, я разберу детально и пошагово.
Первое и очень важное, это мы должны чётко понять: что и про что мы ищем. Про что ищем, это наш объект изучения, например человек, организация, какие-то события, товар или бренд. А что мы ищем, это то какая информация нам нужна. Исходя из понимания этих двух моментов мы должны придумать ключевые слова и фразы, которые мы будем использовать в запросе.
Натупить на этом этапе сложно, но что-то упустить очень даже может получится. Поэтому лучше сразу записывать, чтобы потом не вспоминать. Давай разберем пример. Допустим мы изучаем человека. Очевидно, что в первую очередь ключевыми словами будет всё что позволяет точно идентифицировать именно этого человека. Например его ФИО, номер телефона, налоговый номер, почта и так далее. Иногда этого достаточно, вернее почти всегда. Потому как процесс очень понятный: по уникальным данным мы ищем упоминания нужного нам человека, при этом собирая информацию которой у нас ещё нет.
Но иногда придётся дополнить эти ключевые слова какими-то уточняющими. Для того чтобы конкретизировать, что именно нам нужно найти. Например это может быть привязка к местности, работа или профессия, биография или какие-то отдельные факты о нём, возможно привязка к какому-то событию или месту. Тут всё зависит от нашей конечной цели.
По такому же принципу мы действуем и во всех остальных случаях. Например если мы изучаем событие. Сначала мы определяем какие-то уникальные факторы позволяющие идентифицировать именно это событие. Например место и время, действующие лица, наступившие последствия и так далее. Затем определяем чего нам не хватает и таким способом подбираем ключевые слова.
Общий смысл в том, что исходя из имеющихся данных и намеченной цели мы подбираем общие и уточняющие ключевые слова, которые и будем использовать в запросах.
После того, когда мы разобрались с набором ключевых слов, нужно определится по каким параметрам, или комбинации параметров, мы будем фильтровать результаты поиска:
- по времени
- по стране и геопозиции
- по языку
- по типу контента
- по дополнительным ключевым словам
Ну и на заключительном этапе, мы может добавить какие-то дополнительные фильтры: по файлам, по домену, по месту расположения ключевых слов (в заголовке, в тексте, в URL).
Примеры использования URL Google в OSINT
Теперь давай, в качестве примера, соберём несколько URL Google и разберем как это всё может работать на практике.
Например, давай для наглядности представим, что нам понадобилось собрать информацию о выборах в США в целом, и о Трампе в частности. Теперь давай поэтапно придумывать как мы это будем делать.
Ключевые слова: «Trump», «Donald Trump«, «usa elections«.
Чтобы начать достаточно, а в процессе можно будет этот список дополнять, если будет такая необходимость. Кстати если изучаешь какое-то достаточно известное событие или личность можно сходить на https://trends.google.com и посмотреть какие запросы актуальны по нужной теме и эти запросы использовать в качестве ключевых слов. Потому как чем популярнее запрос, тем больше по этой теме будет информации.
Определившись с ключевыми словами, переходим к самому сбору информации. Для начала, так сказать для ознакомления с проблемой, можно просто собрать последние новости о нужном нам человеке и о нужном нам событии, например за последний месяц:
https://www.google.com/search?q="donald+trump"&tbm=nws&tbs=qdr:m
https://www.google.com/search?q=usa+elections&tbm=nws&tbs=qdr:m
Понятное дело, что использование для такой простой задачи модификаторов URL Google, выглядит не очень адекватно. Но для примера и целостности рассказа показывать простые примеры тоже нужно.
Следующее, что можно сделать, это найти свежие фотографии изучаемой личности. А с учётом контекста ситуации будет неплохо если это будут фото из США. Чтобы это реализовать мы будем использовать:
запрос: trump
tbm=isch — ищем только картинки
tbs=qdr:w — за последнюю неделю
cr=countryUS — опубликованные в США:
https://www.google.com/search?q=trump&tbm=isch&tbs=qdr:w&cr=countryUS
Ещё один возможный вариант поиска фотографий, это поиск ключевого слова в URL. Это не обязательно про человека, это про всё что угодно. Когда фотографии публикуют на сайте, их часто подписывают так, что бы было понятно что там за фото. Т.е. в случае с Трампом, есть вероятность, что фото так и будет подписано. Иногда это более универсальный способ поиска, чем поиск по расширению файла, потому как расширение мы за ранее не знаем, а значит придется проверять все возможные, а это дольше. Соответственно URL Google будет выглядеть так:
https://www.google.com/search?as_occt=url&q="trump"&tbm=isch
Параметр as_occt=url определяет что искать нужно только по URL адресам.
Но не стоит зацикливаться на фотографиях. Точно таким же способом, мы можем собрать просто обобщённую информацию или, например, новости. Опять же акцентируя внимание на нужной нам стране и теме:
https://www.google.com/search?q=trump&tbm=nws&tbs=qdr:w&cr=countryUS&gl=us
в этом примере мы также добавили параметр &gl=us чтобы Google показал нам результаты максимально актуальные для территории США. Тут логика в том, что если мы изучаем какое-то событие произошедшее на территории какой-то конкретной страны, то начинать такое изучение стоит с информации именно из этой страны. Дабы не забивать себе голову и не отвлекаться на изучение авторитетного мнения аналитиков, цитирующих Википедию.
Тут ещё стоит заметить, что если мы что-то ищем именно в разрезе какой-то конкретной страны, то наш поиск нужно настраивать не только по геопозиции, но и обязательно нужно учитывать язык этой страны. Например, если представить, что нам стало интересно, что там во Франции писали СМИ про Павла Дурова, сразу после его задержания, то можем это посмотреть так:
https://www.google.com/search?q=durov&tbm=nws&tbs=cdr:1,cd_min:8/24/2024,cd_max:9/1/2024&cr=countryFR&gl=fr&lr=lang_fr&hl=fr
В этом примере мы используем такие модификаторы:
&tbm=nws — мы хотим видеть именно новости
&tbs=cdr:1,cd_min:8/24/2024,cd_max:9/1/2024 — определяем временной промежуток, от дня задержания и берем запас в несколько дней после задержания
&cr=countryFR — указываем, что нас интересует только то, что было опубликовано во Франции
&gl=fr — имитируем поиск из Франции
&lr=lang_fr — указываем, что нас интересуют материалы только на французском
&hl=fr — и меняем язык интерфейса гугла тоже на французский (вот тут я очень не уверен, что это важно, но для максимальной идентичности — почему бы и нет)
Идём дальше. Ознакомившись с публикациями в СМИ, мы осознали, что так и не поняли где истина и что там реально предъявляют Дурову. Чтобы окончательно разобраться в этом вопросе нам пришло понимание, что неплохо было бы посмотреть что-то официальное. А что может быть официальнее чем решение суда? Соответственно, наш следующий запрос выглядел бы так:
https://www.google.com/search?q=durov+inurl:tribunal&cr=countryFR&gl=fr&lr=lang_fr&hl=fr
здесь мы добавили дорк inurl для того, чтобы найти все URLы в которых есть слово tribunal, что с французского означает суд. Это, кстати, пример дополнительного ключевого слова, необходимость в котором возникла в процессе поиска. Также мы убрали временные рамки, потому что нам не известно когда именно было вынесено и опубликовано решение. По языкам, понятное дело, оставили без изменений — везде французский. Ну и как итог — мы нашли прес-релиз Парижского суда с официальной информацией о интересующем нас событии.
В этом примере мы искали исходя из понимания, что нас интересует результат какого-то действия и мы точно знаем, что именно мы хотим найти т.е. официальную информацию. Может такое случится, и это будет случатся сильно чаще, что мы не будем понимать, что конкретно мы хотим увидеть. В такой ситуации придётся искать исходя из более обобщённых ключевых слов.
Например, если вернутся к выборам в США, то в качестве дополнительного ключевого слова можно использовать привязку к самому событию т.е.:
https://www.google.com/search?as_epq=donald+trump&as_q=elections&tbs=qdr:m&cr=countryUS&gl=en&lr=lang_en&hl=en
Здесь мы даём команду искать точное соответствие (as_epq=) по фамилии и имени, при этом указываем что в любом другом месте на странице (as_q=) должны упоминаться выборы. В этой ситуации elections будет дополнительным ключевым словом, и вот таких вот дополнительных ключей мы можем добавлять столько, сколько нужно чтобы получить нужный результат. Языковые параметры используем такие, чтобы получить результаты максимально релевантные для США.
Ну, например, с выборами мы определились. Теперь нам захотелось собрать больше информации и самом Трампе. Бегло просмотрев его соцсети и публикации о нём, мы можем обратить внимание, что он любитель называть свои компании и свою недвижку в честь себя. Дело его личное, может себе позволить. А нам это упрощает сбор информации. Потому как мы точно знаем одно из слов в названии, и используя его можно, как вариант, поискать информацию на картах. Для этого пишем:
https://www.google.com/search?q="trump"&tbm=lcl
Таким способом мы подрубили локальный поиск по карте. Теперь, когда мы будем прокручивать или масштабировать карту, то будет происходить поиск объектов и список будет меняться, в зависимости от того, какой участок местности мы сейчас смотрим.
Ну и разберем ещё несколько частных ситуаций.
Когда мы изучаем какой-то сайт, нам может понадобится, например, найти изображения на этом сайте, которые были опубликованы за прошедшие сутки, или за другой промежуток времени.
https://www.google.com/search?q=*+site:hacker-basement.com&tbm=isch&tbs=qdr:y
В этом примере мы поставили * в качестве запроса, потому как нам не важен контекст, а важен формат. С помощью оператора site: ограничили поиск конкретным сайтом. После этого дали команду &tbm=isch чтобы искать только изображения. И определили временной интервал, а именно последний год.
Ещё один полезный вариант применения это изучение товаров. Например нам понадобилось посмотреть кто там в Чехии и по чём продаёт айфоны. Пишем:
https://www.google.com/search?q=iphone&tbm=shop&gl=cz
Таким способом мы можем изучать как продажи товара, так и собирать информацию о продавцах.
По такому же принципу мы можем искать актуальные изображения какого-то бренда в целом или товара в частности:
https://www.google.com/search?q=balenciaga&tbm=isch&tbs=qdr:m
Итог
На этом можно заканчивать наше знакомство со способами модификации URL Google. Как видишь это очень универсальный инструмент, позволяющий очень тонко и акцентированно подходить к сбору информации. И хоть, на первый взгляд, оно выглядит достаточно заморочено, но если потыкать и немного разобраться, не будет абсолютно никакой сложности при применении всего этого.
Твой Pulse.