Este artículo describe un error en el que ingresar a la raíz cuando se le solicita un desbloqueo permite que cualquier usuario desbloquee las preferencias del sistema. Advierte que:
No es necesario que lo haga usted mismo para verificarlo. Al hacerlo, se crea una cuenta "raíz" que otros pueden aprovechar si no la desactiva.
El artículo no describe qué hacer si un ingeniero demasiado ansioso reprodujo el problema y ahora necesita eliminar o deshabilitar la cuenta raíz.
¿Cómo se puede deshabilitar o eliminar esta cuenta de forma segura?
Esta página de Apple describe cómo deshabilitar la cuenta, pero esto no protege contra la falla porque la falla puede volver a habilitar la cuenta. Funcionará para restaurar el sistema a su estado normal con la raíz deshabilitada una vez que se solucione el error de seguridad.
Actualización 2017-11-29 16:43 UTC
Consulte Acerca del contenido de seguridad de la Actualización de seguridad 2017-001 para actualizar macOS High Sierra y evitar que se omita la autenticación del administrador sin proporcionar la contraseña del administrador.
Parche disponible, haga clic aquí, o simplemente actualice en la máquina
Curiosamente, hasta donde yo sé, todavía no hay un parche para las versiones beta y de desarrollador de OSX. Actualizaré esta respuesta tan pronto como me entere de ellos.
Descarga el parche de arriba. Dejando el resto del post para la historia :-)
El CVE es CVE-2017-13872 y NIST actualizará el análisis en un futuro próximo.
Respuesta original, relevante sin parche.
En primer lugar, no deshabilite la cuenta raíz a través de la GUI, tener una cuenta raíz "deshabilitada" es la causa del problema.
Deberá habilitar el usuario root y darle una contraseña. Esto es importante , ya que la vulnerabilidad también está disponible de forma remota, a través de VNC y Apple Remote Desktop (por nombrar algunos) (otra fuente) .
Hay dos formas básicas de hacer esto; Interfaz gráfica de usuario y terminal.
En primer lugar, GUI
Para habilitar la cuenta raíz, vaya a "Utilidad de directorio", es decir, cmd + espacio y busque. Presione el candado para desbloquear el "modo administrador", luego habilite la cuenta raíz a través de editar -> "Habilitar usuario raíz".
Debería pedirte una contraseña de root, por ahora ingresa tu contraseña normal (para que no la olvides). Si no solicita una contraseña, use Editar -> "Cambiar contraseña raíz..." arriba.
Terminal
Si eres más una persona terminal, usa lo siguiente:
sudo passwd -u root
## Enter passwords as needed....
## (if you are using the terminal you should know what you are doing...)
Esto es suficiente con una terminal, el problema con la interfaz gráfica de usuario es que tenemos que habilitar la cuenta para establecer una contraseña, que no tenemos que hacer con la terminal.
notas
Incluso si tiene una contraseña configurada para la cuenta raíz, su computadora se volverá vulnerable si deshabilita la cuenta raíz. La acción de deshabilitar la cuenta raíz parece ser la culpable. Así que repito, el usuario root debe estar habilitado y tener una contraseña si usa la GUI, mientras que a través de la terminal solo usar 'contraseña' está "bien" (aunque este estado es inalcanzable solo a través de la GUI). Parece que "Deshabilitar usuario raíz" en "Utilidad de directorio" elimina la contraseña de la cuenta raíz, en cierto sentido, le brinda una cuenta raíz sin contraseña que es vulnerable.
Parece que intentar iniciar sesión con "raíz" en una ventana de inicio de sesión del sistema habilita la cuenta raíz si estaba deshabilitada previamente. Es decir, con una cuenta raíz deshabilitada, debe ingresar a la raíz dos veces en una ventana de inicio de sesión del sistema para obtener acceso de raíz y (según mis pruebas) en el primer intento, la cuenta raíz está habilitada (sin contraseña si no se establece a través passwd
de), y en el segundo intento pasas.
Parece que el problema ha estado a la vista desde al menos el 13-11-2017 (13 de noviembre), cuando se menciona en el foro de soporte de Apple .
Por favor, demuéstrenme que estoy equivocado, realmente apreciaría estar equivocado en este momento.
Actualización aterradora
Después de habilitar la cuenta raíz sin contraseña (es decir, a través del panel de preferencias del sistema y haciendo clic en un "candado" e ingresando "raíz" con la contraseña en blanco una, dos o tres veces (la cantidad de veces depende del estado inicial)), es posible iniciar sesión en la computadora desde la pantalla de inicio de sesión principal usando "root" y una contraseña en blanco (!). SSH / Telnet no parece funcionar, pero Apple Remote Desktop, Screen Sharing y VNC son vulnerables.
Entonces, para los administradores de redes, podría ser de interés dejar paquetes temporalmente en los siguientes puertos:
Lectura adicional:
Un valiente intento de referenciar otras fuentes que tratan el tema. Edite y actualice mi respuesta si tiene más.
/dev/null
para root. De esta forma, el acceso a la cuenta raíz se produce a través su
de llamadas al sistema para usuarios con ese permiso.Si no puede instalar el parche oficial o no quiere confiar en que funcionó, entonces
No cambiaremos esto en el trabajo hasta que salga la próxima versión completa para macOS, que probablemente sea 10.13.2
A menos que tome medidas, el usuario raíz está deshabilitado de inmediato y esto es malo si su Mac no está parcheada correctamente.
Si lo desea, opcionalmente endurezca el caparazón hasta que Apple tenga un parche o arreglo oficial.
Aquí hay un excelente script para establecer una contraseña raíz aleatoria y cambiar/establecer el shell raíz para /usr/bin/false
que, incluso si se adivina la contraseña, el shell raíz no pueda iniciar sesión:
Básicamente hace tres cosas clave:
rootpassword=$(openssl rand -base64 32)
/usr/bin/dscl . -passwd /Users/root "$rootpassword"
/usr/bin/dscl . -create /Users/root UserShell /usr/bin/false
La creación de UserShell es si el shell no está configurado, y el script completo busca un shell existente y -change
lo es en lugar de -create
enviarlo.
¿Cómo me protejo de la vulnerabilidad raíz en macOS High Sierra?
Ejecute una actualización de software desde la App Store. Apple lanzó una actualización de seguridad esta mañana.
Debe iniciar sesión como usuario raíz y cambiar la contraseña a algo más seguro. Si realmente crea una nueva cuenta (en lugar de habilitar la cuenta raíz ya existente), primero debe eliminar esa cuenta.
Apple acaba de lanzar una actualización para solucionar el problema.
Actualización de seguridad 2017-001 https://support.apple.com/en-us/HT208315
Además, para evitar el acceso no autorizado a sus computadoras Mac, debe habilitar la cuenta de usuario raíz y establecer una contraseña específica para el usuario raíz.
https://support.apple.com/en-ph/HT204012
Si su cuenta de usuario raíz ya está activa, asegúrese de cambiar la contraseña solo para asegurarse de que la vulnerabilidad de la contraseña en blanco no esté configurada.
En primer lugar, root
ha estado presente en todas las versiones de macOS, Mac OS X, Mac OS e incluso versiones antiguas del sistema operativo. macOS no creó recientemente esta cuenta debido a una vulnerabilidad. Simplemente lo expuso por accidente.
Eliminar root
sería una muy mala idea, y déjame decirte por qué.
Paralizaría completamente macOS, ya que no habría una cuenta con suficientes privilegios para ejecutar servicios críticos (como WindowServer, que ejecuta la GUI). Existen medidas de seguridad para evitar que los usuarios despistados eliminen root
, y no debe intentar eludirlas.
Averigüemos quién ejecuta los primeros procesos en el sistema, los procesos más importantes (usando el Monitor de actividad):
¡Oye, es nuestro vecindario amistoso root
otra vez! El primer proceso (con PID 0) en realidad está controlado por el kernel, y probablemente tendrá todos los permisos de todos modos, pero su proceso secundario launchd
(responsable de iniciar servicios como la ventana de inicio de sesión y el propio servidor de ventanas) se inicia con los privilegios de root
. Si root
no existiera, este proceso nunca se habría iniciado o no tendría permisos.
Otras respuestas han proporcionado un parche lanzado por Apple que debería solucionar el problema. Sin embargo, si no puede o no quiere instalarlo...
Funciona porque macOS vuelve a aplicar el hash a la contraseña ingresada como una "actualización" porque se detectó incorrectamente que la cuenta deshabilitada (raíz) tenía un hash antiguo. Todavía dirá que es incorrecto, pero la próxima vez, los hash coincidirán (porque macOS lo cambió) y te permitirá ingresar.
Para proteger root
, tendrá que usar la Utilidad de Directorio. Hay dos formas de acceder a él:
/System/Library/CoreServices/Applications/
y presione Ir (o presione Intro). Luego, abra la Utilidad de Directorio desde allí. Una vez que haya abierto la Utilidad de directorios, tendrá que
Una vez hecho esto, seleccione Change Root Password
o Enable Root User
en el menú Editar. Lo muestro Change Root Password
ya que mi cuenta raíz ya está habilitada con una contraseña segura.
Elija una contraseña, y ahora la contraseña en blanco ya no funcionará.
¡Felicidades! Ya no eres vulnerable al hackeo de raíz.
!
(lo cual, como tipo UNIX, probablemente reconocerá) correctamente.
Monty más duro