HT1133 DNS枚举工具 knockpy

本文共有4232个字,关键词:资产信息收集资产收集DNS枚举

HT1001 系列是信安之路推出的黑客工具使用系列,结合使用场景来对安全工具进行测试总结,并通过实战的方式介绍各类开源工具的功能和价值,后续完整内容将发布在信安之路的知识星球和成长平台,部分内容会通过信安之路公众号分享。

Knockpy 是一个 python3 工具,用来枚举子域名信息,项目地址:

https://github.com/guelfoweb/knock

安装方式:

git clone https://github.com/guelfoweb/knock.git && cd knock && pip3.8 install -r requirements.txt && python3.8 setup.py install

首次运行如图:

1.png

参数直接指定目标域名,这种方式是全扫描,攻击模式包括 http + dns 的方式,枚举结果如图:

knockpy xazlsec.com

2.png

该工具还集成了 virustotal 的子域名查询功能,需要编辑配置文件 knockpy/config.json:

3.png

从 GitHub 中 收集 ViruStotal Api Key 关键词(virustotal api key),收集到的 API KEY 如下:

2cf00d6ee87a4399367c8bc0689f20617cca583746cf5a48d49115e489ded469
1874aadf5b7ae8088049a3d3c22ca669bcbb6603f88cc4f1f15b8eeca25df176
4a4cbb62ef682d82998d241edd5797a4790ad977cce2302dba124d70dccd5693
213ec3ed8377258bc770968a0feafe725db8a1f9dcdd2a16c74d37282113c912
d1f6ccb1f5b2fd4713fe132b57c751531c200884ad9cdb371e15ee2e81bbf5d3
5f627d0bff42fe1be2b5df5d5467f6596db481346d873b00fd18dc0c39c3d0c9
c263e7227e01d865b04bd32a3670ea671aa82a85930780a1d6130afbc5d675b6
3c052e9a7339f3a73f00bd67baea747e47f59ee6c1596e59590fd953d00ce519
95c948ffe8c50d27b0087b71c04c1b0ccf074007fe7fa0bc48bf4094063d7088
83af3fd41034cf9546ef08684d1f3d89c603d30d6af8176e842db2042e8807ff
53021352fb448ae7dba2c67fed247a1724cc84154a830f34164a73e78e13cfa8
da7cc2796655432b01de46d4bb20856b5ba4cd2405b36a47f3304e1fc7223bcf
cf8186ab56089778d23dd51de33b92ac8e664d067f501395b56d219542cbfab3
ac9eed711ba588d4ecfa6371821f13eedaa68e19d648869af18420c0463f6bcf
dbd8762dded803419d94e689928f6c23950ac43820a5810a65652d69d3879030
0df5d77154554b2d12a0a501ec0bc8394e34247aa05f6ec3620e98cd1a5b0c9d
2b216836dde92f155d128f683ef784836f56a9bcb442b749959a5b3ec9e83da1

写一个小脚本验证一下,github 上泄漏的 KEY 比较多,这里就简单找几个试试,其他的大家自行查找:

import requests

url = 'https://www.virustotal.com/vtapi/v2/domain/report'

for apikey in open("key.txt"):
    params = {'apikey': apikey.strip(), 'domain': 'xazlsec.com'}
    response = requests.get(url, params=params)
    print apikey.strip() + "|" + str(response.text)

测试发现如下key有效:

2cf00d6ee87a4399367c8bc0689f20617cca583746cf5a48d49115e489ded469
1874aadf5b7ae8088049a3d3c22ca669bcbb6603f88cc4f1f15b8eeca25df176
213ec3ed8377258bc770968a0feafe725db8a1f9dcdd2a16c74d37282113c912
d1f6ccb1f5b2fd4713fe132b57c751531c200884ad9cdb371e15ee2e81bbf5d3
5f627d0bff42fe1be2b5df5d5467f6596db481346d873b00fd18dc0c39c3d0c9
c263e7227e01d865b04bd32a3670ea671aa82a85930780a1d6130afbc5d675b6
95c948ffe8c50d27b0087b71c04c1b0ccf074007fe7fa0bc48bf4094063d7088
83af3fd41034cf9546ef08684d1f3d89c603d30d6af8176e842db2042e8807ff
53021352fb448ae7dba2c67fed247a1724cc84154a830f34164a73e78e13cfa8
da7cc2796655432b01de46d4bb20856b5ba4cd2405b36a47f3304e1fc7223bcf
cf8186ab56089778d23dd51de33b92ac8e664d067f501395b56d219542cbfab3
ac9eed711ba588d4ecfa6371821f13eedaa68e19d648869af18420c0463f6bcf
dbd8762dded803419d94e689928f6c23950ac43820a5810a65652d69d3879030
0df5d77154554b2d12a0a501ec0bc8394e34247aa05f6ec3620e98cd1a5b0c9d
2b216836dde92f155d128f683ef784836f56a9bcb442b749959a5b3ec9e83da1

如果你想指定自定义的域名字典,可以使用 -w 参数:

4.png

除了使用 dns 枚举的方式外,还可以使用 google、duckduckgo、virustotal 搜索目标相关子域名。

如果你不想使用在线搜索的方式获取子域名信息,只想使用本地字典来枚举,可以使用 --no-remote 参数。

knock 在枚举到存在的域名时会去获取该域名对应网站的服务器类型,如果服务不存在,那么就会出现超时,超时时间可以通过 -t 参数来设置,从而提升扫描的时间,如果不想获取 web 服务的版本,可以使用参数 --no-http

5.png

可以看到用时明显变少。

扫描完成之后的结果保存在目录 knockpy_report下:

6.png

可以使用下面的命令查看某个报告:

knockpy --report knockpy_report/xazlsec.com_2021_05_09_07_36_52.json

7.png

本文到此结束,工具的使用就介绍到这,后续会分享更多好玩好用的开源工具,敬请期待!

640

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

信安之路工具站

(๑>ڡ<)☆谢谢老板~

使用微信扫描二维码完成支付

版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。