¿Has probado Wikipedia ?
En resumen, el malware (A) necesita conectarse a (B).
Esto se puede hacer usando muchos métodos diferentes.
Lo más fácil de configurar (en mi opinión) es usar el protocolo HTTP (servidor web) .
Usted crea un servidor web simple con scripts PHP cortos que manejan las solicitudes entrantes. Usted envía / solicita solicitudes utilizando sockets (por ejemplo) la API de Windows.
Contramedidas: Bloqueo de este dominio / dirección IP específico en su firewall. Debería mencionar que, con frecuencia, el malware tiene múltiples direcciones de servidor codificadas en su fuente para contrarrestar esta contramedida.
Si trabaja en una empresa / gobierno de seguridad, la contramedida sería ponerse en contacto con el proveedor del host para eliminar ese sitio web o, en algunos casos, incluso piratear el servidor.
Otro uso muy frecuente es el uso de IRC en las salas de chat. Usted crea una sala de chat IRC segura y privada, y luego puede "chatear" con su malware. En otras palabras, envía un comando al chat-box, y el malware ("leyendo" los mensajes del chat) recibirá los comandos y los ejecutará. IRC se utiliza principalmente debido a la simplicidad y sus bajos requisitos de ancho de banda.
Contramedida: Bloquee puertos TCP específicos como 6667 (específico a IRC), nuevamente debo mencionar que IRC intenta otros puertos también si 6667 está bloqueado.
Lo que también se usa con frecuencia es P2P (Peer-to-peer), usas tu propia conexión / computadora como servidor C & C. El malware se comunica directamente con su red para recibir comandos.
Esto es lo que usas la mayoría del tiempo con marcos como Metasploit.
Contramedidas: Aquí, la IP del atacante sería estática, por lo que el simple bloqueo de la IP debería funcionar. Nuevamente, si está trabajando en una empresa / gobierno de seguridad, puede registrar la IP y con suerte tiene la IP del atacante. El atacante también podría usar una VPN que permita el reenvío de puertos, pero entonces ya no es un P2P real.
Como ve, su firewall es importante.