Skip to content

earthquake/DNSTunnelChecker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

DNS Tunnel Checker

Basic DNS server checker tool based on a server+client architecture to map out which resource record types are useable over a DNS server. With reasonable knowledge this tool can be used to investigate the network's DNS server and its limitations and determine if DNS tunnelling is an option.

Usage

You must own your own domain which points to your server just like it is required with all DNS tunnelling tools.

On the server side, the tool needs to be executed as: python main.py -s --domain [example.com]

Client side: python main.py -c --domain [example.com] --nameserver [IP]

Steps and techniques

  • A record - just to check the DNS server
  • A record rate limit - to see whether a basic rate limit is in place or not
  • A request with CNAME response - check basic functionality
  • CNAME record - almost the same as the previous one
  • CNAME record rate limit - to see if this record type is rate limited or not
  • EDNS support - for longer than 512byte answers
  • Long domain name - upstream check, if works than upstream could be used for tunnelling
  • Long answer packets - non-EDNS maximum 512byte long packets with a longer domain name
  • IPv6 record - with multiple answers. Multiple answers could be used for tunnelling
  • TXT record - good for tunnelling
  • PRIVATE record - great for tunnelling
  • NULL record - great for tunnelling
  • MX record - kind of the same as CNAME
  • SRV record - kind of the same as CNAME
  • DNSKEY record - binary data can be transmitted
  • RRSIG record - binary data can be transmitted

About

DNS server limitation mapper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages