dnstwist:一款针对域名安全的多功能检测工具

科技   2024-11-14 18:57   上海  

关于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

https://github.com/elceef/dnstwist


FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊

https://dnstwist.it/

FreeBuf
中国网络安全行业门户
 最新文章