Skip to content

ivantsepp/coredns-rebind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

coredns-rebind

Name

coredns-rebind - rebinds a domain from one IP address to another IP address to facilitate testing DNS Rebinding vulnerabilities.

Description

This is a CoreDNS plugin. It rebinds domains from one IP address to another IP address. Use this plugin to learn more about DNS rebinding attacks or to test proof of concepts as a security researcher in a responsible manner.

This plugin is inspired by nccgroup/singularity and brannondorsey/whonow.

Syntax

rebind example.com {
  first_ip 1.2.3.4
  second_ip 0.0.0.0
  strategy first_then_second
}
  • first_ip is the first IP address. This is usually an IP address that you own
  • second_ip is the second IP address to rebind to. This is usually the target IP address of the vulnerable server
  • strategy is one of the following:
    • first_then_second: responds with the first_ip and then responds with the second_ip address for all subsequent requests
    • random: responds with a random selection of first_ip and second_ip
    • round_robin: responds in a round robin fashion of first_ip and then second_ip

Examples

In this configuration, a DNS request to rebind.example.com will receive a response of 1.2.3.4. All future DNS requests will respond with 0.0.0.0.

example.com {
  rebind rebind.example.com {
    first_ip 1.2.3.4
    second_ip 0.0.0.0
  }
}

Compilation

This package will always be compiled as part of CoreDNS and not in a standalone way. It will require you to use go get or as a dependency on plugin.cfg.

The manual will have more information about how to configure and extend the server with external plugins.

A simple way to consume this plugin, is by adding the following on plugin.cfg, and recompile it as detailed on coredns.io.

rebind:github.com/ivantsepp/coredns-rebind

Put this early in the plugin list, so that rebind is executed before any of the other plugins.

After this you can compile coredns by:

go generate
go build

Or you can instead use make:

make

About

CoreDNS plugin to rebind domain names

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages