Skip to content
alxk edited this page Sep 1, 2018 · 10 revisions

Prerequisites

Before proceeding, ensure you:

  • own a domain (attacker.com from here on)
  • have a publicly reachable box with Docker and docker-compose installed (IP address 1.2.3.4 from here on)

It's also recommended to have rudimentary understanding of Docker usage.

Installing and running dref

SSH into your publicly reachable box and:

$ git clone https://github.com/mwrlabs/dref.git
$ cd dref

Edit the general settings in dref-config.yml to match your domain and your box's IP address:

general:
  domain: "attacker.com"
  address: "1.2.3.4"
  logPort: 443
  iptablesTimeout: 10000

targets:
  - target: "demo"
    script: "web-discover"

Now bring dref up and glance at the logs to make sure everything looks OK:

$ docker-compose up -d
$ docker-compose logs -f

It will take up to a minute for all dref components to boot up. Feel free to give your box a quick scan to verify 53/udp and 80/tcp are open.

Configuring your domain registrar to point to dref

You will need to configure your domain registrar to forward DNS look-ups to dref's DNS server. This process will vary depending on your registrar.

Head over to your registrar's dashboard and navigate to your domain's configuration panel. Look for some advanced DNS settings. You will have an option to configure "glue" (static NS) records (may be under a "Personal DNS Server" section).

Add a glue record so that ns1.attacker.com points to your box's IP address 1.2.3.4:

Head back to your general DNS settings and point one of your NS records to your newly created glue record:

The changes could take up to 48 hours to propagate, however from experience this is usually closer to one hour.

Checking

Once DNS configurations have propagated, any subdomain of attacker.com should map to your box's IP address:

$ dig +short abc.attacker.com
1.2.3.4

With everything set up you can move on to using payloads.

Help

If you encounter any issues with the setup process, come chat on gitter