dnstwist:一款针对域名安全的多功能检测工具
2024-11-13 21:39:57 Author: www.freebuf.com(查看原文) 阅读量:3 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

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

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

FreeBuf+小程序

FreeBuf+小程序

关于dnstwist

dnstwist是一款针对域名安全的多功能检测工具,该工具可以帮助广大研究人员检测同形异义词网络钓鱼攻击、拼写错误抢注和品牌冒充的域名排列引擎。

除此之外,该工具还可以帮助网络安全管理人员识别针对自己域名的威胁行为,并检测域名抢注者、网络钓鱼攻击、欺诈和品牌冒充行为。值得一提的是,该工具所提供的数据可以作有针对性的威胁情报的额外来源。

功能介绍

1、多种高效的域模糊测试算法;

2、Unicode 域名 (IDN);

3、来自字典文件的附加域排列;

4、高效的多线程任务分配;

5、实时钓鱼网页检测;

6、使用模糊哈希的 HTML 相似度(ssdeep/tlsh);

7、使用感知哈希 (pHash) 实现屏幕截图视觉相似度;

8、恶意 MX 主机检测(拦截错误发送的电子邮件);

9、GeoIP 位置;

10、导出为 CSV 和 JSON;

工具要求

#GeoIP>=1.3.2

geoip2>=4.0.0

dnspython>=1.16.0

#ssdeep>=3.1

ppdeep>=20200505

py-tlsh>=4.5.0

tld>=0.9.1

idna>=2.8

#Pillow>=7.0.0

#selenium>=4.0.0

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

源码安装

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone  https://github.com/elceef/dnstwist.git

然后切换到项目目录中,使用pip命令安装:

cd dnstwist

pip install .

Debian/Ubuntu/Kali Linux

调用以下命令来安装该工具及其所有附加包:

$ sudo apt install dnstwist

Fedora Linux

$ sudo dnf install dnstwist

Arch Linux

$ yay -S dnstwist

macOS

dnstwist将与所有依赖项一起安装,并且二进制文件将被添加到$PATH。

$ brew install dnstwist

Docker

从 Docker Hub 拉取并运行官方镜像:

$ docker run -it elceef/dnstwist

或者,你可以构建本地图像:

$ docker build -t dnstwist .

$ docker build -t dnstwist:phash --build-arg phash=1 .

工具使用

该工具将通过其模糊测试算法运行提供的域名,并生成潜在网络钓鱼域列表以及 DNS 记录。

通常会生成数千个域排列 - 尤其是对于较长的输入域。在这种情况下,仅显示已注册的域排列可能比较实用:

$ dnstwist --registered domain.name

确保您的 DNS 服务器可以在短时间内处理数千个请求。否则,您可以使用--nameservers参数指定外部 DNS 或 DNS-over-HTTPS 服务器。

如果模糊测试算法生成的域排列不够,请提供dnstwist字典文件。其中包含一些字典样本,其中列出了网络钓鱼活动中最常用的单词。

$ dnstwist --dictionary dictionaries/english.dict domain.name

如果您需要检查是否存在具有不同 TLD 的域,只需提供包含 TLD 列表的字典文件。

$ dnstwist --tld dictionaries/common_tlds.dict domain.name

另一方面,如果只需要使用选定的算法,--fuzzers 则可以提供参数,它采用逗号分隔的列表。

$ dnstwist --fuzzers "homoglyph,hyphenation" domain.name

除了丰富多彩的终端输出外,该工具还允许将结果导出为 CSV 和 JSON:

$ dnstwist --format csv domain.name | column -t -s,

$ dnstwist --format json domain.name | jq

如果您只需要裸排列而不进行任何 DNS 查找,请使用 --format list参数:

$ dnstwist --format list domain.name

该工具可以执行实时查找以返回 IPv4 地址的地理位置(近似于国家/地区)。

$ dnstwist --geoip domain.name

工具运行演示

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可协议。

项目地址

dnstwist:【GitHub传送门

参考资料

https://dnstwist.it/

本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022


文章来源: https://www.freebuf.com/sectool/415225.html
如有侵权请联系:admin#unsafe.sh