UBlock Origin ya cuenta con el soporte para el bloqueo de escaneo de puertos de red
Recientemente, se dio a conocer información sobre que ciertos sitios web realizan escaneos de puertos de host local en contra de los visitantes, esto “supuestamente” como parte de una huella digital y rastreo de usuarios o detección de bot.
Dentro de esos sitios web, solamente por mencionar uno de los más populares que realizan el escaneo de puertos locales es el sitio de eBay.com.
Además, resultó que esta práctica no se limita a eBay y muchos otros sitios (Citibank, TD Bank, Sky, GumTree, WePay, etc.) utilizan el escaneo de puertos del sistema local del usuario al abrir sus páginas, utilizando el código para detectar intentos de acceso a computadoras pirateadas, proporcionado por ThreatMetrix.
En el caso de eBay, se verificaron 14 puertos de red asociados con servidores de acceso remoto como VNC, TeamViewer, Anyplace Control, Aeroadmin, Ammy Admin y RDP.
Lo más probable es que la verificación se lleve a cabo para determinar si hay signos de malware afectado por el sistema para evitar compras fraudulentas utilizando botnets. El escaneo también se puede utilizar para obtener datos para la identificación indirecta del usuario.
Ante esto el desarrollador de uBlock Origin decidido tomar cartas en el asunto y en EasyPrivacy agregó reglas para bloquear scripts estándar que escanean puertos de red en el sistema del usuario local.
Para el escaneo, se utiliza una técnica basada en un intento de establecer conexiones a varios puertos de red del host 127.0.0.1 (localhost) a través de WebSocket.
El escaneo de puertos es una técnica de confrontación utilizada con frecuencia por pentester o hackers para escanear máquinas con conexión a Internet y determinar qué aplicaciones o servicios escuchan en la red, por lo general para que se puedan llevar a cabo ataques específicos. Es común que el software de seguridad detecte escaneos de puertos activos y lo marque como posible abuso.
El hecho de tener un puerto de red abierto se determina indirectamente en función de las diferencias en el procesamiento de errores al conectarse a puertos de red activos y no utilizados.
WebSocket permite enviar solo solicitudes HTTP, pero una solicitud similar para un puerto de red inactivo falla inmediatamente y para el puerto activo solo después de un tiempo, toma un intento de negociar una conexión. Además, en el caso de un puerto inactivo, WebSocket genera un código de error de conexión (ERR_CONNECTION_REFUSED), y en el caso de un puerto activo, un código de error de negociación de conexión.
Cuando se configura un socket web, especifica un host y un puerto de destino, que no tienen que ser el mismo dominio desde el que se sirve el script.
Para hacer un escaneo de puertos, el script solo tiene que especificar una dirección IP privada (como localhost) y el puerto que desea escanear.
Un escaneo de puertos puede proporcionar información a un sitio web sobre qué software está ejecutando. Muchos puertos tienen un conjunto bien definido de servicios que los utilizan, por lo que una lista de puertos abiertos ofrece una vista bastante buena de la ejecución de aplicaciones.
Por ejemplo, se sabe que Steam (una tienda y plataforma de juegos) se ejecuta en el puerto 27036, por lo que un escáner que vea ese puerto abierto podría tener una confianza razonable de que el usuario también tenía steam abierto mientras visitaba el sitio web.
Además del escaneo de puertos, WebSockets también se puede utilizar para atacar sistemas de desarrolladores web que ejecutan controladores WebSocket para aplicaciones React en el sistema local.
Un sitio externo puede recorrer en iteración los puertos de red, determinar la presencia de dicho controlador y conectarse a él.
Entre la introspección de mensajes de error y los ataques de tiempo, un sitio puede tener una idea bastante buena de si un puerto determinado está abierto.
Si el desarrollador comete un error, el atacante podrá obtener el contenido de los datos de depuración, que pueden incluir información confidencial fragmentaria.
Si quieres conocer mas al respecto, puedes consultar la siguiente publicación.
Fuente: https://nullsweep.com/