freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

PaGoDo:一款功能强大的被动式Google Dork
Alpha_h4ck 2020-09-24 23:39:39 357651

工具介绍

这个项目的主要目的是开发一个被动式的Google Dork脚本来收集互联网中存在潜在安全漏洞的Web页面以及应用程序。这个项目由两个部分组成,第一个就是ghdb_scraper.py脚本,该脚本可以检索Google Dork。而第二个就是pagodo.py,该脚本可以直接利用ghdb_scraper.py收集到的信息。

Google Dork是什么?

Google Hacking Database (GHDB) 目前由Offensive Securiy负责维护,如需获取详情,请点击【这里】。其中包含的是Google搜索合集,名叫Dorks,广大研究人员可以利用它来搜索存在安全问题得应用程序,而这些信息都是由Google的搜索Bot收集来的。

工具安装

该工具的所有脚本均基于Python 3.6+开发,广大研究人员可以使用下列命令将项目源码克隆至本地,并完成工具安装:

git clone https://github.com/opsdisk/pagodo.git

cd pagodo

virtualenv -p python3 .venv  # If using a virtual environment.

source .venv/bin/activate  # If using a virtual environment.

pip install -r requirements.txt

如果被Google屏蔽了怎么办?

如果你在工具的使用过程中,收到了HTTP 503错误,那说明Google已经将你检测为了Bot,并且会屏蔽你的IP地址一段时间。解决方案就是使用proxychains,proxychains4的安装命令如下:

apt install proxychains4 -y

通过编辑/etc/proxychains4.conf配置文件,可以将不同的代理服务器串联起来并进行循环查找。在下面的示例中,我们将使用使用不同的本地侦听端口(9050和9051),并设置2个不同的动态socks代理。

vim /etc/proxychains4.conf

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

在Python脚本中引入proxychains4之后,脚本将通过不同的IP地址来进行信息查询,在这里还可以使用-e参数来设定查询间隔:

proxychains4 python3 pagodo.py -g ALL_dorks.txt -s -e 17.0 -l 700 -j 1.1

ghdb_scraper.py

首先,ghdb_scraper.py需要一个包含当前所有Google Dorks的列表,Google Dorks的时间戳文件以及其他分类Dorks都已经在代码库中了。幸运的是,整个数据库都可以使用ghdb_scraper.py中的GET请求来拉去到本地,我们还可以将所有的Dork导出至一个文件中。

获取所有的Dork:

python3 ghdb_scraper.py -j -s

获取所有的Dork并将它们写入至单独类目中:

python3 ghdb_scraper.py -i

所有的Dork类目如下:

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

}

pagodo.py

如果包含Google Dork的文件已存在的话,我们就可以使用-g参数将文件传递给pagodo.py并开始收集存在漏洞的应用程序。pagodo.py脚本利用了google Python库来搜索Google站点,比如说:

intitle:"ListMail Login" admin -demo

-d参数可以用来指定一个目标域名:

site:example.com

如果在短时间内向Google发送太多请求的话,Google会将我们判定为机器人,并且会在一段时间内屏蔽我们的IP地址。为了让搜索查询看起来更加人性化,我们还做出了一些改进,以便在Google搜索查询中允许用户代理随机化。这个功能在该工具的v1.9.3版本中可用,允许我们随机选择用于每次搜索的不同用户代理,这将模拟大型企业环境中所使用的不同浏览器。

第二个改进就是每一次搜索查询的随机化间隔时间,我们可以使用-e选项来设定最小的时间间隔,并使用一个随机因子作为间隔时间的增加数量:

# Create an array of jitter values to add to delay, favoring longer search times.

self.jitter = numpy.random.uniform(low=self.delay, high=jitter * self.delay, size=(50,))

在后面的脚本中,代码将从抖动数组中选择一个随机时间并添加到延迟中:

pause_time = self.delay + random.choice(self.jitter)

这样一来,Google就不会屏蔽我们的IP地址了。

使用样例

python3 pagodo.py -d example.com -g dorks.txt -l 50 -s -e 35.0 -j 1.1
# google hacking # Google Dorks
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Alpha_h4ck 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1024 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录