林哲技术博客-影子资源网,善恶资源网,零度娱乐网,我爱辅助网,小欧娱乐网,QQ业务乐园,爱收集资源网,爱q资源网

DnsFookup:一款功能强大的DNS重绑定工具

浏览次数:121发布时间:2020-03-22 11:40:06当前分类: 网络安全 评论数量:0

文章目录

  • 工具机制
  • 工具安装
  • 工具运行
  • API文档
  • 注册-/auth/signup
  • 登录-/auth/login
  • 注销-/auth/logout
  • 获取用户名
  • 创建新的令牌-/api/fookup/new
    • 使用样例1
    • 使用样例2
  • 获取所有的日志文件-/api/fookup/logs/all
  • 统计数据-/api/statistics
  • 项目地址

今天给大家介绍的这款工具名叫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

JSON主体:



									

{

"name":"dsads",

"ip_props":

{

"1":{

"ip":"123.0.0.1"

,"repeat":13

},

"2":{

"ip":"3.2.1.1",

"repeat": "4ever"

}

}

}


响应:



									

{

    "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

}


项目地址

DnsFookup:【GitHub传送门】

* 参考来源:makuga01,FB小编Alpha_h4ck编译,转载请注明来自www.lzseo.cc

林哲资源社 - 本站版权及附件下载说明

1、本站所有文章均由林哲发布,与林哲资源社同时享有本文章相关版权

2、在转载本站原创文章时请注明文章来源:林哲

3、如果您在下载本站的软件/教程出现任何问题可以:查看软件下载教程

4、本文链接:点击复制百度收录:已收录

二维码

网络安全 - 最新内容