May 15, 2023

Google как средство взлома

🥷 Приветствую друзья

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

Полезные команды Google

Среди всех операторов расширенного поиска Google нас интересуют главным образом четыре:

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

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

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

Охота на пароли

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

ext:pwd (administrators | users | lamers | service)

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

inurl:_vti_pvt/administrators.pwd
Administrators.pwd

Это уже прицельный запрос. Он найдет файлы с говорящим названием на серверах с FrontPage Extensions. Одноименный редактор канул в Лету, но его серверные расширения еще используются. Данные учетных записей в administrators.pwd зашифрованы по алгоритму DES. Их можно вскрыть при помощи John the Ripper или одного из сервисов облачного перебора паролей.

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

inurl:"[FFFTP]" ext:ini
Пароли от FTP

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

Веб-разведка

Иногда бывает полезно изучить структуру сайта, получив список файлов на нем. Если сайт сделан на движке 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"

Лог pgAdmin

Бытует мнение, что открытый код — это безопасный код. Однако сама по себе открытость исходников означает лишь возможность исследовать их, и цели таких изысканий далеко не всегда благие. К примеру, среди фреймворков для разработки веб-приложений популярен Symfony Standard Edition. При развертывании он автоматически создает в каталоге /app/config/ файл parameters.yml, где сохраняет название базы данных, а также логин и пароль. Найти этот файл можно следующим запросом:

inurl:app/config/ intext:parameters.yml intitle:index.of
Лог pgAdmin

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

Опенсорсная утилита 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

WPA PSK, ключ приложения и пароль

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

NAS для нас

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

intitle:"Welcome to QNAP Turbo NAS"

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

Один из NAS

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

inurl:share.cgi?ssid=

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

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

Выводы

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


🔥 Спасибо за прочтение статьи, поставь реакцию под постом, для нас это показатель, что контент вам заходит

Остались вопросы? - @golden_hpa