Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
pagodo — pagodo (Passive Google Dork) - Автоматизация сбора и поиска по базе данных Google Hacking Database | Kitploit
Инструменты/GitHubGitHub/opsdisk/pagodo
OSINT (Разведка открытых источников)РазведкаАнализ уязвимостейСбор информацииВеб-безопасность
GitHubopsdisk/pagodo

pagodo

pagodo (Passive Google Dork) - Автоматизация сбора и поиска по базе данных Google Hacking Database

Репозиторий
3.4k55051 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

pagodo — Пассивный Google Dork

Введение

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

Инструмент состоит из двух частей. Первая — ghdb_scraper.py, которая загружает последние Google dorks, и вторая часть — pagodo.py, которая использует информацию, собранную ghdb_scraper.py.

Основная библиотека для поиска в Google теперь использует более гибкий yagooglesearch вместо googlesearch. Ознакомьтесь с README yagooglesearch для более подробного объяснения различий и возможностей библиотек.

Эта версия pagodo также поддерживает встроенную поддержку HTTP(S) и SOCKS5 прокси, поэтому больше не нужно оборачивать её в такие инструменты, как proxychains4, если требуется поддержка прокси. Вы можете указать несколько прокси для использования в циклическом порядке, передав строку прокси, разделённую запятыми, с помощью ключа -p.

Что такое Google dorks?

Offensive Security ведёт базу данных Google Hacking Database (GHDB), которая находится здесь: https://www.exploit-db.com/google-hacking-database. Это коллекция поисковых запросов Google, называемых dorks, которые можно использовать для поиска потенциально уязвимых систем или другой ценной информации, собранной поисковыми роботами Google.

Условия использования

Условия использования pagodo такие же, как и условия, указанные в yagooglesearch.

Этот код предоставляется «как есть», и вы полностью несёте ответственность за его использование. Сбор результатов поиска Google может нарушать их Условия предоставления услуг. Другая библиотека поиска Google на Python содержала интересную информацию/обсуждение по этому поводу:

  • Исходная проблема
  • Ответ
  • Автор создал отдельные Условия использования
  • ...которые содержали ссылку на этот блог

Предпочтительный метод Google — использовать их API.

Установка

Скрипты написаны для Python 3.6+. Клонируйте git-репозиторий и установите зависимости.

root@kitploit:~
git clone https://github.com/opsdisk/pagodo.git
cd pagodo
python3 -m venv .venv  # Если используете виртуальное окружение.
source .venv/bin/activate  # Если используете виртуальное окружение.
pip install --upgrade pip setuptools
pip install -r requirements.txt

ghdb_scraper.py

Для начала pagodo.py нужен список всех текущих Google dorks. В репозитории есть каталог dorks/ с актуальными dorks на момент последнего запуска ghdb_scraper.py. Рекомендуется запустить ghdb_scraper.py, чтобы получить самые свежие данные перед запуском pagodo.py. Каталог dorks/ содержит:

  • файл all_google_dorks.txt, который содержит все Google dorks, по одному на строку
  • файл all_google_dorks.json — это JSON-ответ от GHDB
  • отдельные dorks по категориям

Категории dorks:

root@kitploit:~
categories = {
    1: "Footholds",
    2: "File Containing Usernames",
    3: "Sensitives Directories",
    4: "Web Server Detection",
    5: "Vulnerable Files",
    6: "Vulnerable Servers",
    7: "Error Messages",
    8: "File Containing Juicy Info",
    9: "File Containing Passwords",
    10: "Sensitive Online Shopping Info",
    11: "Network or Vulnerability Data",
    12: "Pages Containing Login Portals",
    13: "Various Online devices",
    14: "Advisories and Vulnerabilities",
}

Использование ghdb_scraper.py как скрипта

Записывает все dorks в all_google_dorks.txt, all_google_dorks.json и отдельные категории, если вам нужны более контекстные данные по каждому dork.

root@kitploit:~
python ghdb_scraper.py -s -j -i

Использование ghdb_scraper как модуля

Функция ghdb_scraper.retrieve_google_dorks() возвращает словарь со следующей структурой данных:

root@kitploit:~
ghdb_dict = {
    "total_dorks": total_dorks,
    "extracted_dorks": extracted_dorks,
    "category_dict": category_dict,
}

Пример использования в оболочке Python (например, python или ipython) для изучения данных:

root@kitploit:~
import ghdb_scraper

dorks = ghdb_scraper.retrieve_google_dorks(save_all_dorks_to_file=True)
dorks.keys()
dorks["total_dorks"]

dorks["extracted_dorks"]

dorks["category_dict"].keys()

dorks["category_dict"][1]["category_name"]

pagodo.py

Использование pagodo.py как скрипта

root@kitploit:~
python pagodo.py -d example.com -g dorks.txt

Использование pagodo как модуля

Функция pagodo.Pagodo.go() возвращает словарь со следующей структурой данных (используемые dorks — вымышленные примеры):

root@kitploit:~
{
    "dorks": {
        "inurl:admin": {
            "urls_size": 3,
            "urls": [
                "https://github.com/marmelab/ng-admin",
                "https://github.com/settings/admin",
                "https://github.com/akveo/ngx-admin",
            ],
        },
        "inurl:gist": {
            "urls_size": 3,
            "urls": [
                "https://gist.github.com/",
                "https://gist.github.com/index",
                "https://github.com/defunkt/gist",
            ],
        },
    },
    "initiation_timestamp": "2021-08-27T11:35:30.638705",
    "completion_timestamp": "2021-08-27T11:36:42.349035",
}

Пример использования в оболочке Python (например, python или ipython) для изучения данных:

root@kitploit:~
import pagodo

pg = pagodo.Pagodo(
    google_dorks_file="dorks.txt",
    domain="github.com",
    max_search_result_urls_to_return_per_dork=3,
    save_pagodo_results_to_json_file=None,  # None = автоматическое создание имени файла, иначе передаётся строка с путём и именем файла.
    save_urls_to_file=None,  # None = автоматическое создание имени файла, иначе передаётся строка с путём и именем файла.
    verbosity=5,
)
pagodo_results_dict = pg.go()

pagodo_results_dict.keys()

pagodo_results_dict["initiation_timestamp"]

pagodo_results_dict["completion_timestamp"]

for key,value in pagodo_results_dict["dorks"].items():
    print(f"dork: {key}")
    for url in value["urls"]:
        print(url)

Настройка результатов

Ограничение домена

Ключ -d можно использовать для ограничения результатов конкретным доменом; он работает как оператор поиска Google:

root@kitploit:~
site:github.com

Время ожидания между поисковыми запросами Google dork

  • -i — задаёт минимальную задержку между поисками dork, в секундах. Не делайте её слишком маленькой, иначе ваш IP быстро получит HTTP 429.
  • -x — задаёт максимальную задержку между поисками dork, в секундах. Не делайте её слишком большой, иначе поиск будет занимать много времени.

Значения, указанные в -i и -x, используются для генерации списка из 20 случайных времён ожидания, которые выбираются случайным образом между разными поисками Google dork.

Количество возвращаемых результатов

-m — общее максимальное количество результатов поиска, возвращаемых для каждого Google dork. Один поисковый запрос Google может вернуть не более 100 результатов за раз, поэтому если вы укажете -m 500, для каждого Google dork потребуется выполнить 5 отдельных поисковых запросов, что увеличит общее время выполнения.

Сохранение вывода

-o [необязательный путь/к/результатам.json] — сохранить вывод в JSON-файл. Если вы не укажете имя файла, будет сгенерировано имя с отметкой даты и времени.

-s [необязательный путь/к/результатам.txt] — сохранить URL-адреса в текстовый файл. Если вы не укажете имя файла, будет сгенерировано имя с отметкой даты и времени.

Сохранение логов

--log [необязательный путь/к/файлу.log] — сохранить логи в указанный файл. Если вы не укажете имя файла, будет использоваться файл по умолчанию pagodo.py.log в корне каталога pagodo.

Google блокирует меня!

Выполнение более 7300 поисковых запросов к Google как можно быстрее просто не сработает. Google справедливо обнаружит это как бота и заблокирует ваш IP на определённый период времени. Одно из решений — использовать пул HTTP(S)/SOCKS прокси и передать их в pagodo.

Встроенная поддержка прокси

Передайте строку прокси, разделённую запятыми, в pagodo с помощью ключа -p.

root@kitploit:~
python pagodo.py -g dorks.txt -p http://myproxy:8080,socks5h://127.0.0.1:9050,socks5h://127.0.0.1:9051

Вы даже можете уменьшить значения -i и -x, потому что будете использовать разные IP-адреса прокси. Прокси, переданные в pagodo, выбираются по круговому принципу (round robin).

Поддержка proxychains4

Другое решение — использовать proxychains4 для циклического обхода запросов.

Установите proxychains4

root@kitploit:~
apt install proxychains4 -y

Отредактируйте файл конфигурации /etc/proxychains4.conf, чтобы циклически обходить запросы через разные прокси-серверы. В примере ниже настроены 2 разных динамических SOCKS-прокси с разными локальными портами прослушивания (9050 и 9051).

root@kitploit:~
vim /etc/proxychains4.conf
root@kitploit:~
round_robin
chain_len = 1
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
[ProxyList]
socks4 127.0.0.1 9050
socks4 127.0.0.1 9051

Поставьте proxychains4 перед скриптом pagodo.py, и каждый запрос будет проходить через другой прокси (и, следовательно, исходить с другого IP).

root@kitploit:~
proxychains4 python pagodo.py -g dorks/all_google_dorks.txt -o [необязательный путь/к/результатам.json] -s [необязательный путь/к/результатам.txt]

Обратите внимание, что это может показаться неестественным для Google, если вы:

  1. Имитируете «просмотр» google.com с IP #1
  2. Делаете первый поисковый запрос с IP #2
  3. Имитируете нажатие «Далее» для второго поискового запроса с IP #3
  4. Имитируете нажатие «Далее» для третьего поискового запроса с IP #1

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

Лицензия

Распространяется под лицензией GNU General Public License v3.0. Подробнее см. LICENSE.

Контакты

@opsdisk

Ссылка на проект: https://github.com/opsdisk/pagodo

Скачать инструмент