Se encuentran toneladas de vulnerabilidades en el puerto tcp / 0 usando escáneres de vulnerabilidad

12

El análisis de vulnerabilidad con credenciales realizado en servidores Linux / Unix por Nessus y miles de vulnerabilidades surgieron del puerto tcp / 0 . ¿Cómo podría un puerto reservado de la IANA (tcp / 0) manejar el tráfico? ¿Esas vulnerabilidades son realmente contables o han resultado falsas positivas? ¿Cómo debemos proceder para el proceso de remediación de las vulnerabilidades mostradas en el puerto tcp / 0?

    
pregunta Shakir 03.02.2018 - 13:26
fuente

2 respuestas

16
  

¿Cómo podría un puerto reservado de la IANA (tcp / 0) manejar el tráfico?

Se puede . En general, el puerto TCP (o UDP) 0 en un estado reservado no significa que no se pueda utilizar en la práctica. Aunque la forma en que se diseñan los zócalos de Berkeley no es tan fácil de enlazar en el puerto cero, es sin embargo posible para usarlo.

Sin embargo , es muy poco probable que esto realmente esté sucediendo en su caso. Solo está utilizando el escáner Nessus que enumera las actividades que no están estrechamente relacionadas con un puerto específico bajo el puerto 0 / TCP o 0 / UDP (consulte: " Vulnerabilidades por host " ). Esto es simplemente una convención (¿inconveniente?) Para mostrar advertencias sin puerto bajo el puerto 0, irónicamente, para evitar confusiones.

Tenga en cuenta que a) no son necesariamente vulnerabilidades, solo advertencias o sugerencias (por ejemplo, no se adhieren a las mejores prácticas de Microsoft al ejecutar un escáner); b) no son necesariamente falsos positivos. Intente ignorar el puerto cero, lea el informe con atención y actúe en consecuencia.

    
respondido por el ximaera 03.02.2018 - 13:38
fuente
3
  

¿Cómo podría un puerto reservado de la IANA (tcp / 0) manejar el tráfico?

Si bien la respuesta aceptada explica cómo el puerto 0 sigue siendo un puerto real, puede ser útil comprender cómo funcionan los puertos en TCP. A continuación se muestra un diagrama de 32 bits del paquete TCP, para escalar. UDP es similar, aunque mucho más simple (después de los puertos, tiene solo un campo de longitud y un campo de suma de comprobación antes de los datos).

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-------------------------------+-------------------------------+
|          Source Port          |       Destination Port        |
+-------------------------------+-------------------------------+
|                        Sequence Number                        |
+---------------------------------------------------------------+
|                    Acknowledgment Number                      |
+-------+-----------+-+-+-+-+-+-+-------------------------------+
|  Data |           |U|A|P|R|S|F|                               |
| Offset| Reserved  |R|C|S|S|Y|I|            Window             |
|       |           |G|K|H|T|N|N|                               |
+-------+-----------+-+-+-+-+-+-+-------------------------------+
|           Checksum            |         Urgent Pointer        |
+-------------------------------+-------------------------------+
|                    Options                    |    Padding    |
+-----------------------------------------------+---------------+
|                                                               |
/                   ... Data (optional) ...                     /
|                                                               |
+---------------------------------------------------------------+

Como puede ver, los campos del puerto de origen y del puerto de destino tienen un ancho de 16 bits. Esto significa que puede representar 65536 diferentes estados posibles, de 0 a 65535. Esto es, por cierto, por qué no hay puertos negativos, ya que el valor se trata como sin signo. Lo único que impide que cualquiera de los puertos sean todos bytes nulos (que representan el puerto 0) es un estándar de la IANA que dice que no debe hacer eso. Es perfectamente posible que un paquete se envíe con cualquiera de los puertos establecidos a 0. El propósito de mantener el puerto 0 reservado es permitir que "solo me proporcione cualquier puerto" para que se represente mediante un entero de 16 bits. Cuando se intenta enlazar con TCP / 0, en lugar de escuchar paquetes con el puerto de destino configurado en todos los ceros, se supone que el sistema se enlaza con cualquier puerto disponible.

    
respondido por el forest 04.02.2018 - 06:26
fuente

Lea otras preguntas en las etiquetas