Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
pagodo — pagodo (Passive Google Dork) - Automatiza a raspagem e busca no Google Hacking Database | Kitploit
Ferramentas/GitHubGitHub/opsdisk/pagodo
OSINT (Inteligência de Fontes Abertas)ReconhecimentoAnálise de VulnerabilidadesColeta de InformaçõesSegurança Web
GitHubopsdisk/pagodo

pagodo

pagodo (Passive Google Dork) - Automatiza a raspagem e busca no Google Hacking Database

Ver Repositório
3.4k550há 11 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

pagodo - Google Dork Passivo

Introdução

pagodo automatiza a pesquisa no Google por páginas e aplicações web potencialmente vulneráveis na Internet. Substitui a realização manual de pesquisas Google dork por um navegador com interface gráfica web.

Existem 2 partes. A primeira é ghdb_scraper.py que recupera os últimos Google dorks e a segunda parte é pagodo.py que aproveita as informações coletadas por ghdb_scraper.py.

A biblioteca central de pesquisa do Google agora usa o mais flexível yagooglesearch em vez de googlesearch. Confira o README do yagooglesearch para uma explicação mais aprofundada das diferenças e capacidades da biblioteca.

Esta versão do pagodo também suporta suporte nativo a aplicações HTTP(S) e SOCKS5, então não é mais necessário envolvê-lo em uma ferramenta como proxychains4 se precisar de suporte a proxy. Você pode especificar múltiplos proxies para usar em modo round-robin fornecendo uma string separada por vírgulas de proxies usando a opção -p.

O que são Google dorks?

A Offensive Security mantém o Google Hacking Database (GHDB) encontrado aqui: https://www.exploit-db.com/google-hacking-database. É uma coleção de pesquisas do Google, chamadas dorks, que podem ser usadas para encontrar caixas potencialmente vulneráveis ou outras informações interessantes capturadas pelos bots de busca do Google.

Termos e Condições

Os termos e condições para pagodo são os mesmos termos e condições encontrados no yagooglesearch.

Este código é fornecido como está e você é totalmente responsável por como ele é usado. Raspar os resultados da Pesquisa Google pode violar seus Termos de Serviço. Outra biblioteca Python de pesquisa do Google teve algumas informações/discussões interessantes sobre isso:

  • Issue original
  • Uma resposta
  • O autor criou um Termos e Condições separado
  • ...que continha um link para este blog

O método preferido do Google é usar sua API.

Instalação

Os scripts são escritos para Python 3.6+. Clone o repositório git e instale os requisitos.

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

Para começar, o pagodo.py precisa de uma lista de todos os Google dorks atuais. O repositório contém um diretório dorks/ com os dorks atuais na última execução do ghdb_scraper.py. É aconselhável executar ghdb_scraper.py para obter os dados mais recentes antes de executar pagodo.py. O diretório dorks/ contém:

  • o arquivo all_google_dorks.txt que contém todos os Google dorks, um por linha
  • o arquivo all_google_dorks.json que é a resposta JSON do GHDB
  • Dorks de categorias individuais

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

Usando ghdb_scraper.py como script

Escreve todos os dorks em all_google_dorks.txt, all_google_dorks.json e categorias individuais se quiser mais dados contextuais sobre cada dork.

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

Usando ghdb_scraper como módulo

A função ghdb_scraper.retrieve_google_dorks() retorna um dicionário com a seguinte estrutura de dados:

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

Usando um shell Python (como python ou ipython) para explorar os dados:

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

Usando pagodo.py como script

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

Usando pagodo como módulo

A função pagodo.Pagodo.go() retorna um dicionário com a estrutura de dados abaixo (os dorks usados são exemplos fictícios):

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

Usando um shell Python (como python ou ipython) para explorar os dados:

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)

Ajustando Resultados

Escopo para um domínio específico

A opção -d pode ser usada para definir o escopo dos resultados para um domínio específico e funciona como o operador de pesquisa do Google:

root@kitploit:~
site:github.com

Tempo de espera entre pesquisas de Google dork

  • -i - Especifica o mínimo atraso entre pesquisas de dork, em segundos. Não defina um valor muito pequeno, ou seu IP receberá HTTP 429 rapidamente.
  • -x - Especifica o máximo atraso entre pesquisas de dork, em segundos. Não defina um valor muito grande ou as pesquisas demorarão muito.

Os valores fornecidos por -i e -x são usados para gerar uma lista de 20 tempos de espera aleatórios, que são selecionados aleatoriamente entre cada pesquisa de Google dork diferente.

Número de resultados a retornar

-m - O número máximo total de resultados de pesquisa a retornar por Google dork. Cada solicitação de pesquisa do Google pode retornar no máximo 100 resultados por vez, portanto, se você escolher -m 500, 5 consultas de pesquisa separadas terão que ser feitas para cada pesquisa de Google dork, o que aumentará o tempo necessário para concluir.

Salvar saída

-o [caminho/opcional/para/resultados.json] - Salva a saída em um arquivo JSON. Se você não especificar um nome de arquivo, um com data e hora será gerado.

-s [caminho/opcional/para/resultados.txt] - Salva URLs em um arquivo de texto. Se você não especificar um nome de arquivo, um com data e hora será gerado.

Salvar logs

--log [caminho/opcional/para/arquivo.log] - Salva logs no arquivo especificado. Se você não especificar um nome de arquivo, o arquivo padrão pagodo.py.log na raiz do diretório pagodo será usado.

O Google está me bloqueando!

Executar mais de 7300 solicitações de pesquisa ao Google o mais rápido possível simplesmente não funcionará. O Google, com razão, detectará como um bot e bloqueará seu IP por um período de tempo. Uma solução é usar um banco de proxies HTTP(S)/SOCKS e passá-los para o pagodo.

Suporte nativo a proxy

Passe uma string separada por vírgulas de proxies para o pagodo usando a opção -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

Você pode até diminuir os valores de -i e -x porque estará utilizando diferentes IPs de proxy. Os proxies passados para pagodo são selecionados por round robin.

Suporte a proxychains4

Outra solução é usar proxychains4 para fazer round robin das consultas.

Instale o proxychains4

root@kitploit:~
apt install proxychains4 -y

Edite o arquivo de configuração /etc/proxychains4.conf para fazer round robin das consultas através de diferentes servidores proxy. No exemplo abaixo, 2 proxies socks dinâmicos diferentes foram configurados com portas de escuta locais diferentes (9050 e 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

Coloque proxychains4 na frente do script pagodo.py e cada request de consulta passará por um proxy diferente (e, portanto, de um IP diferente).

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

Observe que isso pode não parecer natural para o Google se você:

  1. Simular "navegação" para google.com a partir do IP #1
  2. Fazer a primeira consulta de pesquisa a partir do IP #2
  3. Simular clique em "Avançar" para fazer a segunda consulta de pesquisa a partir do IP #3
  4. Simular clique em "Avançar" para fazer a terceira consulta de pesquisa a partir do IP #1

Por esse motivo, usar o suporte a proxy -p embutido é preferível porque, conforme documentação do yagooglesearch, o "proxy fornecido é usado durante todo o ciclo de vida da pesquisa para parecer mais humano, em vez de rotacionar vários proxies para diferentes partes da pesquisa."

Licença

Distribuído sob a Licença Pública Geral GNU v3.0. Consulte LICENSE para mais informações.

Contato

@opsdisk

Link do Projeto: https://github.com/opsdisk/pagodo

Baixar ferramenta