今天给大家介绍的这款工具名叫DnsFookup,这是一款功能强大的DNS重绑定工具,广大研究人员可以使用该工具来对目标DNS服务器进行安全测试。

本质上来说,DnsFookup是一款DNS重绑定框架,该框架包含下列组件:
1、一个DNS服务器;
2、Web API,用于创建新的子域名,控制DNS服务器和查看日志等;
3、整合了React App,让工具使用更加方便;

工具机制
该工具可以帮助我们创建DNS绑定,其功能类似一个Burp Collaborator,但是DnsFookup能提供的功能更加丰富和强大:

在工具界面中,你可以指定DNS服务器需要解析的IP地址以及重复次数,目前版本的DnsFookup只支持A记录。接下来,你就可以直接在日志记录中查看到请求来源,以及解析结果了。

工具安装
广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/makuga01/dnsFookup.git

工具运行
首先,我们需要检查.py文件中的参数配置信息,相关配置信息一般使用下列形式进行标注:

“”"
*** CONFIG ***
“”"

当然了,别忘了修改下列文件中的Docker以及Redis密码:
docker-compose.yml
app.py
dns_resources

接下来,可以使用下列命令配置Postgres和Redis:
sudo docker-compose up
切换到./BE中,运行下列命令:
pip3 install -r requirements.txt
python3 dns.py # to start the dns server

如果仅出于测试目的的话,开发版服务器已经足够了:
FLASK_APP=app.py
FLASK_ENV=development
flask run

接下来,在./FE中运行下列命令:
npm install
npm start

API文档
为了登录和使用API,你需要使用令牌来完成身份验证,并在application/json中设置Content-Type。

注册-/auth/signup
POST /auth/signup
JSON主体:

{
“username”: “marek”,
“password”: “ffffffff”
}

响应:
{
“name”: “marek”,
“access_token”: “eyJuYW1lIjoiMTMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzNyBTZUtyM1QgVDBLM24ifQo=”

}

登录-/auth/login
POST /auth/signup
JSON主体:

{
“username”: “marek”,
“password”: “ffffffff”
}

响应:
{
“name”: “marek”,
“access_token”: “eyJuYW1lIjoiMTMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzNyBTZUtyM1QgVDBLM24ifQo=”

}
注销-/auth/logout
POST /auth/logout
响应:
{
“message”: “Access token has been revoked”
}

获取用户名
GET /api/user
响应:

{
“name”: “marek”
}

创建新的令牌-/api/fookup/new
POST /api/fookup/new

响应:

{
“subdomain”: “0dd4d9083d7647e1a5fd5f1444e655ce.gel0.space”
}

使用样例1
假设,我们向工具提供下列内容:
{
“name”:“dsads”,
“ip_props”:
{
“1”:{
“ip”:“1.1.1.1”
,“repeat”:2
},
“2”:{
“ip”:“2.2.2.2”,
“repeat”: 1
}
}

接下来,针对该域名使用host命令来进行测试:
$host {domain}
{domain} has address 1.1.1.1
$host {domain}
{domain} has address 1.1.1.1
$host {domain}
{domain} has address 2.2.2.2
$host {domain}
{domain} has address 1.1.1.1
$host {domain}
{domain} has address 1.1.1.1
$host {domain}
{domain} has address 2.2.2.2

使用样例2
{
“name”:“dsads”,
“ip_props”:
{
“1”:{
“ip”:“1.1.1.1”
,“repeat”:2
},
“2”:{
“ip”:“2.2.2.2”,
“repeat”: “4ever”
}
}
}

Host命令的输出如下:
$host {domain}
{domain} has address 1.1.1.1
$host {domain}
{domain} has address 1.1.1.1
$host {domain}
{domain} has address 2.2.2.2
$host {domain}
{domain} has address 2.2.2.2
$host {domain}
{domain} has address 2.2.2.2
$host {domain}
{domain} has address 2.2.2.2
$host {domain}
{domain} has address 2.2.2.2
获取所有的日志文件-/api/fookup/logs/all
这个API可以帮助我们返回所有的日志文件:

GET /api/fookup/logs/all
响应:
[
{
“uuid”: “0dd4d9083d7647e1a5fd5f1444e655ce”,
“resolved_to”: “123.0.0.0”,
“domain”: “0dd4d9083d7647e1a5fd5f1444e655ce.gel0.space”,
“origin_ip”: “127.0.0.1”,
“port”: “41095”,
“created_date”: “2019-09-17 20:38:44.769560”
},
…snip…
{
“uuid”: “ffffffffffffffffffffffffffffffff”,
“resolved_to”: “99.123.64.19”,
“domain”: “0dd4d9083d7647e1a5fd5f1444e655ce.gel0.space”,
“origin_ip”: “127.0.0.1”,
“port”: “51515”,
“created_date”: “2019-09-17 20:38:50.321975”
}
]

统计数据-/api/statistics
这个API可以帮助我们获取到前端App的统计数据:

GET /api/statistics
响应:

{
“request_count”: 420,
“created_bins”: 69
}

项目地址
https://github.com/makuga01/dnsFookup

DnsFookup:一款功能强大的DNS重绑定工具相关推荐

  1. SpyCast:一款功能强大的跨平台mDNS枚举工具

    关于SpyCast SpyCast是一款功能强大的跨平台mDNS枚举工具,该工具支持在主动模式下下递归查询服务,也可以在被动模式下仅侦听多播数据包.因此,广大研究人员可以使用该工具测试mDNS协议和本 ...

  2. Invoker:一款功能强大的渗透测试实用工具

    Invoker是一款功能强大的渗透测试实用工具,在该工具的帮助下,广大研究人员可以通过GUI接口访问某些Windows操作系统功能,其中部分功能可能会要求管理员权限. 功能介绍 1.调用命令行工具和P ...

  3. 网络拓扑图画图工具_一款功能强大的免费在线作图工具

    小金子 读完需要 2分钟 速读仅需 1 分钟 大家好,我是你们的小金子. 今天推荐的工具是「ProcessOn」,一款强大的在线作图工具. 1.免费在线作图.实时协作 ProcessOn 支持: 思维 ...

  4. cmd命令不识别exp_GRAT2:一款功能强大的命令amp;控制(C2)工具

    GRAT2GRAT2是一款功能强大的命令&控制(C2)工具,该工具出于教育目的开发和设计,GRAT2采用Python3编程语言开发,客户端基于.NET 4.0实现.GRAT2的作者之所以开发G ...

  5. 游戏修改器(Quick Memory Editor) - 是一款功能强大的游戏修改工具

    继上期介绍GameEnchanter游戏修改器和萝卜游侠之后,今天我再来介绍一款全新的游戏修改器.游戏修改器(Quick Memory Editor)是一款功能强大的游戏修改(作弊)工具.游戏修改器通 ...

  6. NetSet:一款功能强大的自动化网络流量安全增强工具

    NetSet介绍 NetSet是一款自动化安全增强工具,该工具的主要目的就是将很多复杂的操作以自动化的方式实现,并帮助用户保证网络流量的安全性.除此之外,它还提供了一种简单的代理收集方法以及实用工具运 ...

  7. 你一定需要一款功能强大的图像批量处理软件

    SizeMyPics for Mac是一款功能强大的图像批量处理软件,SizeMyPics mac版支持将许多图片转换为另一种格式和尺寸,并且您可以在图像中添加水印.添加水印图像时,可以确定水印图像的 ...

  8. 2020年3月计算机等级二级MS Office考试模拟软件是一款功能强大的全国计算机等级考试题库模拟软件

    2020年3月计算机等级二级MS Office考试模拟软件是一款功能强大的全国计算机等级考试题库模拟软件,使用旨在帮助用户完美模拟真实的计算机等级考试,真实的考试环境,让用户提前熟悉考试操作流程和细节 ...

  9. 一款功能强大,可扩展端到端加密反向Shell的工具

    关于Mediator Mediator是一款功能强大的可扩展端到端加密反向Shell,该工具基于新型架构实现,采用Python语言开发,能够帮助广大研究人员通过一台"Mediator&quo ...

  10. 【网络安全】Penelope:一款功能强大的Shell处理工具

    关于Penelope Penelope是一款功能强大的Shell处理工具,该工具的主要功能是在利用RCE漏洞的过程中,替代netcat并作为Shell捕捉器来使用.该工具可以在Linux和macOS上 ...

最新文章

  1. SAP RETAIL 如何确定自动补货触发的单据类型
  2. 炫界 (302) -(查动简)_原302张鸿飞主任——乙肝抗病毒治疗常见的问题与难点
  3. 【C 语言】文件操作 ( 读文本文件 | 文本加密解密 | fgets 函数 | fputs 函数 )
  4. 华为交换机一次性进入多个接口_华为交换机端口的批量配置命令
  5. 第七章:暴力求解法。第二部分
  6. uniapp怎么引入css_Uniapp怎么引入外部js
  7. 语句中如何结束本循环进入下一循环_Python3基础语法(八)--控制循环 while...
  8. 砥志研思SVM(一) 最优间隔分类器问题(上):硬间隔SVM
  9. PowerDesigner基础学习
  10. GID绘图和CDC类
  11. Java工程师学习指南
  12. C语言源代码编译全过程
  13. 三菱PLC与触摸屏的连接不通解决方法
  14. 机器学习的常见分类及常用算法
  15. c语言乒乓球对手算法,乒乓球学生论文,关于例c语言教学案例设计相关参考文献资料-免费论文范文...
  16. 卸载奇安信360天擎
  17. 学习discovery studio对对接结果进行分析
  18. linux 文件添加标签,SELinux——有趣的标签
  19. 山西省 建筑标准规范 合集
  20. H国身份证号码【多组实例测试】

热门文章

  1. Spring Boot入门(2)-项目属性配置
  2. Spring和Mybatis整合-原生dao开发
  3. 一键安装服务器系统,一键安装服务器系统
  4. Pentium的保护工作方式
  5. mysql 查看修改连接数据库_mysql查看最大连接数和修改mysql数据库最大连接数方法...
  6. 牛客网SQL练习题(Mysql-8)
  7. 计算机关机怎么关机,电脑关机命令,电脑关机命令怎么使用?
  8. 单片机长按开关怎么控制_时控开关控制电铃怎么接线?
  9. STM32——库函数流水灯程序
  10. ad 4层板设计实例文件_独家数据 | 1619Fall美研传媒类专业1590+申请实例(含大众传播、新闻学、公共关系、新媒体、整合营销等)...