Используем малоизвестные функции Google, чтобы найти сокрытое. Секреты Facebook Cherokee intitle все публикации пользователя следующая

Ошибки 

Поисковая система Google (www.google.com) предоставляет множество возможностей для поиска. Все эти возможности – неоценимый инструмент поиска для пользователя впервые попавшего в Интернет и в то же время еще более мощное оружие вторжения и разрушения в руках людей с злыми намерениями, включая не только хакеров, но и некомпьютерных преступников и даже террористов.
(9475 просмотров за 1 неделю)

Денис Батранков
denisNOSPAMixi.ru

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

Введение

Я, например, за 0.14 секунд нашел 1670 страниц!

2. Введем другую строку, например:

inurl:"auth_user_file.txt"

немного меньше, но этого уже достаточно для свободного скачивания и для подбора паролей (при помощи того же John The Ripper). Ниже я приведу еще ряд примеров.

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

Впервые информация о Google Hacking появилась на рассылке Bugtruck еще 3 года назад. В 2001 году эта тема была поднята одним французским студентом. Вот ссылка на это письмо http://www.cotse.com/mailing-lists/bugtraq/2001/Nov/0129.html . В нем приведены первые примеры таких запросов:

1) Index of /admin
2) Index of /password
3) Index of /mail
4) Index of / +banques +filetype:xls (for france...)
5) Index of / +passwd
6) Index of / password.txt

Нашумела эта тема в англо-читающей части Интернета совершенно недавно: после статьи Johnny Long вышедшей 7 мая 2004 года. Для более полного изучения Google Hacking советую зайти на сайт этого автора http://johnny.ihackstuff.com . В этой статье я лишь хочу ввести вас в курс дела.

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

Как работает Google.

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

Поиск при помощи знака +

Google исключает из поиска неважные, по его мнению, слова. Например вопросительные слова, предлоги и артикли в английском языке: например are, of, where. В русском языке Google, похоже, все слова считает важными. Если слово исключается из поиска, то Google пишет об этом. Чтобы Google начал искать страницы с этими словами перед ними нужно добавить знак + без пробела перед словом. Например:

ace +of base

Поиск при помощи знака –

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

рыбалка -водка

Поиск при помощи знака ~

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

Поиск точной фразы при помощи двойных кавычек

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

"подставка для книг"

Чтобы было хоть одно из указанных слов нужно указать логическую операцию явно: OR. Например:

книга безопасность OR защита

Кроме того в строке поиска можно использовать знак * для обозначения любого слова и. для обозначения любого символа.

Поиск слов при помощи дополнительных операторов

Существуют поисковые операторы, которые указываются в строке поиска в формате:

operator:search_term

Пробелы рядом с двоеточием не нужны. Если вы вставите пробел после двоеточия, то увидите сообщение об ошибке, а перед ним, то Google будет использовать их как обычную строку для поиска.
Существуют группы дополнительных операторов поиска: языки - указывают на каком языке вы хотите увидеть результат, дата - ограничивают результаты за прошедшие три, шесть или 12 месяцев, вхождения - указывают в каком месте документа нужно искать строку: везде, в заголовке, в URL, домены - производить поиск по указанному сайту или наоборот исключить его из поиска, безопасный поиск - блокируют сайты содержащие указанный тип информации и удаляют их со страниц результатов поиска.
При этом некоторые операторы не нуждаются в дополнительном параметре, например запрос "cache:www.google.com " может быть вызван, как полноценная строка для поиска, а некоторые ключевые слова, наоборот, требуют наличия слова для поиска, например " site:www.google.com help ". В свете нашей тематики посмотрим на следующие операторы:

Оператор

Описание

Требует дополнительного параметра?

поиск только по указанному в search_term сайту

поиск только в документах с типом search_term

найти страницы, содержащие search_term в заголовке

найти страницы, содержащие все слова search_term в заголовке

найти страницы, содержащие слово search_term в своем адресе

найти страницы, содержащие все слова search_term в своем адресе

Оператор site: ограничивает поиск только по указанному сайту, причем можно указать не только доменное имя, но и IP адрес. Например, введите:

Оператор filetype: ограничивает поиск в файлах определенного типа. Например:

На дату выхода статьи Googlе может искать внутри 13 различных форматов файлов:

  • Adobe Portable Document Format (pdf)
  • Adobe PostScript (ps)
  • Lotus 1-2-3 (wk1, wk2, wk3, wk4, wk5, wki, wks, wku)
  • Lotus WordPro (lwp)
  • MacWrite (mw)
  • Microsoft Excel (xls)
  • Microsoft PowerPoint (ppt)
  • Microsoft Word (doc)
  • Microsoft Works (wks, wps, wdb)
  • Microsoft Write (wri)
  • Rich Text Format (rtf)
  • Shockwave Flash (swf)
  • Text (ans, txt)

Оператор link: показывает все страницы, которые указывают на указанную страницу.
Наверно всегда интересно посмотреть, как много мест в Интернете знают о тебе. Пробуем:

Оператор cache: показывает версию сайта в кеше Google, как она выглядела, когда Google последний раз посещал эту страницу. Берем любой, часто меняющийся сайт и смотрим:

Оператор intitle: ищет указанное слово в заголовке страницы. Оператор allintitle: является расширением – он ищет все указанные несколько слов в заголовке страницы. Сравните:

intitle:полет на марс
intitle:полет intitle:на intitle:марс
allintitle:полет на марс

Оператор inurl: заставляет Google показать все страницы содержащие в URL указанную строку. Оператор allinurl: ищет все слова в URL. Например:

allinurl:acid acid_stat_alerts.php

Эта команда особенно полезна для тех, у кого нет SNORT – хоть смогут посмотреть, как он работает на реальной системе.

Методы взлома при помощи Google

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

Карта сайта

Можно использовать оператор site: для просмотра всех ссылок, которые Google нашел на сайте. Обычно страницы, которые динамически создаются скриптами, при помощи параметров не индексируются, поэтому некоторые сайты используют ISAPI фильтры, чтобы ссылки были не в виде /article.asp?num=10&dst=5 , а со слешами /article/abc/num/10/dst/5 . Это сделано для того, чтобы сайт вообще индексировался поисковиками.

Попробуем:

site:www.whitehouse.gov whitehouse

Google думает, что каждая страница сайта содержит слово whitehouse. Этим мы и пользуемся, чтобы получить все страницы.
Есть и упрощенный вариант:

site:whitehouse.gov

И что самое приятное - товарищи с whitehouse.gov даже не узнали, что мы посмотрели на структуру их сайта и даже заглянули в кэшированные странички, которые скачал себе Google. Это может быть использовано для изучения структуры сайтов и просмотра содержимого, оставаясь незамеченным до поры до времени.

Просмотр списка файлов в директориях

WEB серверы могут показывать списки директорий сервера вместо обычных HTML страниц. Обычно это делается для того, чтобы пользователи выбирали и скачивали определенные файлы. Однако во многих случаях у администраторов нет цели показать содержимое директории. Это возникает вследствие неправильной конфигурации сервера или отсутствия главной страницы в директории. В результате у хакера появляется шанс найти что-нибудь интересное в директории и воспользоваться этим для своих целей. Чтобы найти все такие страницы, достаточно заметить, что все они содержат в своем заголовке слова: index of. Но поскольку слова index of содержат не только такие страницы, то нужно уточнить запрос и учесть ключевые слова на самой странице, поэтому нам подойдут запросы вида:

intitle:index.of parent directory
intitle:index.of name size

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

Получение версии WEB сервера.

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

Apache1.3.29 - ProXad Server at trf296.free.fr Port 80

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

intitle:index.of server.at

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

intitle:index.of server.at site:ibm.com

Или наоборот ищем сервера работающие на определенной версии сервера:

intitle:index.of Apache/2.0.40 Server at

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

Также можно получить версию сервера, просматривая страницы, которые по умолчанию устанавливаются при установке свежей версии WEB сервера. Например, чтобы увидеть тестовую страницу Apache 1.2.6 достаточно набрать

intitle:Test.Page.for.Apache it.worked!

Мало того, некоторые операционные системы при установке сразу ставят и запускают WEB сервер. При этом некоторые пользователи даже об этом не подозревают. Естественно если вы увидите, что кто-то не удалил страницу по умолчанию, то логично предположить, что компьютер вообще не подвергался какой-либо настройке и, вероятно, уязвим для атак.

Попробуйте найти страницы IIS 5.0

allintitle:Welcome to Windows 2000 Internet Services

В случае с IIS можно определить не только версию сервера, но и версию Windows и Service Pack.

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

inurl:manual apache directives modules

Использование Google как CGI сканера.

CGI сканер или WEB сканер – утилита для поиска уязвимых скриптов и программ на сервере жертвы. Эти утилиты должны знать что искать, для этого у них есть целый список уязвимых файлов, например:

/cgi-bin/cgiemail/uargg.txt
/random_banner/index.cgi
/random_banner/index.cgi
/cgi-bin/mailview.cgi
/cgi-bin/maillist.cgi
/cgi-bin/userreg.cgi

/iissamples/ISSamples/SQLQHit.asp
/SiteServer/admin/findvserver.asp
/scripts/cphost.dll
/cgi-bin/finger.cgi

Мы может найти каждый из этих файлов с помощью Google, используя дополнительно с именем файла в строке поиска слова index of или inurl: мы можем найти сайты с уязвимыми скриптами, например:

allinurl:/random_banner/index.cgi

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

Как защитить себя от взлома через Google.

1. Не выкладывайте важные данные на WEB сервер.

Даже если вы выложили данные временно, то вы можете забыть об этом или кто-то успеет найти и забрать эти данные пока вы их не стерли. Не делайте так. Есть много других способов передачи данных, защищающих их от кражи.

2. Проверьте свой сайт.

Используйте описанные методы, для исследования своего сайта. Проверяйте периодически свой сайт новыми методами, которые появляются на сайте http://johnny.ihackstuff.com . Помните, что если вы хотите автоматизировать свои действия, то нужно получить специальное разрешение от Google. Если внимательно прочитать http://www.google.com/terms_of_service.html , то вы увидите фразу: You may not send automated queries of any sort to Google"s system without express permission in advance from Google.

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

Google позволяет удалить ссылку на свой сайт или его часть из своей базы, а также удалить страницы из кэша. Кроме того вы можете запретить поиск изображений на вашем сайте, запретить показывать короткие фрагменты страниц в результатах поиска Все возможности по удалению сайта описаны на сранице http://www.google.com/remove.html . Для этого вы должны подтвердить, что вы действительно владелец этого сайта или вставить на страницу теги или

4. Используйте robots.txt

Известно, что поисковые машины заглядывают в файл robots.txt лежащий в корне сайта и не индексируют те части, которые помечены словом Disallow . Вы можете воспользоваться этим, для того чтобы часть сайта не индексировалась. Например, чтобы не индексировался весь сайт, создайте файл robots.txt содержащий две строчки:

User-agent: *
Disallow: /

Что еще бывает

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

Приложение.

Немного сладкого. Попробуйте сами что-нибудь из следующего списка:

1. #mysql dump filetype:sql - поиск дампов баз данных mySQL
2. Host Vulnerability Summary Report - покажет вам какие уязвимости нашли другие люди
3. phpMyAdmin running on inurl:main.php - это заставит закрыть управление через панель phpmyadmin
4. not for distribution confidential
5. Request Details Control Tree Server Variables
6. Running in Child mode
7. This report was generated by WebLog
8. intitle:index.of cgiirc.config
9. filetype:conf inurl:firewall -intitle:cvs – может кому нужны кофигурационные файлы файрволов? :)
10. intitle:index.of finances.xls – мда....
11. intitle:Index of dbconvert.exe chats – логи icq чата
12. intext:Tobias Oetiker traffic analysis
13. intitle:Usage Statistics for Generated by Webalizer
14. intitle:statistics of advanced web statistics
15. intitle:index.of ws_ftp.ini – конфиг ws ftp
16. inurl:ipsec.secrets holds shared secrets – секретный ключ – хорошая находка
17. inurl:main.php Welcome to phpMyAdmin
18. inurl:server-info Apache Server Information
19. site:edu admin grades
20. ORA-00921: unexpected end of SQL command – получаем пути
21. intitle:index.of trillian.ini
22. intitle:Index of pwd.db
23. intitle:index.of people.lst
24. intitle:index.of master.passwd
25. inurl:passlist.txt
26. intitle:Index of .mysql_history
27. intitle:index of intext:globals.inc
28. intitle:index.of administrators.pwd
29. intitle:Index.of etc shadow
30. intitle:index.of secring.pgp
31. inurl:config.php dbuname dbpass
32. inurl:perform filetype:ini

  • "Hacking mit Google"
  • Учебный центр "Информзащита" http://www.itsecurity.ru - ведущий специализированный центр в области обучения информационной безопасности (Лицензия Московского Комитета образования № 015470, Государственная аккредитация № 004251). Единственный авторизованный учебный центр компаний Internet Security Systems и Clearswift на территории России и стран СНГ. Авторизованный учебный центр компании Microsoft (специализация Security). Программы обучения согласованы с Гостехкомиссией России, ФСБ (ФАПСИ). Свидетельства об обучении и государственные документы о повышении квалификации.

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

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

    В реализации задачи нам помогут 4 функции, о которых расскажу ниже:

    Поскольку речь идет о странице постов (Post), то в 99% случаев вам нужно будет редактировать файл шаблона single.php (либо тот, где в вашей теме задается формат вывода единичных статей). Функции используются в цикле Loop. Если же требуется убрать следующие / предыдущие записи в WordPress, то ищите соответствующий код в этом же файле шаблона и удаляйте (или закомментируйте) его.

    Функция next_post_link

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

    Синтаксис функции:

    • format (строка) — определяет общий формат генерируемой ссылки, где с помощью переменной %link можете задавать какой-то текст до и после нее. По умолчанию это просто линк со стрелочкой: ‘%link »’
    • link (строка) — анкор ссылки на следующую запись в WordPress, параметр %title подставляет ее заголовок.
    • in_same_term (boolean) — определяет будут ли рассматриваться в работе только элементы из текущей категории. Допустимые значения true / false (1 / 0), по умолчанию второй вариант.
    • excluded_terms (строка или массив) — укажите ID категорий блога, заметки из которых будут исключены из выборки. Допускается либо массив array(2, 5, 4) либо написание в строку через запятую. Полезно при работе с GoGetLinks , когда нужно запретить показ рекламных постов в данном блоке.
    • taxonomy (строка) — содержит название таксономии, из которой берутся следующие записи, если переменная $in_same_term = true.

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

    (следующая статья) %link →","%title", FALSE, 152) ?>

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

    Если вам нужно вывести в WordPress следующий пост из той же категории, то пригодится код ниже (при этом игнорируется раздел ID = 33):

    Когда хотите работать только с текущей конкретной таксономией, указывайте ее название в параметрах (например, testimonial):

    >", TRUE, " ", "testimonial"); ?>

    Функция previous_post_link

    Принцип работы с предыдущими записями WordPress аналогичен приведенному выше описанию, как и синтаксис. Выглядит так:

    Соответствующий код:

    • format (строка) — задает формат , за которую отвечает переменная %link (добавляйте текст/теги до и после нее). По умолчанию — ‘« %link’.
    • link (строка) — анкор линка, для вставки заголовка пишите %title.
    • in_same_term (boolean) — если значение true, то будут выводиться только объекты из того же раздела блога.
    • excluded_terms — убираем ненужные категории, указывайте ID через запятую (как строку) или массивом.
    • taxonomy (строка) — определяет таксономию выборки предыдущей записи в WordPress, если активен параметр $in_same_term.

    В одном из блогов использую:

    %link", "<< Предыдущая", TRUE, "33"); ?>

    Здесь делаем жирный шрифт + вместо заголовка элемента пишется определенная фраза (хотя лучше в перелинковке использовать тайтл). Выводятся объекты только текущей категории кроме той, у которой ID = 33.

    Функция the_post_navigation

    Данное решение объединяет обе ссылки на предыдущие и следующие записи WordPress. Это сделано для удобства, заменяет вызов двух функций одной. Если вам нужно получить на выходе HTML код без отображения, применяйте get_the_post_navigation() .

    Синтаксис the_post_navigation максимально простой:

    Где $args — набор разных не обязательных параметров:

    • $prev_text — анкор предыдущей ссылки (по умолчанию %title).
    • $next_text — аналогично текст линка но уже на следующий пост (изначально %title).
    • $in_same_term (true/false) — позволяет показывать статьи только из текущей таксономии.
    • $excluded_terms — исключаемые ID через запятую.
    • $taxonomy — название таксономии для выборки, если in_same_term = true.
    • $screen_reader_text — заголовок всего блока (по умолчанию — Post navigation).

    Таким образом, мы видим, что здесь имеются такие же переменные, как и в прошлых «единичных» функциях previous_post_link, next_post_link: анкоры, выборка по таксономиям и т.п. Использование решения просто сделает ваш код более компактным, да и нет смысла повторять одни и те же параметры два раза.

    Рассмотрим самую простую ситуацию, когда нужно вывести по элементам из той же категории:

    "следующий: %title", "next_text" => "предыдущий: %title", "in_same_term" => true, "taxonomy" => "category", "screen_reader_text" => "Еще почитать",)); ?>

    Функция posts_nav_link

    Если я правильно понимаю, то ее можно использовать не только для отображения в единичной записи, но и в категорий, заметках по месяцам, и т.п. То есть в single.php она будет отвечать за ссылки на предыдущие/следующие WordPress статьи, а в архивных — за навигацию по страницам.

    Синтаксис posts_nav_link:

    • $sep — разделитель, отображаемый между ссылками (раньше был::, сейчас -).
    • $prelabel — текст линка предыдущих элементов (по умолчанию: « Previous Page).
    • $nxtlabel — текст для следующей страницы/постов (Next Page »).

    Вот интересный пример с картинками вместо текстовых линков:

    " , "" ) ; ?>

    ", ""); ?>

    Только не забудьте загрузить изображения prev-img.png и next-img.png в директорию images в вашем . Думаю, аналогично добавляется и другой HTML код, если, допустим, нужно использовать какие-то DIV или class при выравнивании.

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

    Если есть какие-то вопросы по навигации между постами или дополнения, пишите ниже.

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

    Обзор некоторых веб-сервисов Google.

    Web res ults page.

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

    Google groups.

    Поиск по старым площадкам, форумам и группам USENET’а.

    Google image search.

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

    Настройки Google.

    Можно установить вид отображения основной страницы поиска;
    Язык для сужения результатов поиска (по умолчанию ищет по информацию на всех языках);
    SafeSearch — опция фильтрации, которая блокирует запрещенный определенными критериями контент;

    Day-to-day web searching — опция, которая должна быть выключена при поиски на предмет уязвимостей или важной информации (чтобы не сужать круг результатов);

    Language Tools.

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

    Основны поиска.

    • Запросы нечувствительны к регистру (запрос заглавными, строчными или их комбинацией даст одинаковый результат);
    • Синтаксис поиска по маске (wildcards) не похож на стандарты в программировании (по сути, есть только «*» для указания наличия любого слова на ее месте и «.» для любого символа вместо нее);
    • Иногда гугл игнорирует некоторые слова в поиске, которые считает нерелевантными (иногда об этом уведомляет). Публично правила, по которым движок определяет, что надо опустить, не публикуются;
    • Лимит запроса — 32 слова (если некоторые заменить на «*», то можно добавить еще слов, так как этот спецсимвол за слово не считается, хоть и будет учитываться в запросе);

    Логические операторы и специальные символы запросов: https://support.google.com/vault/answer/2474474?hl=ru и https://support.google.com/websearch/answer…f_topic=3081620 .

    Синтаксис URL адресов запросов.

    После www.google.com/search может идти ряд параметров, которые можно менять вручную, управляя результатами запроса. Пример структуры адреса: www.google.com/search?variable1=value&variable2=value, а специальные символы (кавычки, пробел и пр.) заменяются на знак процента (%) и их шестнадцатиричный (hex) код в таблице ascii (http://www.asciitable.com/).
    Чтобы узнать, какие переменные с какими параметрами можно использовать в URL адресе, достаточно зайти на www.google.com/advanced_search и ввести в поля нужные значения, затем смотреть результат в адресной строке.

    Продвинутые операторы поиска.

    Синтаксист крайне прост — operator:search_term.
    При использовании продвинутых операторов надо помнить следующее:

    • Между оператором и его значением нет пробелов;
    • Если значение состоит более, чем из 1 слова, то надо брать его в кавычки;
    • Логические операторы могут использоваться вместе с продвинутыми (но они не должны мешать разделяющему двоеточию);
    • Все операторы, начинающиеся с ALL не могут использоваться с другими операторами;

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

    intitle:Google — ищет страницы со словом Google в названии;
    intitle:»index of» — должна быть вся фраза «index of» в названии страницы;
    intitle:index.of private — фраза «index of» в названии страницы (точка была маской для любого символа) и слово «private» в любом места на страницы;

    Про сами продвинутые операторы можно найти информацию в статьях: https://habrahabr.ru/sandbox/46956/ и http://aiwaspb.ru/prodvizhenie/operatory-p…ykh-sistem.html.

    В тех статьях, однако, не указаны следующие операторы:

    numrange — позволяет искать числа в заданном диопазоне (разделенном дефисом или горизонтальным двоеточием). Пример: numrange:12344..12346 (хорошо подойдет для поиска числа 12345);
    stocks — позволяет делать поиск по информации об акциях (главное знать аббревиатуру интересующей компании); Пример: stocks:CSC. Не может быть использован в комбинации с другими операторами.

    Основы Google Hacking.

    Ниже будет предоставлены примеры простых запросов, которые могут помочь получить информацию о сервисах, серверах или найти определенные сервисы, серверы с нужной информацией или уязвимостью. Если из всех ниже перечисленных запросов убрать site:target.com, то они будут нацелены на глобальный поиск сайтов с данными, а не данных по одному сайту.

    Поиск листингов директорий: intitle:index.of name size site:target.com
    Поиск специальных директорий: intitle:index.of.admin site:target.com или intitle:index.of inurl:admin site:target.com (поиск директории admin)
    Поиск специальных файлов: intitle:index.of ws_ftp.log site:target.com или filetype:log inurl:ws_ftp.log site:target.com (поиск файла ws_ftp.log)
    Определение версии веб-сервера: intitle:index.of «server at» site:target.com
    Поиск сайтов с нужной версией веб-сервера: intitle:index.of «Apache/1.3.27 Server at»
    Поиск сайтов с возможной уязвимостью Directory Traversal: intitle:index.of inurl:»admin»

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

    Более узкозаточенные примеры запросов, которые хорошо подойдут под конкретные цели или просто будут полезны в образовательных целях, можно найти на проекте Google Hacking DataBase .

    Другие объекты поиска.

    Конфигурационные и log файлы.

    Конкретный запрос зависит от некоторых факторов.
    Известно имя файла и его расширение, тогда можно использовать операторы filetype и inurl для расширения и имени соответственно;
    Неизвестно имя, тогда надо искать через ключевые слова и фразы в самом файле;
    Неизвестно расширение, можно попробовать серию: inurl:conf OR inurl:config OR inurl:cfg и тд.

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

    Пример: filtetype:cfg OR filetype:conf mrtg «target[*]» -sample -cvs -example

    Данный запрос ищет файлы с расширениями cfg или conf в которых должно содержаться слово mrtg (ищем конфиг софта Multi Router Traffic Grapher), а такеж фраза «target[*]» (содержится в конфигах этой программы), и не должно быть слов sample, cvs, example (чтобы исклюать дефолтные конфигурации или файлы-болванки).

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

    Офисные документы.

    Это обычные файлы, которые ищутся также, как и вышеописанные, только ключевые слова и некоторые операторы можно подобрать поэффективней: через filetype указывать нужные расширения, через inurl можно искать имена (password, private, finance и пр.), а также указывать ключевые слова для поиска в самих документах (для расширения количества реузльтатов).

    Процесс поиска файлов.

    Не нужно ограничиваться одним составленным запросом, часто бывает, что два разных запроса под одну и ту же цель дают результаты разные по объему и иногда даже по содержанию. То есть запрос intitle:index.of ws_ftp.ini поидее вернет примерно то же, что и filetype:ini inurl:ws_ftp.ini.

    Однако inurl для этой цели часто бывает более эффективным оператором (filetype позволяет получить правильную версию файла, а также index.of позволит найти листинги, где будет нужный файл, но это не значит, что он будет доступен для чтения, чего избегает второй запрос). Это можно попытаться понять и самим, но порой легче дойти до этого экспериментально (особенно если первый вариант запроса не принес нужного результата).

    Поиск в базах данных.

    Точнее поиск происходит по индексированным частям информации из БД при ее «утечках».
    Для получения информации о самой БД или потенциального места проведения атаки SQLinj можно поискать проиндексированные страницы ошибок по конкретным фразам типа «SQL command not properly ended» или отедльным ключевым словам.

    А сегодня я расскажу еще про один поисковик, который используется пентестерами / хакерами — 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 насчитывает огромное количество дорков и уязвимостей. Для поиска дорков зайдите на сайт exploit-db.com и перейдите на вкладку «Google Hacking Database».

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


    Сайт Exploit-DB

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


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

    Еще один неплохой сайт — это google-dorking.com . Там зачастую можно найти интересные, новые дорки, которые не всегда попадают на 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 и скачать любой файл.

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

    Доброго времени суток. Сегодня поговорим о защите и доступе к камерам видеонаблюдения. Их достаточно много и используются они для разных целей. Как всегда будем использоваться стандартную базу, которая позволит нам находить такие камеры и подбирать к ним пароли. Теория Большинство устройств после установки никто не настраивает или обновляет. Поэтому наша целевая аудитория находиться под популярными портам 8000, 8080 и 554. Если нужно провести сканирование сети, то лучше сразу выделять эти порты. Способ№1 Для наглядного примера можно посмотреть интересные запросы в поисковиках Shodan и Сensys. Рассмотрим несколько наглядных примеров с простыми запросами. has_screenshot:true port:8000 // 183 результата; has_screenshot:true port:8080 // 1025 результатов; has_screenshot:true port:554 // 694 результата; Вот таким простым способом можно получить доступ к большому количеству открытых камер, которые размещены в интересных местах: магазинах, больницах, заправках и т.д. Рассмотрим для наглядности несколько интересных вариантов. Приемная у врача Частный где-то в глубине Европы Класс где-то в Челябинске Магазин женской одежды Таким простым способом можно найти достаточно много интересных объектов, к которым открыт доступ. Не забывайте, что можно применять фильтр country для получения данных по странам. has_screenshot:true port:8000 country:ru has_screenshot:true port:8080 country:ru has_screenshot:true port:554 country:ru Способ №2 Можно воспользоваться поиском стандартных социальных сетей. Для этого лучше использовать заголовки страниц при просмотре изображений с камер, вот такая подборка среди самых интересных вариантов: inurl:/view.shtml inurl:ViewerFrame?Mode= inurl:ViewerFrame?Mode=Refresh inurl:view/index.shtml inurl:view/view.shtml intitle:”live view” intitle:axis intitle:liveapplet all in title:”Network Camera Network Camera” intitle:axis intitle:”video server” intitle:liveapplet inurl:LvAppl intitle:”EvoCam” inurl:”webcam.html” intitle:”Live NetSnap Cam-Server feed” intitle:”Live View / - AXIS 206M” intitle:”Live View / - AXIS 206W” intitle:”Live View / - AXIS 210″ inurl:indexFrame.shtml Axis intitle:start inurl:cgistart intitle:”WJ-NT104 Main Page” intitle:snc-z20 inurl:home/ intitle:snc-cs3 inurl:home/ intitle:snc-rz30 inurl:home/ intitle:”sony network camera snc-p1″ intitle:”sony network camera snc-m1″ intitle:”Toshiba Network Camera” user login intitle:”i-Catcher Console - Web Monitor” Пожинаем плоды и находим аэропорт Офис компании Добавим в коллекцию еще порт и можно завершать Способ №3 Этот способ является целевым. Он применяется когда у нас есть либо одна точка и нужно подобрать пароль или мы хотим прогнать базу по стандартным паролям и найти валидные результаты. Для этих целей отлично подойдет Hydra. Для этого необходимо подготовить словар. Можно пробежаться и поискать стандартные пароли для роутеров. Давайте рассмотрим на конкретном примере. Есть модель камеры, DCS-2103. Она достаточно часто встречается. Работает она через порт 80. Давайте воспользуемся соответствующими данными и найдем необходимую информацию в shadan. Далее собираем все IP потенциальных целей, которые нам интересны. Далее формируем список. Собираем список паролей и будем все это использовать это с помощью утилиты hydra. Для этого нам необходимо добавить в папку словарь, список IP и выполнить вот такую команду: hydra -l admin -P pass.txt -o good.txt -t 16 -vV -M targets.txt http-get В корневой папке должен быть файл pass.txt с паролями, логин мы используем один admin с параметром -l, если нужно задать словарь для логинов, то необходимо добавит в корневую директорию файл и прописать его с параметром -L. Подобранные результаты будут сохраняться в файле good.txt. Список IP адресов нужно добавить в корневой каталог с файлом targets.txt. Последняя фраза в команде http-get отвечает за соединение через порт 80. Пример работы программы Ввод команды и начало работы В конце хочу добавит немного информации о сканировании. Чтобы получить номера сетей можно воспользоваться отличным сервисом. Далее эти сетки нужно проверить на наличие необходимых нам портов. Сканеров рекомендовать не буду, но скажу что стоить двигать в сторону таких и подобных сканеров, как masscan, vnc scanner и другие. Можно написать на основе известной утилиты nmap. Главное задача - просканировать диапазон и найти активные IP с необходимыми портами. Заключение Помните, что помимо стандартного просмотра можно делать еще фото, записывать видео и скачивать его себе. Также можно управлять камерой и поворачивать в нужные направления. А самое интересное - это возможность включать звуки и говорить на некоторых камерах. Что можно тут посоветовать? Ставить надежный пароль доступа и обязательно перебрасывать порты.