https://github.com/mrmtwoj/dnsrce
A simple DNS-based remote command execution (RCE) tool that allows a client to send commands to a server using DNS queries. The tool encrypts the commands, sends them to the server, and then decrypts the server's response. This tool is built with Python and uses DNS for communication between the client and the server.
https://github.com/mrmtwoj/dnsrce
acyber aes aes-encryption dns dns-remote-command-executor dns-server dnstunnel poc rce rce-exploit
Last synced: 4 months ago
JSON representation
A simple DNS-based remote command execution (RCE) tool that allows a client to send commands to a server using DNS queries. The tool encrypts the commands, sends them to the server, and then decrypts the server's response. This tool is built with Python and uses DNS for communication between the client and the server.
- Host: GitHub
- URL: https://github.com/mrmtwoj/dnsrce
- Owner: mrmtwoj
- Created: 2025-02-03T14:10:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-03T14:27:00.000Z (over 1 year ago)
- Last Synced: 2025-07-15T01:22:41.563Z (12 months ago)
- Topics: acyber, aes, aes-encryption, dns, dns-remote-command-executor, dns-server, dnstunnel, poc, rce, rce-exploit
- Language: Python
- Homepage: https://acyber.ir
- Size: 544 KB
- Stars: 1
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## DNS Remote Command Executor
A simple DNS-based remote command execution (RCE) tool that allows a client to send commands to a server using DNS queries. The tool encrypts the commands, sends them to the server, and then decrypts the server's response. This tool is built with Python and uses DNS for communication between the client and the server.
Features
Remote Command Execution (RCE): Send commands to the server through DNS queries.
AES Encryption: Commands are encrypted before being sent and decrypted upon receiving the response, ensuring secure communication.
Simple Setup: Easy to configure and use with a few command-line arguments.
About and Help Options: Built-in -help and -about options for user assistance.
## Features
- Remote Command Execution (RCE): Send commands to the server through DNS queries.
- AES Encryption: Commands are encrypted before being sent and decrypted upon receiving the response, ensuring secure communication.
- Simple Setup: Easy to configure and use with a few command-line arguments.
- About and Help Options: Built-in -help and -about options for user assistance.
## Screenshots

## Requirements
- Python 3.x
- cryptography library (for AES encryption/decryption)
## Installation
- Before running the tool, you need to install the required dependencies. You can install them using pip:
## Deployment
To deploy this project run
```bash
pip install cryptography
```
## Used By
Basic Command
To send a command to the server, use the following syntax:
```bash
python cli.py -ip -port -rce ""
```
- ip (optional): The IP address of the server (default is 192.168.20.147).
- port (optional): The port of the server (default is 53).
- rce (required): The command you want to execute on the server.
## How It Works
### Client:
+ The client sends a DNS query to the server with the command (e.g., ls) encrypted using AES encryption.
+ The command is transmitted via a UDP socket.
+ After sending the command, the client waits for the server's response, which is decrypted upon receipt.
### Server:
+ The server listens for incoming DNS queries, decrypts the command, executes it, and then sends the result back to the client.
+ The response is also encrypted before being sent back to the client.
## About
+ Mr.mtwoj@gmail.com
+ acyber.ir