Використовуємо маловідомі функції Google, щоб знайти приховане

  1. Зміст статті Отримання приватних даних не завжди означає злом - іноді вони опубліковані в загальному...
  2. фільтруємо видачу
  3. користуємося бюрократією
  4. Збираємося в хмари
  5. підглядає конфіги
  6. Розкриваємо паролі від СУБД
  7. Не забуваємо про очевидне
  8. Стежимо за оновленнями
  9. Таргетіруемся і знову фільтруємо
  10. приклад наостанок

Зміст статті

Отримання приватних даних не завжди означає злом - іноді вони опубліковані в загальному доступі. Знання налаштувань Google і трохи кмітливості дозволять знайти масу цікавого - від номерів кредиток до документів ФБР.

До інтернету сьогодні підключають все підряд, мало піклуючись про обмеження доступу. Тому багато приватні дані стають здобиччю пошукових систем. Роботи- «павуки» вже не обмежуються веб-сторінками, а індексують весь доступний в Мережі контент і постійно додають в свої бази не призначену для розголошення інформацію. Дізнатися ці секрети просто - потрібно лише знати, як саме запитати про них.

шукаємо файли

В умілих руках Google швидко знайде все, що погано лежить в Мережі, - наприклад, особисту інформацію та файли для службового використання. Їх частенько ховають, як ключ під половиком: справжніх обмежень доступу немає, дані просто лежать на задвірках сайту, куди не ведуть посилання. Стандартний веб-інтерфейс Google надає лише базові настройки розширеного пошуку, але навіть їх буде достатньо.

Обмежити пошук по файлах певного виду в Google можна за допомогою двох операторів: filetype і ext. Перший задає формат, який пошуковик визначив по заголовку файлу, другий - розширення файлу, незалежно від його внутрішнього вмісту. При пошуку в обох випадках потрібно вказувати лише розширення. Спочатку оператор ext було зручно використовувати в тих випадках, коли специфічні ознаки формату у файлу були відсутні (наприклад, для пошуку конфігураційних файлів ini і cfg, всередині яких може бути все що завгодно). Зараз алгоритми Google змінилися, і видимої різниці між операторами немає - результати в більшості випадків виходять однакові.

Результати пошуку з filetype і ext тепер однакові

фільтруємо видачу

За замовчуванням слова і взагалі будь-які введені символи Google шукає по всіх файлів на проіндексованих сторінках. Обмежити область пошуку можна по домену верхнього рівня, конкретному сайту або за місцем розташування шуканої послідовності в самих файлах. Для перших двох варіантів використовується оператор site, після якого вводиться ім'я домену або обраного сайту. У третьому випадку цілий набір операторів дозволяє шукати інформацію в службових полях і метаданих. Наприклад, allinurl відшукає заданий в тілі самих посилань, allinanchor - в тексті, забезпеченому тегом <a name>, allintitle - в заголовках сторінок, allintext - в тілі сторінок.

Для кожного оператора є полегшена версія з більш коротким назвою (без приставки all). Різниця в тому, що allinurl відшукає посилання з усіма словами, а inurl - тільки з першим з них. Друге і наступні слова із схеми пошуку можуть зустрічатися на веб-сторінках де завгодно. Оператор inurl теж має відмінності від іншого схожого за змістом - site. Перший також дозволяє знаходити будь-яку послідовність символів на засланні на шуканий документ (наприклад, / cgi-bin /), що широко використовується для пошуку компонентів з відомими уразливими.

Спробуємо на практиці. Беремо фільтр allintext і робимо так, щоб запит видав список номерів і перевірочних кодів кредиток, термін дії яких закінчиться тільки через два роки (або коли їх власникам набридне годувати всіх підряд).

allintext: card number expiration date / 2017 cvv allintext: card number expiration date / 2017 cvv   275 тисяч актуальних кредиток, фейків і ханіпотов для любителів халяви 275 тисяч актуальних кредиток, фейків і ханіпотов для любителів халяви

Коли читаєш в новинах, що юний хакер «зламав сервери» Пентагону або NASA, вкравши секретні відомості, то в більшості випадків мова йде саме про таку елементарну техніку використання Google. Припустимо, нас цікавить список співробітників NASA і їх контактні дані. Напевно такий перелік є в електронному вигляді. Для зручності або через недогляд він може лежати і на самому сайті організації. Логічно, що в цьому випадку на нього не буде посилань, оскільки призначений він для внутрішнього використання. Які слова можуть бути в такому файлі? Як мінімум - поле «адреса». Перевірити всі ці припущення простіше простого.

Перевірити всі ці припущення простіше простого

Використовуючи два оператора, можна отримати «секретні» документи NASA за 0,36 с

пишемо

inurl: nasa.gov filetype: xlsx "address"

і отримуємо посилання на файли зі списками співробітників.

Адреси та телефони ключових співробітників NASA в файлі Excel

користуємося бюрократією

Подібні знахідки - приємна дрібниця. По-справжньому ж солідний улов забезпечує більш детальне знання операторів Google для веб-майстрів, самій Мережі та особливостей структури шуканого. Знаючи деталі, можна легко відфільтрувати видачу та уточнити властивості потрібних файлів, щоб в залишку отримати дійсно цінні дані. Забавно, що тут на допомогу приходить бюрократія. Вона плодить типові формулювання, за якими зручно шукати випадково просочилися в Мережу секретні відомості.

Наприклад, обов'язковий в канцелярії міністерства оборони США штамп Distribution statement означає стандартизовані обмеження на поширення документа. Літерою A відзначаються публічні релізи, в яких немає нічого секретного; B - призначені лише для внутрішнього використання, C - строго конфіденційні і так далі до F. Окремо стоїть літера X, якою відзначені особливо цінні відомості, що становлять державну таємницю вищого рівня. Нехай такі документи шукають ті, кому це належить робити за службовим обов'язком, а ми обмежимося файлами з літерою С. Згідно з директивою DoDI 5230.24, таке маркування присвоюється документів, що містять опис критично важливих технологій, що потрапляють під експортний контроль. Виявити настільки ретельно охоронювані відомості можна на сайтах в домені верхнього рівня .mil, виділеного для армії США.

"DISTRIBUTION STATEMENT C" inurl: navy.mil DISTRIBUTION STATEMENT C inurl: navy Приклад штампа в документі рівня секретності З

Дуже зручно, що в домені .mil зібрані тільки сайти з відомства МО США і його контрактних організацій. Пошукова видача з обмеженням по домену виходить виключно чистою, а заголовки - говорять самі за себе. Шукати подібним чином російські секрети практично марно: в доменах .ru і .рф панує хаос, та й назви багатьох систем озброєння звучать як ботанічні (ПП «Кипарис», САУ «Акація») або зовсім казкові (ТОС «Буратіно»).

Креслення з керівництва до навчально-бойового вертольоту TH-57С Sea Ranger

Уважно вивчивши будь-який документ з сайту в домені .mil, можна побачити й інші маркери для уточнення пошуку. Наприклад, відсилання до експортних обмежень «Sec 2751», по якій також зручно шукати цікаву технічну інформацію. Час від часу її вилучають з офіційних сайтів, де вона одного разу засвітилася, тому, якщо в пошуковій видачі не вдається перейти за цікавою посиланням, скористайся кешем Гугла (оператор cache) або сайтом Internet Archive.

Збираємося в хмари

Крім випадково розсекречених документів урядових відомств, в кеші Гугла часом спливають посилання на особисті файли з Dropbox і інших сервісів зберігання даних, які створюють «приватні» посилання на публічно опубліковані дані. З альтернативними і саморобними сервісами ще гірше. Наприклад, наступний запит знаходить дані всіх клієнтів Verizon, у яких на роутері встановлено і активно використовується FTP-сервер.

allinurl: ftp: // verizon.net

Таких розумників зараз знайшлося більше сорока тисяч, а навесні 2015 го їх було на порядок більше. Замість Verizon.net можна підставити ім'я будь-якого відомого провайдера, і чим він буде більш відомою, тим крупніше може бути улов. Через вбудований FTP-сервер видно файли на підключеному до маршрутизатора зовнішньому накопичувачі. Зазвичай це NAS для віддаленої роботи, персональне хмара або якась пірінгова качалка файлів. Весь вміст таких носіїв виявляється проіндексовано Google і іншими пошуковими системами, тому отримати доступ до зберігаються на зовнішніх дисках файлів можна за прямим посиланням.

Весь вміст таких носіїв виявляється проіндексовано Google і іншими пошуковими системами, тому отримати доступ до зберігаються на зовнішніх дисках файлів можна за прямим посиланням

Серийники, документи і ще сорок тисяч файлів з приватних хмар

підглядає конфіги

До повальної міграції в хмари як віддалених сховищ рулювали прості FTP-сервери, в яких теж вистачало вразливостей. Багато з них актуальні й досі. Наприклад, у популярної програми WS_FTP Professional дані про конфігурацію, призначених для користувача облікових записів і паролі зберігаються в файлі ws_ftp.ini. Його просто знайти і прочитати, оскільки всі записи зберігаються в текстовому форматі, а паролі шифруються алгоритмом Triple DES після мінімальної обфускаціі. У більшості версій досить просто відкинути перший байт.

У більшості версій досить просто відкинути перший байт

Один з файлів ws_ftp.ini у відкритому доступі

Розшифрувати такі паролі легко за допомогою утиліти WS_FTP Password Decryptor або безкоштовного веб-сервісу .

Розшифровка пароля займає близько секунди

Говорячи про злом довільного сайту, зазвичай мають на увазі отримання пароля з логів і резервних копій конфігураційних файлів CMS або додатків для електронної комерції. Якщо знаєш їх типову структуру, то легко зможеш вказати ключові слова. Рядки, подібні зустрічається в ws_ftp.ini, вкрай поширені. Наприклад, в Drupal і PrestaShop обов'язково є ідентифікатор користувача (UID) і відповідний йому пароль (pwd), а зберігається вся інформація в файлах з розширенням .inc. Шукати їх можна наступним чином:

"Pwd =" "UID =" ext: inc

Розкриваємо паролі від СУБД

У конфігураційних файлах SQL-серверів імена і адреси електронної пошти користувачів зберігаються у відкритому вигляді, а замість паролів записані їх хеши MD5. Розшифрувати їх, строго кажучи, неможливо, проте можна знайти відповідність серед відомих пар хеш - пароль.

Розшифрувати їх, строго кажучи, неможливо, проте можна знайти відповідність серед відомих пар хеш - пароль

Підбір пароля по хешу MD5

До сих пір зустрічаються СУБД, в яких не використовується навіть хешування паролів. Файли будь-який з них можна просто подивитися в браузері.

intext: DB_PASSWORD filetype: env intext: DB_PASSWORD filetype: env   Пароль до бази даних відкрито зберігається в файлі конфігурації Пароль до бази даних відкрито зберігається в файлі конфігурації

З появою на серверах Windows місце конфігураційних файлів частково зайняв реєстр. Шукати по його гілках можна точно таким же чином, використовуючи reg як тип файлу. Наприклад, ось так:

filetype: reg HKEY_CURRENT_USER "Password" = filetype: reg HKEY_CURRENT_USER Password =   Сервери з відкритими вікнами Сервери з відкритими вікнами

Не забуваємо про очевидне

Іноді дістатися до закритої інформації вдається за допомогою випадково відкритих і потрапили в поле зору Google даних. Ідеальний варіант - знайти список паролів в якомусь поширеному форматі. Зберігати відомості акаунтів в текстовому файлі, документі Word або електронної таблиці Excel можуть тільки відчайдушні люди, але як раз їх ніколи не бракує.

filetype: xls inurl: password filetype: xls inurl: password   Національний НДІ здоров'я ім Національний НДІ здоров'я ім. Чи Денхуея випадково засвітив список паролів

З одного боку, є маса коштів для запобігання подібних інцидентів. Необхідно вказувати адекватні права доступу в htaccess, патчить CMS, не використовувати ліві скрипти і закривати інші дірки. Існує також файл зі списком винятків robots.txt, який забороняє пошуковикам індексувати зазначені в ньому файли і каталоги. З іншого боку, якщо структура robots.txt на якомусь сервері відрізняється від стандартної, то відразу стає видно, що на ньому намагаються приховати.

txt на якомусь сервері відрізняється від стандартної, то відразу стає видно, що на ньому намагаються приховати

Білий дім вітає роботів

Список каталогів і файлів на будь-якому сайті передує стандартним написом index of. Оскільки для службових цілей вона повинна зустрічатися в заголовку, то має сенс обмежити її пошук оператором intitle. Цікаві речі знаходяться в каталогах / admin /, / personal /, / etc / і навіть / secret /.

Goolge допомагає зріти в корінь списку директорій

Стежимо за оновленнями

Дірявих систем сьогодні так багато, що проблема полягає вже не в тому, щоб знайти одну з них, а в тому, щоб вибрати найцікавіші (для вивчення та підвищення власної захищеності, зрозуміло). Приклади пошукових запитів, що розкривають чиїсь секрети, отримали назву Google dorks. Однією з перших утиліт автоматичної перевірки захищеності сайтів по відомим запитам в Google була McAfee SiteDigger , Але її остання версія вийшла в 2009 році. Зараз для спрощення пошуку вразливостей є маса інших засобів. Наприклад, SearchDiggity авторства Bishop Fox, а також поповнюються бази з підбіркою актуальних прикладів .

Актуальність тут вкрай важлива: старі уразливості закривають дуже повільно, але Google і його пошукова видача змінюються постійно. Є різниця навіть між фільтром «за останню секунду» (& tbs = qdr: s в кінці урла запиту) і «в реальному часі» (& tbs = qdr: 1).

Часовий інтервал дати останнього оновлення файлу у Google теж вказується неявно. Через графічний веб-інтерфейс можна вибрати один з типових періодів (година, день, тиждень і так далі) або задати діапазон дат, але такий спосіб не годиться для автоматизації.

По виду адресного рядка можна здогадатися лише про спосіб обмежити виведення результатів за допомогою конструкції & tbs = qdr :. Буква y після неї задає ліміт в один рік (& tbs = qdr: y), m показує результати за останній місяць, w - за тиждень, d - за минулий день, h - за останню годину, n - за хвилину, а s - за секунду. Найсвіжіші результати, тільки що стали відомими Google, знаходиться за допомогою фільтра & tbs = qdr: 1.

Якщо потрібно написати хитрий скрипт, то буде корисно знати, що діапазон дат задається в Google в юліанському форматі через оператор daterange. Наприклад, ось так можна знайти список документів PDF зі словом confidential, завантажених c 1 січня по 1 липня 2015 року.

confidential filetype: pdf daterange: 2457024-2457205

Діапазон вказується в форматі юліанських дат без урахування дробової частини. Переводити їх вручну з григоріанського календаря незручно. простіше скористатися конвертером дат .

Таргетіруемся і знову фільтруємо

Крім вказівки додаткових операторів в пошуковому запиті їх можна відсилати в тілі посилання. Наприклад, уточненню filetype: pdf відповідає конструкція as_filetype = pdf. Таким чином зручно задавати будь-які уточнення. Припустимо, видача результатів тільки з Республіки Гондурас задається додаванням в пошуковий URL конструкції cr = countryHN, а тільки з міста Бобруйськ - gcs = Bobruisk. У розділі для розробників можна знайти повний список .

Засоби автоматизації Google покликані полегшити життя, але часто додають проблем. Наприклад, по IP користувача через WHOIS визначається його місто. На підставі цієї інформації в Google не тільки балансується навантаження між серверами, але і міняються результати пошукової видачі. Залежно від регіону при одному і тому ж запиті на першу сторінку потраплять різні результати, а частина з них може зовсім виявитися прихованою. Відчути себе космополітом і шукати інформацію з будь-якої країни допоможе її двобуквений код після директиви gl = country. Наприклад, код Нідерландів - NL, а Ватикану і Північної Кореї в Google свій код не лежав.

Часто пошукова видача виявляється засміченому навіть після використання декількох просунутих фільтрів. В такому випадку легко уточнити запит, додавши до нього кілька слів-винятків (перед кожним з них ставиться знак мінус). Наприклад, зі словом Personal часто вживаються banking, names і tutorial. Тому більш чисті пошукові результати покаже не хрестоматійний приклад запиту, а уточнений:

intitle: "Index of / Personal /" -names -tutorial -banking

приклад наостанок

Досвідчений хакер відрізняється тим, що забезпечує себе всім необхідним самостійно. Наприклад, VPN - штука зручна, але або дорога, або тимчасова і з обмеженнями. Оформляти підписку для себе одного занадто накладно. Добре, що є групові підписки, а за допомогою Google легко стати частиною якоїсь групи. Для цього достатньо знайти файл конфігурації Cisco VPN, у якого досить нестандартне розширення PCF і впізнаваний шлях: Program Files \ Cisco Systems \ VPN Client \ Profiles. Один запит, і ти вливаєшся, наприклад, в дружний колектив Боннського університету.

filetype: pcf vpn OR Group filetype: pcf vpn OR Group   Вступити до Боннського університету значно складніше, ніж підключитися до їх VPN Вступити до Боннського університету значно складніше, ніж підключитися до їх VPN

Паролі зберігаються в зашифрованому вигляді, але Моріс Массар вже написав програму для їх розшифровки і надає її безкоштовно через thecampusgeeks.com .

За допомогою Google виконуються сотні різних типів атак і тестів на проникнення. Є безліч варіантів, які зачіпають популярні програми, основні формати баз даних, численні уразливості PHP, хмар і так далі. Якщо точно уявляти те, що шукаєш, це сильно спростить отримання потрібної інформації (особливо тієї, яку не планували робити загальним надбанням). Чи не Shodan єдиний живить цікавими ідеями, але будь-яка база проіндексованих мережних ресурсів!

Які слова можуть бути в такому файлі?