54

dnstwist - 用于检测网络钓鱼、间谍活动的域名排列引擎

 5 years ago
source link: http://www.10tiao.com/html/665/201807/2650448163/4.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.



dnstwist是一款基于Python的工具,可以帮助您了解用户尝试键入域名时可能遇到的问题。它可以找到对手可以用来攻击你的类似外观的域名。它还可以检测域名仿冒,网络钓鱼攻击,欺诈和企业间谍活动。


它作为目标威胁情报的额外来源非常有用。


这个想法非常简单:dnstwist将您的域名作为种子,生成一个潜在的钓鱼域列表,然后检查它们是否被注册。此外,它还可以测试MX记录中的邮件服务器是否可用于拦截错误的公司电子邮件,并且可以生成网页的模糊散列,以查看它们是否为活钓鱼网站。


注意: 随着域的长度,算法生成的变体数量也大大增加,因此需要验证DNS查询的次数。例如,要检查google.com的所有变体,您必须发送超过30万个查询。对于域名facebook.com,该数字增加到超过500万。猜测它有多容易需要大量资源,最重要的是需要更多时间。对于更长的域来检查所有是不可能的。出于这个原因,这个工具生成和检查非常接近原始域。从理论上讲,这些是攻击者的观点中最有吸引力的领域。但是,请注意,侵略者的想象力是无限的。


特征:


  • 广泛的高效域模糊算法

  • Unicode域名(IDN)

  • 多线程工作分配

  • 查询A,AAAA,NS和MX记录

  • 使用模糊散列来评估网页相似性,以查找活钓鱼网站

  • 测试MX主机(邮件服务器)是否可用于拦截错误的电子邮件

  • 使用字典文件的其他域变体

  • GeoIP位置信息

  • 抓取HTTP和SMTP服务横幅

  • WHOIS查找创建和修改日期

  • 以CSV和JSON格式输出


要求:


Linux


Ubuntu Linux是主要的开发平台。如果运行Ubuntu 15.04或更新版本,可以像这样安装依赖项:


$ sudo apt-get install python-dnspython python-geoip python-whois \python-requests python-ssdeep python-cffi或者,您可以使用Python工具。这可以在虚拟环境中完成,以避免与其他安装冲突。但是,您仍然需要在系统级安装一对库。


$ sudo apt-get install libgeoip-dev libffi-dev$ BUILD_LIB = 1 pip install -r requirements.txt


OSX


如果你在Mac上,你可以像这样通过Homebrew安装dnstwist:


$ brew install dnstwist


这将仅将dnstwist.py安装为dnstwist,以及上述所有要求。用法相同您可以省略文件扩展名,并将二进制文件添加到PATH中。


搬运工人


如果您使用Docker,则可以从Docker Hub中提取正式映像并运行它:
$ docker pull elceef / dnstwist$ docker run elceef / dnstwist example.com


如何使用dnstwist首先,只输入域名作为参数是一个好主意。该工具将通过其模糊算法运行该工具,并使用以下DNS记录生成潜在网页仿冒域列表:A,AAAA,NS和MX。


$ dnstwist.py example.com


通常生成的域列表有超过一百行 - 尤其是对于较长的域名。在这种情况下,使用--registered参数仅显示已注册的(可解析的)可能是可行的


$ dnstwist.py  - 注册example.com


根据提供钓鱼网站手动检查每个域名可能非常耗时。为了解决这个问题,dnstwist利用了所谓的模糊哈希(上下文触发的分段哈希)。模糊哈希是一个概念,它涉及比较两个输入(在本例中为HTML代码)并确定基本相似度的能力。可以使用--ssdeep参数启用dnstwist的这一独特功能。对于每个生成的域,dnstwist将从响应的HTTP服务器获取内容(在可能的重定向之后),并将其模糊散列与原始(初始)域的模糊散列进行比较。相似度将以百分比表示。请记住,动态生成的网页不太可能100%匹配,但应仔细检查每个通知,而不管百分比级别如何。


$ dnstwist.py --ssdeep example.com


在某些情况下,钓鱼网站是从特定网址提供的。如果您提供全部或部分URL地址作为参数,则dnstwist将解析该地址并申请每个生成的域名变体。这种能力显然仅在与模糊散列特性结合时才有用。


$ dnstwist.py --ssdeep https://example.com/owa/$ dnstwist.py --ssdeep example.com/crm/login


攻击者经常在钓鱼网站上设置电子邮件蜜罐,并等待错误的电子邮件到达。在这种情况下,攻击者会配置他们的服务器来清空发往该域的所有电子邮件,而不管其发送给哪个用户。另一个dnstwist功能允许在每个邮件服务器上执行一个简单的测试(通过DNS MX记录进行广告),以便检查哪一个可用于这种敌对意图。可疑服务器将标有SPYING-MX字符串。


请注意可能的误报。某些邮件服务器只会假装接受错误处理的电子邮件,但会丢弃这些邮件。该技术用于防止目录收集攻击。


$ dnstwist.py --mxcheck example.com


并非总是由模糊算法生成的域名就足够了。要生成更多的域名变体,请用dnstwist提供一个字典文件。其中包括一些词典样本,其中包含用于目标网上诱骗活动的最常用词汇列表。随意适应它,以满足您的需求。


$ dnstwist.py  - 词典词典/ english.dict example.com


除了默认的漂亮而丰富多彩的文本终端输出之外,该工具还提供了两种众所周知且易于解析的输出格式:CSV和JSON。用它来进行数据交换。


$ dnstwist.py --csv example.com> out.csv$ dnstwist.py --json example.com> out.json


该工具随附内置的GeoIP数据库。使用--geoip参数来显示每个IPv4地址的地理位置(国家/地区名称)。


$ dnstwist.py --geoip example.com


当然,dnstwist提供的所有功能以及简要说明始终可用于您的指尖:


$ dnstwist.py  - help


下载地址:https://github.com/elceef/dnstwist/archive/master.zip


仅供于学习研究使用,不得非法使用,如非法操作,责任自行承担

文章出处:http://www.effecthacking.com,由华盟网翻译排版,转载请注明华盟网

你可能喜欢

zoomeye的简单使用(很恐怖的搜索引擎)

开源安全情报引擎Critical Stack使用入门

【渗透神器系列】搜索引擎


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK