2024-07-08 01:04:54 +00:00
|
|
|
# Blink
|
|
|
|
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
|
|
|
|
|
|
|
|
Blink is a DNS bruteforcer made in Go
|
|
|
|
|
|
|
|
## This project is a work in progress
|
|
|
|
|
2024-07-09 17:07:34 +00:00
|
|
|
## Features
|
|
|
|
<!--
|
|
|
|
+ ENT (Empty non-terminal)
|
|
|
|
+ Verifying query
|
|
|
|
-->
|
|
|
|
+ UDP query
|
|
|
|
+ IPv4/IPv6 support
|
|
|
|
+ Wildcard detection
|
|
|
|
|
2024-07-09 17:00:24 +00:00
|
|
|
## Usage
|
2024-07-08 01:04:54 +00:00
|
|
|
|
2024-07-09 17:00:24 +00:00
|
|
|
### Help
|
2024-07-08 01:04:54 +00:00
|
|
|
```
|
2024-07-09 17:00:24 +00:00
|
|
|
Blink is a DNS bruteforcer made in Go
|
2024-07-08 01:04:54 +00:00
|
|
|
|
|
|
|
Usage:
|
|
|
|
blink [flags]
|
|
|
|
|
|
|
|
Flags:
|
|
|
|
-w, --wordlist string Path to wordlist
|
|
|
|
-r, --resolvers string Path to resolvers
|
|
|
|
-u, --udp Query using UDP
|
|
|
|
-i, --ipv6 Query for IPv6
|
2024-07-09 17:00:24 +00:00
|
|
|
-d, --wildcard Query for wildcard
|
|
|
|
-t, --timeout int Query timeout (default 5)
|
|
|
|
-c, --threads int Concurrent threads (default 1)
|
|
|
|
-v, --verbose Verbose logging
|
2024-07-08 01:04:54 +00:00
|
|
|
-h, --help help for blink
|
|
|
|
```
|
|
|
|
|
2024-07-09 17:00:24 +00:00
|
|
|
### Running
|
|
|
|
```
|
2024-07-09 17:07:34 +00:00
|
|
|
blink -w subdomains.txt -r resolvers.txt -d -c 50 youtube.com disney.com
|
|
|
|
```
|
|
|
|
```
|
|
|
|
echo "disney.com" | blink -w subdomains.txt -r resolvers.txt -d -c 50
|
2024-07-09 17:00:24 +00:00
|
|
|
```
|
|
|
|
|
2024-07-09 17:19:28 +00:00
|
|
|
## Library
|
|
|
|
### Basic
|
|
|
|
```
|
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"git.supernets.org/perp/blink/v1/pkg/dns"
|
|
|
|
"git.supernets.org/perp/blink/v1/pkg/runner"
|
|
|
|
)
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
opts := &runner.Options {
|
|
|
|
Domains: []string{"disney.com"},
|
|
|
|
Wordlist: []string{"git", "www", "shop"},
|
|
|
|
Resolvers: []string{"1.1.1.1:53", "9.9.9.9:53"},
|
|
|
|
}
|
|
|
|
|
|
|
|
opts.OnResult = func(result *dns.Result) {
|
|
|
|
fmt.Println(result)
|
|
|
|
}
|
|
|
|
|
|
|
|
run := runner.New(opts)
|
|
|
|
fmt.Println(run.Wildcard("disney.com"))
|
|
|
|
run.Start()
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2024-07-08 01:04:54 +00:00
|
|
|
## Credits
|
|
|
|
Thanks to [aiodnsbrute](https://github.com/blark/aiodnsbrute) for the inspiration
|
|
|
|
|
|
|
|
## Disclaimer
|
|
|
|
###### Developers are not responsible for any misuse
|