¿Cómo puedo proteger las canalizaciones con nombre en Windows?

5

Tengo algunos malentendidos con respecto a cómo asegurar la comunicación de canalizaciones con nombre en Windows

Por ejemplo, tengo un servicio de Windows que habla con otros procesos a través de tuberías, ¿cómo puedo asegurarme de que estoy hablando del proceso correcto? ¿Hay formas de autenticar las conexiones? Sé que Chrome implementó algunas medidas de seguridad en su código, pero tuve problemas para seguir la implementación.

También leí sobre los ataques de suplantación de tuberías que se pueden usar contra las tuberías y también tuve problemas para entender cómo funcionan estos ataques o cómo bloquearlos.

    
pregunta FigureItOut 15.05.2016 - 16:29
fuente

1 respuesta

2

Del Manual de Gray Hat Hacking The Ethical Hacker, 4ª edición:

  

Enumeración de canalizaciones con nombre

     

Las canalizaciones con nombre son similares a las secciones compartidas en   que los desarrolladores solían pensar, incorrectamente, que las tuberías con nombre aceptan   solo datos confiables y bien formados de usuarios o programas que se ejecutan en el   mismo nivel de privilegio que el programa que ha creado la canalización con nombre.   Hay (al menos) tres amenazas de elevación de privilegios con nombre   tubería. Primero, las tuberías con nombre ACL débilmente pueden ser escritas por   atacantes de bajo privilegio, que pueden causar fallas lógicas o de análisis   en un programa que se ejecuta en un nivel de privilegio superior. Segundo, si los atacantes   puede engañar a los usuarios con privilegios más altos o procesos para conectarse a sus   en una tubería con nombre, los atacantes pueden suplantar al llamante. Esta   La funcionalidad de suplantación de identidad está integrada en la canalización con nombre.   infraestructura. Finalmente, los atacantes también pueden encontrar información.   reveló desde la tubería que de otro modo no podrían   acceso. AccessChk no parece admitir canalizaciones con nombre de forma nativa, pero   Mark Russinovich de Sysinternals creó una herramienta específicamente para   enumerar las tuberías con nombre. Aquí está la salida de PipeList.exe :

PipeList v1.1
by Mark Russinovich
http://www.sysinternals.com
Pipe Name                      Instances      Max Instances
---------                      ---------      -------------
TerminalServer\AutoReconnect        1             1
InitShutdown                        2            -1
lsass                               3            -1
protected_storage                   2            -1
SfApi                               2            -1
ntsvcs                              6            -1
scerpc                              2            -1
net\NtControlPipe1                  1             1
net\NtControlPipe2                  1             1
net\NtControlPipe3                  1             1
  

La GUI de Process Explorer mostrará el descriptor de seguridad para   tuberías con nombre. El ataque " en cuclillas " o "atrayente" (el segundo   amenaza de elevación de privilegios mencionada anteriormente) requiere una   atacante que tiene el SeImpersonatePrivilege para influir en el comportamiento   de un proceso que se ejecuta en un nivel de privilegio superior. Un ejemplo   descubierto por Cesar Cerrudo involucró a un atacante que pudo establecer el   ruta del archivo en el registro para la ruta del archivo de registro de un servicio a un   valor arbitrario. El ataque consistió en establecer la ruta del archivo de registro a   \ ?? \ Pipe \ AttackerPipe, creando esa canalización con nombre, causando que un evento   ser registrado, y suplantando a la persona que llama LocalSystem que se conecta a   \ ?? \ Pipe \ AttackerPipe.

    
respondido por el atdre 16.05.2016 - 10:05
fuente

Lea otras preguntas en las etiquetas