• Stars
    star
    347
  • Rank 122,141 (Top 3 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A DNS Bruteforcing Wordlist Generator

DNSCewl

License Twitter

A DNS Bruteforcing Wordlist Generator.

Argument Description
(stdin) Specify a list of targets
-t Specify a single target.
-tL Specify a list of targets.
-sL Specify a list of sets to substitue with
-eL Specify a list of targets to exclude
-eX Specify a list of domain extensions to substitute with
-a Specify a file of words to append to a host
-p Specify a file of words to prepend to a host
-v If set then verbose output will be displayed in the terminal
-i If set, original domains (from source files) are included in the output.
--range Set a higher range for integer permutations.
--subs If set then only subdomains will be generated.
--no-color If set then any foreground or background colours will be stripped out
--limit Specify a fixed word limit to output.
--level Specify the level of results to output.
--no-repeats Prevent repeated structures such as one.one.com

Level

There are multiple levels of changes that can be performed, specified by "-level". A level of "1" or above modifies the results to use a - as well as everything else. A level of 0 wouldn't use -. Level defaults to level 1.

At level 2 integer substituions start to take place, using a set range.

Append

Append works by adding a new subdomain, as well as the word with a - and without (unless level is 0). So, for example:

A target list of:

example.com
help.example.com

With an append list of:

dev
test

With command line as:

DNSCewl -tL targets.txt -a append.txt

Would provide the output:

example-dev.com
example-test.com
help-dev.example.com
help-test.example.com
example.dev.com
example.test.com
help.dev.example.com
help.test.example.com

If the flag --subs was passed then this would limit results to new subdomains only, and output the following:

dev.example.com
devhelp.example.com
dev-help.example.com
dev.help.example.com
test.example.com
testhelp.example.com
test-help.example.com
test.help.example.com

Prepend

Prepend is the same as append, but at the beginning of a domain (or subdomain).

Using as:

DNSCewl -tL targets.txt -p append.txt

Would result in:

devexample.com
dev-example.com
dev.example.com
devhelp.example.com
dev-help.example.com
dev.help.example.com
testexample.com
test-example.com
test.example.com
testhelp.example.com
test-help.example.com
test.help.example.com

Level Usage Example

If level 1 was spefied, results with - wouldn't be used. For example:

DNSCewl -tL targets.txt -p append.txt --level=0

Would result in:

devexample.com
dev.example.com
devhelp.example.com
dev.help.example.com
testexample.com
test.example.com
testhelp.example.com
test-help.example.com
test.help.example.com

Subs Usage Example

Subs limits results to subdomains only. For example:

DNSCewl -tL targets.txt -p append.txt --level=0 --subs

Would result in:

dev.example.com
dev.help.example.com
test.example.com
test-help.example.com
test.help.example.com

No repeats example

No repeats prevents the same term being used twice in a domain.

For example, using test.example.com with an prepended list of:

test

With the following:

DNSCewl -tL targets.txt -p append.txt --no-repeats

Would result in:

test.example.com
test.testexample.com

Note that test.test.example.com isn't included, as it's a repeated subdomain. It's important to note that test.testexample.com is still possible here, as --no-repeats shouldn't prevent a subdomain and a top level domain from repeating.

Set List (-sL) Example

A set list is a series of words to perform a replacement on when one word in a set is discovered.

For example, an input of:

one.example.com
b.example.com

When provided a set list of:

one
two
three

Would output:

two.example.com
three.example.com

Include originals (-i)

If set than the original domains, from source lists are included in outputted results. If not then they will be excluded.

Range Example

By default if level=2 is set then any integers in a domain would be incremented and decremented by 100. For example,

101.example.com

Would generate domains from 1.example.com to 200.example.com as output.

Range allows you to override this setting. By default range will adjust to be both negative and positive. For example:

--range=10

Would generate domians from 91.example.com to 111.example.com. You can however specify + or - on range. So for example,

--range=+10

Would only generate domains from 101.example.com to 111.example.com as our output.

Domain Extensions (-eX)

Takes a list of domain extensions and replaces extensions on final results with them.

For example,

example.com
sub.example.com

When combined with a list of extentions that includes:

.com.au
.co.uk

Would result in a list of domains:

example.com.au
example.co.uk
sub.example.com.au
sub.example.co.uk

More Repositories

1

NoSQLMap

Automated NoSQL database enumeration and web application exploitation tool.
Python
2,856
star
2

Reconnoitre

A security tool for multithreaded information gathering and service enumeration whilst building directory structures to store results, along with writing out recommendations for further testing.
Python
2,033
star
3

Interlace

Easily turn single threaded command line applications into a fast, multi-threaded application with CIDR and glob support.
Python
1,204
star
4

VHostScan

A virtual host scanner that performs reverse lookups, can be used with pivot tools, detect catch-all scenarios, work around wildcards, aliases and dynamic default pages.
Python
1,196
star
5

BibWord

Microsoft Word and Bibliography Styles extender.
XSLT
280
star
6

dorky

A tool to quickly do keyword searches over Gitlab and Github for OSINT & bug bounty recon
Go
226
star
7

bbr

An open source tool to aid in command line driven generation of bug bounty reports based on user provided templates.
Go
206
star
8

crithit

Takes a single wordlist item and tests it one by one over a large collection of websites before moving onto the next. Create signatures to cross-check vulnerabilities over multiple hosts.
Makefile
205
star
9

Minesweeper

A Burpsuite plugin (BApp) to aid in the detection of scripts being loaded from over 23000 malicious cryptocurrency mining domains (cryptojacking).
Python
196
star
10

Retrieve-Windows-Wifi-Passwords

Retreives the SSID names and passwords in cleartext for each Wifi network stored on the computer running this powershell script and output to JSON.
PowerShell
79
star
11

microsubs

A collection of code for interacting with API sources directly to improve your understanding of those services.
C++
65
star
12

dooked

DNS and Target HTTP History Local Storage and Search
C++
63
star
13

Ransomware-Json-Dataset

Compiles a json dataset using public sources that contains properties to aid in the detection and mitigation of over 1000 variants of ransomware.
Python
61
star
14

fastsub

A custom built DNS bruteforcer with multi-threading, and handling of bad resolvers.
C++
57
star
15

SharePoint-Security

A Github Repository Created to compliment a BSides Canberra 2018 talk on SharePoint Security.
PowerShell
46
star
16

simple

A collection of one off hacks and simple scripts
Go
27
star
17

cracknet

A .net Crackme Challenge made for the SecTalks Brisbane 2017 Capture the Flag Event. Writeup/solution included.
C#
20
star
18

Bugcrowd-Talks

Slide Decks and Supporting Content of talks given for Bugcrowd
16
star
19

guides

A companion repo to accompany detailed guides and YouTube content to allow users to follow along
12
star
20

succinct

A tool to create a text summary of a provided list of websites
Go
9
star
21

codingo

5
star
22

DNSCewl-go

A DNS Bruteforcing Wordlist Generator
5
star
23

RaiderOfTheLostBrowsers

Command line utility to extract passwords from the major browsers (Chrome, Firefox, Edge). Useful in demonstrating to users the importance of using proper password managers instead of saving credentials in browser based accounts which synchronize settings locally.
Python
5
star
24

security-through-obscurity

A reversing challenge made for CrikeyCon 2018
C#
4
star
25

blog

Repository housing codingo-com hugo project
HTML
4
star
26

Google-Phonelib-SQL-CLR

A SQL CLR implementation of GooglePhoneLib allowing it to be used as a Microsoft SQL Function.
C#
4
star
27

CTFs

Code and writeups for a variety of CTF challenges. Links to writeups included where available.
Python
3
star
28

coffee

A repository for snippets of code that make my life easier.
Shell
3
star
29

Simple-Substitution

A CTF challenge for CrikeyCon 2018
Python
2
star
30

2ndOrder

Chrome extension to inspect and find domains that don't resolve or have expired
JavaScript
2
star
31

blog-live

2
star
32

codingo.github.io

Ruby
2
star
33

pyreal

Python scraper for realestate
Python
2
star
34

test2

1
star
35

dooks-air-conditioning

A CTF web challenge built for CrikeyCon 2018
PHP
1
star
36

Hash-Checker

A Powershell script to check a hash against a file script
PowerShell
1
star