¿Cómo se puede comprometer este servidor web?

0

Un servidor linux tiene Node.js instalado con el paquete http-server. El servidor responderá a las solicitudes en el puerto 80 con un archivo en el mismo directorio denominado index.html.

Una característica interesante de este servidor es que expone el acceso de lectura completo a los usuarios invitados a través de ssh. Cualquier invitado en el sistema puede ser leído por los invitados (excepto la clave privada SSL). Los usuarios invitados pueden confirmar que los hashes SHA de los binarios del nodo, http-server y ssh en las versiones de referencia del sistema coinciden, y pueden confirmar que esos binarios son los procesos actualmente en ejecución.

¿Es posible que un atacante (a través de la escalada de privilegios) o el propietario del servidor modifique el servidor de tal manera que sirva una versión diferente de index.html para direcciones IP específicas, mientras oculta este hecho de cualquier tercero? fiesta?

    
pregunta user62052 07.12.2014 - 00:50
fuente

2 respuestas

2

Mientras no configure el servidor usted mismo, no puede estar seguro de que lo que está viendo con ssh sea realmente lo que está sucediendo en el servidor. Al final, su acceso ssh podría ser un honeypot bien construido y nada de lo que vea estará relacionado con la actividad real del servidor.

Incluso si ha configurado el servidor usted mismo, no puede estar seguro, ya que aún existe el BIOS, el firmware en las tarjetas de red, el enrutador entre el cliente y el servidor, etc. Todo esto puede afectar a qué datos se transfieren realmente el cliente, pero todos estos podrían utilizarse para comprometer los datos.

E incluso si ssh muestra el estado correcto del servidor y ningún enrutador, iptables u otros están manipulando los datos proporcionados por el servidor: todavía puede haber un malware en la memoria como Darkleech que afecte lo que realmente se sirve. No lo detectará cuando mire la tabla de procesos y no lo detectará cuando mire los archivos, porque está solo en la memoria del servidor HTTP.

    
respondido por el Steffen Ullrich 07.12.2014 - 08:31
fuente
1

Iptables puede hacer esto sin ninguna dificultad.

Cree una cadena para las direcciones IP de destino y, dentro de esa cadena, modifique el paquete de solicitud entrante para que la solicitud sea para un archivo diferente.

Como alternativa, puede modificar los paquetes salientes para que contengan el archivo de destino en lugar del contenido original de index.html.

Ninguno de los archivos binarios o archivos habrían sido alterados de ninguna manera. El único cambio necesario es en la configuración de iptables en ejecución.

Por supuesto, si tiene ese tipo de acceso, también podría modificar el proceso que realiza la verificación SHA de los archivos y binarios para que devuelva resultados falsos. Podría estar ejecutando IIS en Windows y aún así devolver los hashes SHA para Node en Linux.

    
respondido por el Ladadadada 07.12.2014 - 02:06
fuente

Lea otras preguntas en las etiquetas