关于LeakSearch
在红队演戏过程中,往往需要获取到针对目标域的访问权限。在这个过程中,很多红队人员会选择使用暴露在互联网上的代理服务器来实现目标域的访问,那么此时就需要在互联网上收集公开暴露的凭证信息。
对于蓝队来说,可能需要检查正在审核的组织是否有凭证已经泄露或暴露在互联网上,同时还需要检查这些凭证是否有效,以此来保证组织的互联网服务安全性。
LeakSearch是一款针对网络公开凭证的安全扫描与检测工具,该工具使用了ProxyNova COMB来扫描和解析互联网上公开暴露的明文密码数据。我们可以定义一个自定义代理,并使用我们自己的密码文件和不同的关键词来搜索密码,例如“user”、“domain”或“password”等。
除此之外,我们还可以定义想要在终端窗口中显示的结果数量,并将数据导出为JSON或TXT文件。该工具基于纯Python开发,因此我们还可以根据自己的需求添加新的功能或数据源。
工具特性
1、易用性:LeakSearch 提供了一种直观的命令行接口,使任何人都能快速上手;
2、灵活性:支持自定义关键词和数据源,可以适应多种搜索需求;
3、扩展性:简单的代码结构易于扩展,未来会增加更多数据提供者;
4、安全性:允许通过HTTP/S代理进行匿名搜索,保护用户隐私;
5、导出功能:可以将搜索结果导出为方便分析的JSON或TXT文件;
功能介绍
1、使用ProxyNova COMB数据库进行在线搜索;
2、支持自定义关键字搜索;
3、设置显示结果的数量限制;
4、输出结果可选项:直接在终端上显示或者保存到JSON或TXT文件中;
5、支持HTTP/S代理,保护你的网络活动;
工具要求
urllib3
argparse
tabulate
neotermcolor
requests
工具下载
由于该工具基于纯Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/JoelGMSec/LeakSearch
然后切换到项目目录中,使用pip3命令和项目提供的requirements.txt文件安装该工具所需的其他依赖组件:
cd LeakSearch pip3 install -r requirements.txt
工具帮助
运行下列命令即可查看工具的帮助选项信息:
python3 LeakSearch.py -h
参数解析
-h:显示工具帮助信息和退出; -d:要搜索的数据库,例如ProxyNova或本地数据库; -k:搜索目标数据库中的关键词,例如“user”、“domain”或“pass”; -n:要显示的结果数量,默认为20; -o:将结果存储为JSON或TXT文件; -p:设置HTTP/S代理,例如“http://localhost:8080”;
工具使用样例
下列命令将使用ProxyNova数据库,在互联网上搜索关键词“passw0rd”(既作为用户、作为域又作为密码):
python3 LeakSearch.py -k passw0rd -n 10
从结果中可以看到,工具成功找到了1757个不同的凭证信息,并将前10个结果显示到终端窗口中。需要注意的是,我们还可以使用“-o”参数将结果保存到JSON或TXT文件中。
接下来,我们使用下列命令随机生成电子邮件账户和随机密码:
tr -dc 'A-Za-z0-9!@' < /dev/urandom | head -c 14 ; echo
生成的结果存储到文件中,内容如下所示:
然后使用下列命令执行本地文件搜索:
python3 LeakSearch.py -k com -n 10 -d creds.txt
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可协议。
项目地址
LeakSearch:【GitHub传送门】
参考资料
https://darkbyte.net/buscando-y-filtrando-contrasenas-con-leaksearch/
https://www.proxynova.com/tools/comb/
https://github.com/JoelGMSec/FakeDataGen