En este puerto encontramos el canal de comunicación utilizado por el protocolo IRC (Internet Relay Chat). Este protocolo es uno de los sistemas de chat de texto y mensajería instantánea más antiguos de internet, diseñado principalmente para la comunicación en grupo mediante canales de conversación.
Este utiliza un protocolo de transporte TCP, para garantizar que los mensajes de texto lleguen completos, en el orden correcto y sin pérdida de caracteres.
También transmite toda la información en texto plano, esto significa que todos los mensajes, contraseñas y nicks pueden ser interceptados fácilmente por cualquiera que espíe la red (ataques Man-in-the-middle), y que la dirección IP suele quedar expuesta ante otros usuarios del servidor si el nodo no la enmascara.
Reconocimiento

Esta versión de unrealiRCd 3.2.8.1 contiene una vulnerabilidad asociada al CVE-2010-2075, se trata de un backdoor que permitía a los atacantes a ejecutar comandos arbitrarios en el sistema.
Al enviar una cadena especifica (como AB;) al conectarse, el servidor ejecutaba el comando arbitrario sin necesidad de autenticación.
Explotación
Crearemos un script en Python con ayuda de la IA que nos permita abusar de esta vulnerabilidad.



Como PoC utilizamos un comando inofensivo (id) en la máquina víctima, y redirigimos su respuesta hacia nosotros utilizando Netcat.
Hardening
Esta versión se encuentra obsoleta y fuera de soporte, Se recomienda migrar todas las redes IRC a conexiones modernas y cifradas.
El estándar de seguridad actual para IRC es el puerto 6697. Este utiliza SSL/TSL para cifrar todo el tráfico entre el cliente del chat y el servidor, protegiendo la privacidad de la misma forma que el protocolo HTTPS protege a las páginas web.
Entonces nuestra misión será cerrar el puerto y seguir disminuyendo la superficie de ataque.
killall -9 unrealircd
killall -9 ircoz unrealircd 2>/dev/null
Este segundo comando es por que el script intentó levantar otro proceso hijo antes de morir, con este barremos con cualquier rastro.

Puerto 6697
Efecto Colateral de Hardening: Como ejecutamos el comando de limpieza y matamos al proceso padre que mantenía el servicio levantado, cerramos ambos puertos de un solo golpe.
