Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
pagodo — pagodo (Passive Google Dork) - Automatisiert das Scraping und die Suche in der Google Hacking Database | Kitploit
Tools/GitHubGitHub/opsdisk/pagodo
OSINT (Open-Source-Intelligence)AufklärungSchwachstellenanalyseInformationsbeschaffungWebsicherheit
GitHubopsdisk/pagodo

pagodo

pagodo (Passive Google Dork) - Automatisiert das Scraping und die Suche in der Google Hacking Database

Repository anzeigen
3.4k550vor 11 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

pagodo - Passive Google Dork

Einführung

pagodo automatisiert die Google-Suche nach potenziell anfälligen Webseiten und Anwendungen im Internet. Es ersetzt die manuelle Durchführung von Google-Dork-Suchen mit einem Web-GUI-Browser.

Es gibt 2 Teile. Der erste ist ghdb_scraper.py, der die neuesten Google Dorks abruft, und der zweite Teil ist pagodo.py, der die von ghdb_scraper.py gesammelten Informationen nutzt.

Die zentrale Google-Suchbibliothek verwendet jetzt die flexiblere yagooglesearch anstelle von googlesearch. Schauen Sie sich die yagooglesearch README für eine ausführlichere Erklärung der Unterschiede und Fähigkeiten der Bibliothek an.

Diese Version von pagodo unterstützt auch native HTTP(S)- und SOCKS5-Anwendungsunterstützung, sodass Sie es nicht mehr in ein Tool wie proxychains4 einwickeln müssen, wenn Sie Proxy-Unterstützung benötigen. Sie können mehrere Proxys angeben, die im Round-Robin-Verfahren verwendet werden, indem Sie eine durch Kommas getrennte Zeichenfolge von Proxys mit dem Schalter -p angeben.

Was sind Google Dorks?

Offensive Security unterhält die Google Hacking Database (GHDB) unter: https://www.exploit-db.com/google-hacking-database. Es ist eine Sammlung von Google-Suchen, sogenannten Dorks, die verwendet werden können, um potenziell anfällige Systeme oder andere interessante Informationen zu finden, die von den Google-Suchbots aufgenommen werden.

Allgemeine Geschäftsbedingungen

Die Allgemeinen Geschäftsbedingungen für pagodo sind dieselben wie in yagooglesearch.

Dieser Code wird wie besehen bereitgestellt, und Sie tragen die volle Verantwortung für seine Verwendung. Das Scrapen von Google-Suchergebnissen kann gegen die Nutzungsbedingungen verstoßen. Eine andere Python-Google-Suchbibliothek hatte einige interessante Informationen/Diskussionen dazu:

  • Ursprüngliches Problem
  • Eine Antwort
  • Autor hat separate Allgemeine Geschäftsbedingungen erstellt
  • ...die einen Link zu diesem Blog enthielt

Die bevorzugte Methode von Google ist die Verwendung ihrer API.

Installation

Die Skripte sind für Python 3.6+ geschrieben. Klonen Sie das Git-Repository und installieren Sie die Anforderungen.

root@kitploit:~
git clone https://github.com/opsdisk/pagodo.git
cd pagodo
python3 -m venv .venv  # If using a virtual environment.
source .venv/bin/activate  # If using a virtual environment.
pip install --upgrade pip setuptools
pip install -r requirements.txt

ghdb_scraper.py

Zu Beginn benötigt pagodo.py eine Liste aller aktuellen Google Dorks. Das Repository enthält ein dorks/-Verzeichnis mit den aktuellen Dorks, als ghdb_scraper.py zuletzt ausgeführt wurde. Es wird empfohlen, ghdb_scraper.py auszuführen, um die frischesten Daten zu erhalten, bevor pagodo.py ausgeführt wird. Das dorks/-Verzeichnis enthält:

  • die Datei all_google_dorks.txt, die alle Google Dorks enthält, eine pro Zeile
  • die Datei all_google_dorks.json, die die JSON-Antwort von GHDB ist
  • Einzelne Kategorie-Dorks

Dork-Kategorien:

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",
}

Verwendung von ghdb_scraper.py als Skript

Schreiben Sie alle Dorks in all_google_dorks.txt, all_google_dorks.json und einzelne Kategorien, wenn Sie mehr kontextuelle Daten zu jedem Dork wünschen.

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

Verwendung von ghdb_scraper als Modul

Die Funktion ghdb_scraper.retrieve_google_dorks() gibt ein Wörterbuch mit der folgenden Datenstruktur zurück:

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

Verwenden einer Python-Shell (wie python oder ipython), um die Daten zu erkunden:

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

Verwendung von pagodo.py als Skript

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

Verwendung von pagodo als Modul

Die Funktion pagodo.Pagodo.go() gibt ein Wörterbuch mit der folgenden Datenstruktur zurück (verwendete Dorks sind erfundene Beispiele):

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",
}

Verwenden einer Python-Shell (wie python oder ipython), um die Daten zu erkunden:

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 = Auto-generate file name, otherwise pass a string for path and filename.
    save_urls_to_file=None,  # None = Auto-generate file name, otherwise pass a string for path and filename.
    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)

Ergebnisse optimieren

Eingrenzung auf eine bestimmte Domain

Der Schalter -d kann verwendet werden, um die Ergebnisse auf eine bestimmte Domain einzugrenzen, und fungiert als Google-Suchoperator:

root@kitploit:~
site:github.com

Wartezeit zwischen Google-Dork-Suchen

  • -i - Legen Sie die minimale Verzögerung zwischen Dork-Suchen in Sekunden fest. Machen Sie dies nicht zu klein, sonst wird Ihre IP schnell HTTP 429 erhalten.
  • -x - Legen Sie die maximale Verzögerung zwischen Dork-Suchen in Sekunden fest. Machen Sie dies nicht zu groß, sonst dauern die Suchen sehr lange.

Die von -i und -x bereitgestellten Werte werden verwendet, um eine Liste von 20 zufälligen Wartezeiten zu generieren, die zufällig zwischen den einzelnen verschiedenen Google-Dork-Suchen ausgewählt werden.

Anzahl der zurückzugebenden Ergebnisse

-m - Die maximale Anzahl von Suchergebnissen, die pro Google Dork zurückgegeben werden sollen. Jede Google-Suchanfrage kann maximal 100 Ergebnisse auf einmal abrufen. Wenn Sie also -m 500 wählen, müssen für jede Google-Dork-Suche 5 separate Suchanfragen gestellt werden, was die für den Abschluss benötigte Zeit erhöht.

Ausgabe speichern

-o [optionaler/pfad/zu/ergebnisse.json] - Speichert die Ausgabe in einer JSON-Datei. Wenn Sie keinen Dateinamen angeben, wird ein datumsgestempelter generiert.

-s [optionaler/pfad/zu/ergebnisse.txt] - Speichert URLs in einer Textdatei. Wenn Sie keinen Dateinamen angeben, wird ein datumsgestempelter generiert.

Logs speichern

--log [optionaler/pfad/zu/datei.log] - Speichert Logs in der angegebenen Datei. Wenn Sie keinen Dateinamen angeben, wird die Standarddatei pagodo.py.log im Stammverzeichnis des pagodo-Verzeichnisses verwendet.

Google blockiert mich!

Das Durchführen von über 7300 Suchanfragen an Google so schnell wie möglich wird einfach nicht funktionieren. Google wird es zu Recht als Bot erkennen und Ihre IP für einen bestimmten Zeitraum blockieren. Eine Lösung ist die Verwendung einer Reihe von HTTP(S)/SOCKS-Proxys und deren Übergabe an pagodo.

Native Proxy-Unterstützung

Übergeben Sie eine durch Kommas getrennte Zeichenfolge von Proxys an pagodo mit dem Schalter -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

Sie könnten sogar die Werte -i und -x verringern, da Sie verschiedene Proxy-IPs nutzen. Die an pagodo übergebenen Proxys werden im Round-Robin-Verfahren ausgewählt.

proxychains4-Unterstützung

Eine andere Lösung ist die Verwendung von proxychains4, um die Lookups im Round-Robin-Verfahren durchzuführen.

Installieren Sie proxychains4

root@kitploit:~
apt install proxychains4 -y

Bearbeiten Sie die Konfigurationsdatei /etc/proxychains4.conf, um die Lookups im Round-Robin-Verfahren über verschiedene Proxy-Server durchzuführen. Im folgenden Beispiel wurden 2 verschiedene dynamische SOCKS-Proxys mit unterschiedlichen lokalen Listening-Ports (9050 und 9051) eingerichtet.

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

Setzen Sie proxychains4 vor das Skript pagodo.py, und jede Anfrage wird über einen anderen Proxy (und somit von einer anderen IP-Adresse) ausgeführt.

root@kitploit:~
proxychains4 python pagodo.py -g dorks/all_google_dorks.txt -o [optional/path/to/results.json] -s [optional/path/to/results.txt]

Beachten Sie, dass dies für Google möglicherweise nicht natürlich erscheint, wenn Sie:

  1. Von IP #1 aus ein "Browser" zu google.com simulieren
  2. Die erste Suchanfrage von IP #2 aus stellen
  3. Simulieren, auf "Weiter" zu klicken, um die zweite Suchanfrage von IP #3 aus zu stellen
  4. Simulieren, auf "Weiter" zu klicken, um die dritte Suchanfrage von IP #1 aus zu stellen

Aus diesem Grund wird die integrierte Proxy-Unterstützung -p bevorzugt, da, wie in der yagooglesearch-Dokumentation angegeben, der "angegebene Proxy für den gesamten Lebenszyklus der Suche verwendet wird, um menschlicher zu wirken, anstatt während der verschiedenen Phasen der Suche durch verschiedene Proxys zu rotieren".

Lizenz

Verteilt unter der GNU General Public License v3.0. Siehe LICENSE für weitere Informationen.

Kontakt

@opsdisk

Projektlink: https://github.com/opsdisk/pagodo

Tool herunterladen