freeBuf
主站

分类

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

特色

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

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

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

FreeBuf+小程序

FreeBuf+小程序

InfoHound:一款针对域名安全的强大OSINT工具
2023-09-22 00:03:17


关于InfoHound

InfoHound是一款针对域名安全的强大OSINT工具,在该工具的帮助下,广大研究人员只需要提供一个Web域名,InfoHound就可以返回大量跟目标域名相关的数据。

在网络侦查阶段,攻击者会搜索有关其目标的任何信息,以创建一个档案,而这种档案可以帮助他确定进入目标组织的可能方式。InfoHound使用了公开资源情报(OSINT)技术来对目标域名执行被动分析,且整个过程中不需要与目标进行直接交互,即可提取给定域名的大量有价值数据。

该工具支持检索域名邮箱、相关人员信息、文件、子域名、用户名和URL地址,并且之后还会对这些提取到的信息执行后续详尽分析,以尝试提取出更多有价值的信息。

工具架构

工具安装

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

git clone https://github.com/xampla/InfoHound.git

然后切换到项目目录中,重命名项目的配置文件:

cd InfoHound/infohound

mv infohound_config.sample.py infohound_config.py

然后启动docker-compose即可:

cd ..

docker-compose up -d

现在,我们就可以在浏览器中访问下列地址来使用InfoHound了:

http://localhost:8000/infohound/

需要注意的是,你必须要先在infohound_config.py文件中添加所需的API密钥。

工具默认模块

InfoHound提供了两种不同类型的操作模块,一个负责检索数据,另一个则负责对检索数据进行深入分析以提取更多相关的信息。

检索模块

模块名称

模块描述

Get Whois Info

查询相关的Whois信息

Get DNS Records

查询DNS记录

Get Subdomains

使用Alienvault OTX API、CRT.sh和HackerTarget作为数据源来搜索缓存的子域名

Get Subdomains From URLs

检查所有的URL以发现新的子域名

Get URLs

搜索Wayback缓存的所有URL,并将其存储到数据库中,之后可以有助于发现其他类似文件或子域名之类的数据条目

Get Files from URLs

循环搜索数据库表中的URL以查找文件,并将其存储到文件数据库中已备后续分析,支持的文件类型包括:doc, docx, ppt, pptx, pps, ppsx, xls, xlsx, odt, ods, odg, odp, sxw, sxc, sxi, pdf, wpd, svg, indd, rdp, ica, zip, rar

Find Email

向Google和Bing发送查询请求以查找邮箱/邮件

Find People from Emails

找到邮箱/邮件之后,该模块可以发现其背后的真实用户,并查找其用户名

Find Emails From URLs

从URL路径检索所有的邮箱/邮件

Execute Dorks

执行Dork

Find Emails From Dorks

从Dork执行尝试检索邮箱/邮件

分析模块

模块名称

模块描述

Check Subdomains Take-Over

检查子域名是否可以被接管

Check If Domain Can Be Spoofed

检查目标域名是否可以执行域名欺骗,以实现用户伪装

Get Profiles From Usernames

从社交网络或在线服务根据用户名获取用户资料

Download All Files

将文件数据库中存储的文件下载到"download_files" 文件夹中

Get Metadata

从下载的文件中提取出所有的元数据,并存储到数据库中

Get Emails From Metadata

由于某些元数据可能包含邮箱/邮件信息,该模块可以从所有元数据中检索邮箱/邮件信息,并将其存储到数据库中

Get Emails From Files Content

从下载的文件中检索所有的邮件内容

Find Registered Services using Emails

检查之前发现的邮箱是否注册过下列在线服务:Twitter, Adobe, Facebook, Imgur, Mewe, Parler, Rumble, Snapchat, Wordpress, Duolingo

Check Breach

检查目标邮箱是否在某次数据泄露事件中发生过泄漏

自定义模块

InfoHound还允许我们创建自定义模块,我们只需要将脚本添加到infohoudn/tool/custom_modules中即可。在下面的例子中,我们添加了一个自定义模块,该模块使用Holehe工具来检查之前搜索到的邮箱是否曾在Twitter、Instagram、Imgur等120多个网站上注册过:

# Import the packages you need

import trio

import httpx

import requests

from holehe import core

 

# Import the Django models you will work with

from infohound.models import Emails

 

MODULE_ID = "findRegisteredSitesHoleheCustomTask" # Set a module ID

MODULE_NAME = "Find sites with Holehe" # Set a module name

MODULE_DESCRIPTION = "Using Holehe tool, this task will find where an email has been used to create an account. Holehe checks more than 120 sites."  # Set a description

MODULE_TYPE = "Analysis" # Set the type: Analysis or Retrieve

 

 

# This function is the only function it will be called by InfoHound

# Change its content and create other the functions if needed

def custom_task(domain_id):

trio.run(findRegisteredSitesHolehe, domain_id)

 

 

async def findRegisteredSitesHolehe(domain_id):

queryset = Emails.objects.filter(domain_id=domain_id)

for entry in queryset.iterator():

out = []

email = entry.email

 

modules = core.import_submodules("holehe.modules")

websites = core.get_functions(modules)

client = httpx.AsyncClient()

 

for website in websites:

await core.launch_module(website, email, client, out)

print(out)

await client.aclose()

 

services = []

for item in out:

if item["exists"]:

services.append(item["name"])

 

entry.registered_services = services

entry.save()

工具运行截图

许可证协议

本项目的开发与发布遵循AGPL-3.0开源许可证协议。

项目地址

InfoHound:【GitHub传送门

参考资料

https://github.com/megadose/holehe

https://github.com/soxoj/maigret

https://github.com/six2dez/reconftw

https://github.com/jakecreps/poastal

# 信息收集 # 域名 # OSINT # 域名安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录