DNS Enumeration Using Python

DNS Enumeration Using Python  Medium

As a penetration tester or red teamer, it is imperative that we understand the tools that we use inside and out and also have the ability to write out own, even simple, tools if we are on an assessment with certain constraints such as no internet or the requirement to use a customer provided host as our "attack box." A strong understanding of DNS as well as the various ways to interact with fundamental when performing any security assessment.

Created by Cry0l1t3

To start this course Sign Up!


This module covers the importance of tool development for technical security practitioners, using the DNS protocol as examples for the tool building exercises.

In this module, we will cover:

  • An introduction to tool development
  • DNS structure
  • Querying DNS records
  • Tool development using Python modules
  • DNS security

This module is broken down into sections with accompanying hands-on exercises to practice each of the tactics and techniques we cover. The module ends with a practical hands-on skills assessment to gauge your understanding of the various topic areas.

As you work through the module, you will see example commands and command output for the various topics introduced. It is worth reproducing as many of these examples as possible to reinforce further the concepts introduced in each section. You can do this in the Pwnbox provided in the interactive sections or your own virtual machine.

You can start and stop the module at any time and pick up where you left off. There is no time limit or "grading," but you must complete all of the exercises and the skills assessment to receive the maximum number of cubes and have this module marked as complete in any paths you have chosen.

The module is classified as "Medium" but assumes a working knowledge of the Linux command line and an understanding of information security fundamentals.

A firm grasp of the following modules can be considered prerequisites for successful completion of this module:

  • Linux Fundamentals
  • Web Requests
  • Introduction to Bash Scripting


  • Tool Development
  • DNS Structure
  • DNS Zones
  • DNS Records and Queries
  • DNS Security
  • DNS Enumeration
  • Python Code
  • Python Modules
  • AXFR Function
  • Main Function
  • Argparse
To start this course Sign Up!