A vulnerable DNS environment designed to understand how DNS works, how attackers abuse it and how defenders can detect & mitigate DNS-based attacks. Yes, that's a "53" in there β DN53CLab, pronounced "DNSecLab", because Port 53 is where all the fun happens.
DN53CLab is a self-built cybersecurity laboratory focused on learning DNS from both the administrator's and attacker's perspective.
Unlike traditional DNS tutorials, this project demonstrates:
πΉ How DNS actually works
πΉ Recursive vs Authoritative DNS
πΉ Zone Files
πΉ DNS Record Types
πΉ DNS Resolution Process
πΉ DNS Security Concepts
πΉ How DNS is Configured
πΉ Common DNS Misconfigurations
πΉ Real-world DNS Pentesting Techniques
πΉ Defensive Mitigations.
The goal is to build a strong understanding of DNS while safely demonstrating common attack techniques inside an isolated lab environment.
Warning
This project is built ONLY for educational purposes inside an isolated virtual lab.
No techniques demonstrated here should ever be used against systems without explicit authorization.
- Learn DNS from scratch
- Understand how recursive resolution works
- Configure authoritative DNS servers
- Host a website using custom DNS
- Perform DNS enumeration
- Identify DNS misconfigurations
- Demonstrate common DNS attacks
- Learn practical mitigation techniques
βββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββ
βNAT (192.168.34.0/24 β β
βββββββββββββββββββββββ β
β β
β H4CK3R [KALI LINUX] Victim [Windows 10] β
β (192.168.34.129) (192.168.34.130) β
β β β β
β βββββββββββββββββββββ¬ββββββββββββββββββββββ β
β β β
β βΌ β
β DNS Resolver β
β [Ubuntu Server 26.04 LTS] β
β (192.168.34.131) β
β β β
β β β
β βΌ β
β Authoritative Server β
β [Ubuntu Server 26.04 LTS] β
β (192.168.34.133) β
β β β
β β β
β βΌ β
β Webserver β
β [Ubuntu Server 26.04 minimized] β
β (192.168.34.134) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- DNS Core Concepts
- DNS Record Types
- The Resolution Process
- Root Servers
- TLD Servers
- Recursive Resolver
- Authoritative DNS
- DNS Cache
- TTL
- Zone Files
- DNS Security Weaknesses
- DNS Attacks
| Component | Technology |
|---|---|
| DNS Server | BIND9 |
| Web Server | Nginx |
| Operating System | Ubuntu Server |
| Virtualization | VMware Workstation |
| Attacker Machine | Kali Linux |
| Victim Machine | Windows 10 |
- DNS Enumeration
- Subdomain Enumeration
- Record Enumeration
- Zone Transfer (AXFR)
- Open Recursive Resolver
- DNS Cache Inspection
- Weak DNS Configuration
- DNS Enumeration & Reconnaissanc
- DNS Amplification (Controlled Demonstration)
- DNS Zone transfer
- Dynamic DNS Update
- DNS Hijacking Concepts
- Restrict Zone Transfers
- Disable Open Recursion
- Response Rate Limiting (RRL)
- DNSSEC Overview
- Logging & Monitoring
- Least Privilege Configuration
DN53CLab/
βββ Documentation/
β βββ DNS Fundamentals
β βββ DNS Attacks
β βββ Configuration/
β βββ Network Configuration
β βββ DNS Resolver/
β β βββ Open DNS Resolver Configuration
β β βββ Multiple Bind9 Instance Configuration
β βββ Authoritative Server/
β β βββ Authoritative Server Configuration
β βββ Webserver/
β β βββ Webserver Configuration
β βββ Victim_Machine/
β β βββ Windows 10 Configuration
β βββ Attacker_Machine/
β β βββ Kali Linux Configuration
β βββ Malicious Server Configuration
β
βββ Inventory/
β βββ Diagrams
β βββ Screenshots
β
βββ Report/
β βββ DNS Reconnaisance & Enumeration
β βββ DNS Zone Transfer
β βββ DNS Amplification Attack
β βββ Dynamic DNS Update (DDNS)
β βββ DNS Hijacking
β βββ Mitigations
β
βββ README.md
By completing this lab you will understand:
β How DNS works internally
β How recursive and authoritative servers interact
β How websites are resolved
β How attackers enumerate DNS
β How DNS misconfigurations occur
β How common DNS attacks work
β
How organizations secure DNS infrastructure
- DNSSEC Implementation
- Split DNS
- Response Rate Limiting
- Passive DNS Monitoring
- DNS Logging Dashboard
- Additional Attack Scenarios
- Detection Engineering
- Blue Team Monitoring
Suggestions and improvements are always welcome.
Feel free to:
- Open an Issue
- Submit a Pull Request
- Share feedback
This project is licensed under the Apache License 2.0.
You are welcome to use, study, modify, and redistribute this project in accordance with the license terms. If you create derivative works, please retain the original copyright notice, include the Apache License 2.0, and clearly indicate any modifications.
See the LICENSE file for full details.
Incogn1mu5
