Supongo que sí, porque el DNS debe resolverse mientras que reverse_tcp usa una dirección IP.
Me gustaría saber todas las diferencias entre ellos, porque aunque me gusta Reverse_tcp_dns, seguiría optando por Reverse_tcp si es mejor.
Respuesta1
Sí, tienes razón. reverse_tcp_dns es más lento que reverse_tcp para establecer la conexión. Las únicas diferencias entre estas dos cargas útiles son que Reverse_tcp_dns requiere más tiempo para volver a conectarse debido a la resolución del nombre de dominio y que la carga útil de Reverse_tcp_dns es aproximadamente 70 bytes más grande que la carga útil de Reverse_tcp.
Respuesta2
La carga útil de Metasploit reverse_tcp_dns
no resuelve las consultas de DNS para volver a conectarse con el atacante, a menos que le haya proporcionado un FQDN como valor LHOST (también puede proporcionar una dirección IP como LHOST).
En cambio, utiliza consultas DNS como modo de comunicación entre la máquina víctima y la máquina atacante. Los comandos que ingresa meterpreter
se envían a la máquina víctima disfrazados dentro de registros DNS, y las respuestas se envían de regreso a su máquina disfrazadas de consultas DNS.
En resumen, el intercambio de datos se realiza a través de TCP en reverse_tcp
y se realiza a través de DNS+TCP en reverse_tcp_dns
. Entonces, sí, hay una sobrecarga significativa al transmitir los datos dentro de los paquetes DNS (que a su vez se convertirán en paquetes TCP) en lugar de transmitirlos a través de paquetes TCP.