Расширенный поиск и язык запросов. Язык запросов поисковой системы

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

Что такое гугл дорки?

Google Dork или Google Dork Queries (GDQ) — это набор запросов для выявления грубейших дыр в безопасности. Всего, что должным образом не спрятано от поисковых роботов.

Для краткости такие запросы называют гугл дорки или просто дорками, как и тех админов, чьи ресурсы удалось взломать с помощью GDQ.

Операторы Google

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

  • site - искать по конкретному сайту;
  • inurl - указать на то, что искомые слова должны быть частью адреса страницы / сайта;
  • intitle - оператор поиска в заголовке самой страниц;
  • ext или filetype - поиск файлов конкретного типа по расширению.

Также при создании Дорка надо знать несколько важных операторов, которые задаются спецсимволами.

  • | - оператор OR он же вертикальный слеш (логическое или) указывает, что нужно отобразить результаты, содержащие хотя бы одно из слов, перечисленных в запросе.
  • «» - оператор кавычки указывает на поиск точного соответствия.
  • — - оператор минус используется для исключения из выдачи результатов с указанными после минуса словами.
  • * - оператор звездочка, или астериск используют в качестве маски и означает «что угодно».

Где найти Гугл Дорки

Самые интересные дорки — свежие, а самые свежие — те, которые пентестер нашел сам. Правда, если слишком увлечетесь экспериментами, вас забанят в Google… до ввода капчи.

Если не хватает фантазии, можно попробовать найти свежие дорки в сети. Лучший сайт для поиска дорков — это Exploit-DB.

Онлайн-сервис Exploit-DB — это некоммерческий проект Offensive Security. Если кто не в курсе, данная компания занимается обучением в области информационной безопасности, а также предоставляет услуги пентеста (тестирования на проникновение).

База данных Exploit-DB насчитывает огромное количество дорков и уязвимостей. Для поиска дорков зайдите на сайт и перейдите на вкладку «Google Hacking Database».

База обновляется ежедневно. На верху вы можете найти последние добавления. С левой стороны дата добавления дорка, название и категория.


Сайт Exploit-DB

В нижней части вы найдете дорки отсортированные по категориям.


Сайт Exploit-DB
Сайт Exploit-DB

Еще один неплохой сайт — это . Там зачастую можно найти интересные, новые дорки, которые не всегда попадают на Exploit-DB.

Примеры использования Google Dorks

Вот примеры дорков. Экспериментируя с дорками, не забудьте про дисклеймер!

Данный материал носит информационный характер. Он адресован специалистам в области информационной безопасности и тем, кто собирается ими стать. Изложенная в статье информация предоставлена исключительно в ознакомительных целях. Ни редакция сайта www.сайт ни автор публикации не несут никакой ответственности за любой вред нанесенный материалом этой статьи.

Дорки для поиска проблем сайтов

Иногда бывает полезно изучить структуру сайта, получив список файлов на нем. Если сайт сделан на движке WordPress, то файл repair.php хранит названия других PHP-скриптов.

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

inurl:/maint/repair.php?repair=1

В результате вы получите список сайтов на WP, у которых можно посмотреть структуру через repair.php.


Изучаем структуру сайта на WP

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

inurl:"wp-content/uploads/file-manager/log.txt"

В нашем эксперименте простейший запрос позволил найти в логе прямую ссылку на бэкап и скачать его.


Находим ценную инфу в логах WP

Много ценной информации можно выудить из логов. Достаточно знать, как они выглядят и чем отличаются от массы других файлов. Например, опенсорсный интерфейс для БД под названием pgAdmin создает служебный файл pgadmin.log. В нем часто содержатся имена пользователей, названия колонок базы данных, внутренние адреса и подобное.

Находится лог элементарным запросом:

ext:log inurl:"/pgadmin"

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

К примеру, среди фреймворков для разработки веб-приложений популярен Symfony Standard Edition. При развертывании он автоматически создает в каталоге /app/config/ файл parameters.yml, где сохраняет название базы данных, а также логин и пароль.

Найти этот файл можно следующим запросом:

inurl:app/config/ intext:parameters.yml intitle:index.of


ф Еще один файл с паролями

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

Опенсорсная утилита UniFi API browser tool все чаще используется в корпоративной среде. Она применяется для управления сегментами беспроводных сетей, созданных по принципу «бесшовного Wi-Fi». То есть в схеме развертывания сети предприятия, в которой множество точек доступа управляются с единого контроллера.

Утилита предназначена для отображения данных, запрашиваемых через Ubiquiti’s UniFi Controller API. С ее помощью легко просматривать статистику, информацию о подключенных клиентах и прочие сведения о работе сервера через API UniFi.

Разработчик честно предупреждает: «Please do keep in mind this tool exposes A LOT OF the information available in your controller, so you should somehow restrict access to it! There are no security controls built into the tool…». Но кажется, многие не воспринимают эти предупреждения всерьез.

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

inurl:"/api/index.php" intitle:UniFi

Общее правило поиска: сначала определяем наиболее специфические слова, характеризующие выбранную цель. Если это лог-файл, то что его отличает от прочих логов? Если это файл с паролями, то где и в каком виде они могут храниться? Слова-маркеры всегда находятся в каком-то определенном месте - например, в заголовке веб-страницы или ее адресе. Ограничивая область поиска и задавая точные маркеры, вы получите сырую поисковую выдачу. Затем чистите ее от мусора, уточняя запрос.

Дорки для поиска открытых NAS

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

intitle:"Welcome to QNAP Turbo NAS"

выдаст список айпишников NAS производства QNAP. Останется лишь найти среди них слабозащищенный.

Облачный сервис QNAP (как и многие другие) имеет функцию предоставления общего доступа к файлам по закрытой ссылке. Проблема в том, что она не такая уж закрытая.

inurl:share.cgi?ssid=


Находим расшаренные файлы

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

Дорки для поиска IP-камер, медиасерверов и веб-админкок

Помимо NAS, с помощью продвинутых запросов к Google можно найти массу других сетевых устройств с управлением через веб-интерфейс.

Наиболее часто для этого используются сценарии CGI, поэтому файл main.cgi - перспективная цель. Однако встретиться он может где угодно, поэтому запрос лучше уточнить.

Например, добавив к нему типовой вызов?next_file. В итоге получим дорк вида:

inurl:"img/main.cgi?next_file"

Помимо камер, подобным образом находятся медиасерверы, открытые для всех и каждого. Особенно это касается серверов Twonky производства Lynx Technology. У них весьма узнаваемое имя и дефолтный порт 9000.

Для более чистой поисковой выдачи номер порта лучше указать в URL и исключить его из текстовой части веб-страниц. Запрос приобретает вид

intitle:"twonky server" inurl:"9000" -intext:"9000"


Видеотека по годам

Обычно Twonky-сервер - это огромная медиатека, расшаривающая контент через UPnP. Авторизация на них часто отключена «для удобства».

Дорки для поиска уязвимостей

Большие данные сейчас на слуху: считается, что, если к чему угодно добавить Big Data, оно волшебным образом станет работать лучше. В реальности настоящих специалистов по этой теме очень мало, а при дефолтной конфигурации большие данные приводят к большим уязвимостям.

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

intitle:"Namenode information" AND inurl:":50070/dfshealth.html"


Big Data? Big vulnerabilities!

Таким запросом с конкатенацией мы получаем поисковую выдачу со списком уязвимых систем на базе Hadoop. Можно прямо из браузера погулять по файловой системе HDFS и скачать любой файл.

Гугл Дорки — это мощный инструмент любого пентестера, о котором должен знать не только специалист в области информационной безопасности, но и обычный пользователь сети.

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

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

Базы данных

Языки запросов по базам данных включают в себя следующие примеры:

  • QL - объектно-ориентированный, относится к преемник Datalog.
  • Контекстный (CQL) - формальный язык представления запросов для информационно-поисковых систем (таких, как веб-индексы или библиографические каталоги).
  • CQLF (CODYASYL) - для CODASYL-TYPE баз данных.
  • Концепт-ориентированный язык запросов (COQL) - используется в соответствующих моделях (com). Он основан на принципах моделирования данных construpt и использует такие операции, как проекция и де-проекция многомерного анализа, аналитические операции и выводы.
  • DMX - используется к моделям
  • Datalog - это язык запросов к дедуктивным базам данных.
  • Gellish English - это язык, который может использоваться для запросов в базы данных Gellish English и позволяет вести диалоги (запросы и ответы), а также служит для информационного моделирования знаний.
  • HTSQL - переводит http-запросы на SQL.
  • ISBL - используется для PRTV (одной из первых реляционных систем управления базами данных).
  • LDAP - это протокол для запросов и служб каталогов, работающий по протоколу TCP/IP.
  • MDX - необходим для баз данных OLAP.

Поисковые системы

Язык поисковых запросов, в свою очередь, направлен на нахождение данных в поисковых системах. Он отличается тем, что часто запросы содержат обычный текст или гипертекст с дополнительным синтаксисом (например, «и»/«или»). Он значительно отличается от стандартных подобных языков, которые регулируются строгими правилами синтаксиса команд или содержат позиционные параметры.

Как классифицируются поисковые запросы?

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

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

Навигационные - это запросы, которые ищут один сайт или веб-страницу на определенную тему (например, YouTube).

Транзакционные - отражают намерение пользователя выполнить определенное действие, например, совершить покупку автомобиля или забронировать билет.

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

Как совершается поиск информации?

Стали известны интересные характеристики, касающиеся веб-поиска:

Средняя длина поискового запроса составляла 2,4 слов.

  • Около половины пользователей направляли один запрос, а чуть меньше трети пользователей делали три или более уникальных запросов один за одним.
  • Почти половина пользователей просматривала только первые одну-две страницы полученных результатов.
  • Менее 5% пользователей используют расширенные возможности поиска (например, выбор каких-либо определенных категорий или поиска в поиске).

Особенности пользовательских действий

Исследование также показало, что 19% запросов содержали географический термин (например, названия, почтовые индексы, географические объекты и т. д.). Еще стоит отметить, что помимо коротких запросов (то есть с несколькими условиями), часто присутствовали и предсказуемые схемы, по которым пользователи меняли свои поисковые фразы.

Также было установлено, что 33% запросов от одного пользователя повторяются, и в 87% случаев юзер будет нажимать на тот же результат. Это говорит о том, что многие пользователи используют повторные запросы, чтобы пересмотреть или заново найти информацию.

Частотные распределения запросов

Кроме того, специалистами было подтверждено, что частотные распределения запросов соответствуют степенному закону. То есть небольшая часть ключевых слов наблюдается в самом большом списке запросов (например, более 100 млн), и они наиболее часто используются. Остальные же фразы в рамках тех же тематик применяются реже и более индивидуально. Это явление получило название принципа Парето (или «правило 80-20»), и оно позволило поисковикам использовать такие методы оптимизации, как индексирование или разбиение базы данных, кэширование и упреждающую загрузку, а также дало возможность совершенствовать язык запросов поисковой системы.

В последние годы было выявлено, что средняя длина запросов неуклонно растет с течением времени. Так, среднестатистический запрос на английском языке стал длиннее. В этой связи компания Google внедрила обновление под названием «Колибри» (в августе 2013 года), которое способно обрабатывать длинные поисковые фразы с непротокольным, «разговорным» языком запроса (наподобие «где ближайшая кофейня?»).

Для более длинных запросов используется их обработка - они разбиваются на фразы, сформулированные стандартным языком, и выводятся ответы на разные части по отдельности.

Структурированные запросы

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

Что такое расширенный поиск?

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

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

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

Как читаются символы языка запросов?

Верхний и нижний регистр, а также некоторые (умляуты и акценты) не учитываются в поисках. Например, поиск по ключевому слову Citroen не найдет страницы, содержащие слово «Цитроён». Но некоторые лигатуры соответствуют отдельным буквам. Например, поиск по слову «аероскобинг» легко найдет страницы, содержащие «Эрескебинг» (АЭ = Æ).

Многие не алфавитно-цифровые символы постоянно игнорируются. Например, невозможно найти информацию по запросу, содержащему строку |L| (буква между двумя вертикальными полосами), несмотря на то что этот символ используется в некоторых шаблонах конвертирования. В результатах будут только данные с «ЛТ». Некоторые символы и фразы обрабатываются по-разному: запрос «кредит (Финансы)» отобразит статьи со словами «кредит» и «финансы», игнорируя скобки, даже если и существует статья с точным названием «кредит (Финансы)».

Существует множество функций, которые можно использовать с применением языка запросов.

Синтаксис

Язык запросов «Яндекса» и «Гугла» может использовать некоторые знаки препинания для уточнения поиска. В качестве примера можно привести фигурные скобки - {{поиск}}. Фраза, заключенная в них, будет подвергаться поиску целиком, без изменений.

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

Кроме того, все основные поисковые системы поддерживают символ «-» для логического «не», а также и/или. Исключение - термины, которые не могут быть разделены с помощью префикса дефисом или тире.

Неточное соответствие поисковой фразы отмечается символом ~. Например, если вы не помните точную формулировку термина или названия, вы можете указать ее в строке поиска с указанным символом, и сможете получить результаты, имеющие максимальное сходство.

Параметры специализированного поиска

Существуют и такие параметры поиска, как intitle, и incategory. Они представляют собой фильтры, отображаемые через двоеточие, в виде «фильтр: строка запроса». Строка запроса может содержать искомый термин или фразу, или же часть либо полное название страницы.

Функция «intitle: запрос» отдает приоритет в поисковой выдаче по названию, но также показывает и обычные результаты по содержанию заголовка. Несколько таких фильтров могут быть использованы одновременно. Как же использовать эту возможность?

Запрос вида «intitle: название аэропорта» выдаст все статьи, содержащие в заголовке название аэропорта. Если же сформулировать его как «парковка intitle: название аэропорта», то вы получите статьи с названием аэропорта в заголовке и с упоминанием парковки в тексте.

Поиск по фильтру «incategory: Категория» работает по принципу первоначальной выдачи статей, принадлежащих к определенной группе или списку страниц. Например, поисковой запрос по типу «Храмы incategory: История» будет выдавать результаты на тему истории храмов. Эту функцию также можно использовать как расширенную, задавая различные параметры.

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

Оператор «Плюс» (+):
Для ситуации, когда надо принудительно включить в текст какое-либо обязательное слово. Для этого используется оператор «+» перед обязательным словом. Предположим, если у нас запрос Терминатор 2, в результате запроса у нас появится информация и о фильме Терминатор, Терминатор 2, Терминатор 3. Чтобы оставить только информацию о фильме Терминатор 2, мы ставим «плюсик» перед двойкой: совсем немного про «Один дома I». Если же у нас запрос вида Терминатор +2.

Например:
Журнал +Мурзилка
Уравнение +Бернулли

Оператор site:

Например:
Музыка site:www.сайт
Книги site:ru

Оператор link:

Например:
link:www.сайт
Друзья link:www.сайт

Оператор диапозона (..):
Для тех, кому приходится работать с цифрами, Google дал возможность искать диапазоны между числами. Для того, чтобы найти все страницы, содержащие числа в неком диапазоне «от — до», надо между этими крайними значениями поставить две точки (..), то есть, оператор диапозона.

Например:
Купить книгу $100..$150

Исключение слов из запроса. Логическое «НЕ» (-):
Чтобы исключать какие-либо слова используются операторы исключения «минус» (-). То есть логическое «НЕ». Полезно в случаях, когда результаты прямого поиска слишком замусорены

Например:
Аквариум -группа — ищем все про аквариум исключая группу «Аквариум»

Поиск точной фразы («»):
Полезно для поиска конкретного текста (целой статьи по цитате). Для этого надо заключить запрос в кавычки (двойные кавычки).

Например:
«И темница тесна, и свобода одна И всегда на нее уповаем» — ищем балладу Высоцкого по одной строке

Примечание: Google позволяет вводить в строку запроса не более 32 слов.

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

Например:
Мастер и *
Леонардо * Винчи

Оператор cache:
Поисковая машина хранит версию текста, которая проиндексирована поисковым пауком, в специальном хранилище в формате, называемом кэшем. Кэшированную версию страницы можно извлечь, если оригинальная страница недоступна (например, не работает сервер, на котором она хранится). Кэшированная страница показывается в том виде, в котором она хранится в базе данных поисковой машины и сопровождается надписью наверху страницы о том, что это страница из кэша. Там же содержится информация о времени создания кэшированной версии. На странице из кэша ключевые слова запроса подсвечены, причем каждое слово для удобства пользователя подсвечено своим цветом. Можно создать запрос, который сразу будет выдавать кэшированную версию страницы с определенным адресом: cache:адрес_страницы, где вместо «адрес_страницы» — адрес сохраненной в кэше страницы. Если требуется найти в кэшированной странице какую либо информацию, надо после адреса страницы через пробел написать запрос этой информации.

Например:
cache:www.сайт
cache:www.сайт турниры

Надо помнить, что пробела между «:» и адресом страницы быть не должно!

Оператор filetype:
Как известно, Google индексирует не только html страницы. Если, к примеру, понадобилось найти какую-нибудь информацию в отличном от html типе файла, можно воспользоваться оператором filetype, который позволяет искать информацию в определенном типе файлов (html, pdf, doc, rtf…).

Например:
Спецификация html filetype:pdf
Сочинения filetype:rtf

Оператор info:
Оператор info позволяет увидеть информацию, которая известна Google об этой странице.

Например:
info:www.сайт
info:www.сайт

Оператор site:
Этот оператор ограничивает поиск конкретным доменом или сайтом. То есть, если сделать запрос: маркетинг разведка site:www.сайт, то результаты будут получены со страниц, содержащих слова «маркетинг» и «разведка» именно на сайте «www..

Например:
Музыка site:www.сайт
Книги site:ru

Оператор link:
Этот оператор позволяет увидеть все страницы, которые ссылаются на страницу, по которой сделан запрос. Так, запрос link:www.google.com выдаст страницы, в которых есть ссылки на google.com.

Например:
link:www.сайт
Друзья link:www.сайт

Оператор allintitle:
Если запрос начать с оператора allintitle, что переводится как «все в заголовке», то Google выдаст тексты, в которых все слова запроса содержатся в заголовках (внутри тега TITLE в HTML).

Например:
allintitle:Бесплатный софт
allintitle:Скачать музыкальные альбомы

Оператор intitle:
Показывает страницы, в которых только то слово, которое стоит непосредственно после оператора intitle, содержится в заголовке, а все остальные слова запроса могут быть в любом месте текста. Если поставить оператор intitle перед каждым словом запроса, это будет эквивалентно использованию оператора allintitle.

Например:
Программы intitle:Скачать
intitle:Бесплатно intitle:скачать софт

Оператор allinurl:
Если запрос начинается с оператора allinurl, то поиск ограничен теми документами, в которых все слова запроса содержатся только в адресе страницы, то есть в url.

Например:
allinurl:rus games
allinurl:books fantasy

Оператор inurl:
Слово, которые расположено непосредственно слитно с оператором inurl, будет найдено только в адресе страницы Интернета, а остальные слова – в любом месте такой страницы.

Например:
inurl:books скачать
inurl:games кряк

Оператор related:
Этот оператор описывает страницы, которые «похожи» на какую-то конкретную страницу. Так, запрос related:www.google.com выдаст страницы со схожей с Google тематикой.

Например:
related:www.сайт
related:www.сайт

Оператор define:
Этот оператор выполняет роль своего рода толкового словаря, позволяющего быстро получить определение того слова, которое введено после оператора.

Например:
define:Кенгуру
define:Материнская плата

Оператор поиска синонимов (~):
Если вы хотите найти тексты, содержащие не только ваши ключевые слова, но и их синонимы, то можно воспользоваться оператором «~» перед словом, к которому необходимо найти синонимы.

Например:
Виды ~метаморфоз
~Объектное ориентирование

Оператор диапазона (..):
Для тех, кому приходится работать с цифрами, Google дал возможность искать диапазоны между числами. Для того, чтобы найти все страницы, содержащие числа в неком диапазоне «от — до», надо между этими крайними значениями поставить две точки (..), то есть, оператор диапазона.

Например:
Купить книгу $100..$150
Численность населения 1913..1935

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

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

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

Популярные операторы поисковых запросов Google

Использование следующих операторов позволяет сделать процесс поиска необходимой информации более точным:

* site: ограничивает поиск определенным ресурсом

Пример: запрос site:example.com найдет всю информацию, которую содержит Google для сайта example.com.

* filetype: позволяет искать информацию в определенном типе файлов

Пример: запрос покажет весь список файлов на сайте, которые присутствуют в поисковике Google.

* inurl: — поиск в URL ресурса

Пример: запрос site:example.com inurl:admin — ищет панель администрирования на сайте.

* intitle: — поиск в названии страницы

Пример: запрос site: example.com intitle:»Index of» — ищет страницы на сайте example.com со списком файлов внутри

* cache: — поиск в кэше Google

Пример: запрос cache:example.com вернет все закэшированные в системе страницы ресурса example.com

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

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

Какие конфиденциальные данные могут быть найдены в сети?

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

* Домены третьего уровня исследуемого ресурса

Домены третьего уровня можно обнаружить с помощью слова «site:». К примеру, запрос вида site:*.example.com выведет все домены 3-го уровня для example.com. Такие запросы позволяют обнаружить скрытые ресурсы администрирования, системы контроля версий и сборки, а также другие приложения, имеющие веб-интерфейс.

* Скрытые файлы на сервере

В поисковую выдачу могут попасть различные части веб-приложения. Для их поиска можно воспользоваться запросом filetype:php site:example.com . Это позволяет обнаружить ранее недоступную функциональность в приложении, а также различную информацию о работе приложения.

* Резервные копии

Для поиска резервных копий используется ключевое слово filetype:. Для хранения резервных копий используются различные расширения файлов, но чаще всего используются расширения bak, tar.gz, sql. Пример запроса: site:*.example.com filetype:sql . Резервные копии часто содержат логины и пароли от административных интерфейсов, а также данные пользователей и исходный код веб-сайта.

* Ошибки работы веб-приложения

Текст ошибки может включать в себя различные данные о системных компонентах приложения (веб-сервер, база данных, платформа веб-приложения). Такая информация всегда очень интересна хакерам, так как позволяет получить больше информации об атакуемой системе и усовершенствовать свою атаку на ресурс. Пример запроса: site:example.com «warning» «error» .

* Логины и пароли

В результате взлома веб-приложения в сети Интернет могут появиться данные пользователей этого сервиса. Запрос filetype:txt «login» «password» позволяет найти файлы с логинами и паролями. Таким же образом можно проверить, не взломали ли вашу почту или какой-либо аккаунт. Просто сделайте запрос filetype:txt имя_пользователя_или_электронная_почта» .

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

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

Нужна помощь? Закажите консультацию специалистов по тестированию защищенности a1qa.

Как Google Dorks вошли в историю хакерства

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

Пример из практики №1. Утечка конфиденциальных документов на сайте банка

В рамках анализа защищенности официального сайта банка было обнаружено огромное количество pdf-документов. Все документы были обнаружены с помощью запроса «site:bank-site filetype:pdf». Интересным оказалось содержимое документов, так как там были планы помещений, в которых располагались отделения банка по всей стране. Это информация была бы очень интересна грабителям банков.

Пример из практики №2. Поиск данных платежных карт

Очень часто при взломе интернет-магазинов злоумышленники получают доступ к данным платежных карт пользователей. Для организации совместного доступа к этим данным злоумышленники используют публичные сервисы, которые индексируются Google. Пример запроса: «Card Number» «Expiration Date» «Card Type» filetype:txt.

Однако не стоит ограничиваться базовыми проверками. Доверьте комплексную оценку вашего продукта a1qa. Ведь хищение данных дешевле предотвратить, чем устранять последствия.

С тем, в операционной системе Windows мы разобрались в прошлый раз.

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

Напомню, что профили находятся в папке Пользователи Windows 7 (в английской версии Windows папка называется Users) и в папке Documents and Settings Windows XP.

Когда вы зайдете в папку Пользователи (Users ) или Documents and Settings , то, вероятно, кроме папок с именами созданный на компьютере учетных записей пользователей обнаружите папку Общие . В ней находятся настройки одинаковые для всех пользователей компьютера, а также общие папки и файлы. По моему наблюдению редко кто пользуется общим доступом к папкам и файлам, поэтому папка Общие для нас практически не представляет интереса.

После создания учетной записи пользователя на компьютере папка профиля еще не создается. Она появится позже, когда вы зайдете на компьютер под вновь созданной учетной записью. При этом название папки профиля всегда будет соответствовать имени учетной записи, но тут есть один важный момент — имя своей учетной записи вы всегда можете изменить через Панель управления , но при этом название папки вашего профиля останется без изменений !

Набор папок внутри папки профиля одинаков для всех пользователей. Он создается по умолчанию в момент первого входа в компьютер под новой учетной записью.

В операционной системе Windows существует специальный шаблон профиля пользователя. Именно он по умолчанию используется при создании новых учетных записей. Но где же этот шаблон находится?

Оказывается, что он расположен в этой же самой папке, но он скрыт от посторонних глаз.

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

Теперь в Проводнике отображаются скрытые и системные папки. Значки скрытых папок имеют немного «затуманенный» вид:

Вы видите, что появилось несколько новых папок. В моем случае это папки «All Users », «Default », «Default User » и «Все пользователи ». Без углубления в подробности скажу, что папки «Default User » и «Все пользователи » не являются папками в обычном понимании этого слова. Это своеобразные ярлыки (ссылки), которые создаются операционной системой автоматически и они предназначены для совместимости программ и различных версий операционной системы Windows. В Windows 7 тоже самое можно сказать и о папке «Documents and Settings », которая находится в корне диска C: и также является скрытой.

Итак, новый профиль создается в системе на основе параметров и настроек, находящихся в папках “Default ” и “All Users ”. Именно эти папки определяют настройки по умолчанию для новых профилей, а также настройки одинаковые для всех пользователей компьютера.

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

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

Давайте вновь установим галочку напротив пункта Скрывать защищенные системные файлы в Параметрах папок и поиска программы Проводник. Теперь в Проводнике будут отображаться только интересующие нас папки.

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

Всю личную информацию пользователь может хранить в своих папках-библиотеках и эти данные будут доступны только ему. Другие пользователи не будут иметь доступ к этой информации. Как вы теперь понимаете, в программе Проводник отображаются папки вашего профиля, соответственно и информация, которую вы поместите в Библиотеки , например, в папку «Видео » или «Изображения » фактически будет хранится в вашем профиле по адресу C:\Пользователи\Имя пользователя\Мои видеозаписи или C:\Пользователи\Имя пользователя\Изображения .

Тоже самое касается и других элементов, таких как папка «Загрузки » или (папка «Поиски »).

Кстати, обратите внимание, что вся информация (файлы и папки), которую вы храните на своем Рабочем столе, находится в папке «Desktop ». В этом вы легко сможете убедиться, заглянув в эту папку. Если вы из нее удалите файл, то он исчезнет и с Рабочего стола, и наоборот — скопированная в нее информация тут же появится и на Рабочем столе.

Итак, мы рассмотрели папки пользовательского профиля, с которыми мы имеем дело практически каждый день при работе на компьютере. Осталась еще одна очень важная папка, которая по умолчанию является скрытой – «AppData ». В этой папке находятся основные настройки пользовательского интерфейса Windows и программ, установленных на компьютере. О ней более подробно расскажу в