Red Hat anunció recientemente un error importante relacionado con la seguridad en el shell Bash. Algunos lo llaman el error "shellshock". Dado que OS X se basa en Unix, ¿es vulnerable a los ataques que aprovechan este error?
Como usuario final, ¿debo preocuparme por una solución inmediata? ¿O es mejor que espere una actualización de software oficial de Apple?
Sí, eres técnicamente vulnerable. Entonces, si tiene ganas de entrar en pánico o facturar a un cliente en pánico por unas horas de trabajo de pánico, ¡adelante!
Pero la realidad es que, a menos que permita el acceso SSH desde conexiones remotas o un servidor web que ejecuta secuencias de comandos del lado del servidor, no está en riesgo. Solo es verdaderamente vulnerable si alguien que no conoce puede acceder de forma remota a su máquina y hacerlo de una manera en la que se pueda ejecutar un comando Bash.
Lo que significa que su Mac de escritorio, que en realidad no ejecuta aplicaciones de servidor de ningún tipo, no corre ningún riesgo grave. Estoy dispuesto a comer un poco de "pastel humilde" proverbial aquí, pero no creo que la mayoría de los usuarios de Mac estén en riesgo al final del día.
Por lo tanto, este problema preocupa principalmente a los administradores de sistemas en servidores Mac OS X y Unix/Linux expuestos al mundo, no a los usuarios de escritorio que no habilitan el uso compartido de SSH.
Tal vez exista un riesgo extremo de que se cree un malware o virus de Mac para explotar este riesgo, pero lo dudo.
EDITAR: Y solo para explicar cómo este problema, en mi humilde opinión, no es realmente un problema para la mayoría de los usuarios promedio, sí, puedo ejecutar el siguiente comando desde bash
Mac OS X 10.9.5:
env x='() { :;}; echo vulnerable' bash -c 'echo hello'
Y veo esto:
vulnerable
hello
¿Adivina qué? Eso solo es aterrador si no lo piensas racionalmente. Ya tenía que haber iniciado sesión en mi Mac para incluso abrir la Terminal. Y para negar lo que dije sobre SSH anteriormente, incluso para llegar al punto en que puedo ejecutar esta prueba incluso si SSH está habilitado, aún tendría que iniciar sesión para empezar. Y luego, digamos que tengo acceso a través de SSH, el comando no me permite hacer NADA más allá de mis derechos de usuario normales, como este:
env x='() { :;}; echo vulnerable' bash -c 'cat /etc/ssh_host_rsa_key'
Lo que significa que si realmente es vulnerable a ser explotado por este truco, su seguridad central en el sistema tendría que estar tan comprometida que el hecho de que bash
tenga una falla es realmente el menor de sus problemas.
Esta es una preocupación de un problema general de control y derechos, ya que tiene la posibilidad de permitir el acceso no deseado, ya que el comportamiento se extiende fuera de las normas esperadas. Pero en mi humilde opinión, no es un riesgo a la par con OpenSSL o la variedad común de riesgos "déjame dejar mi contraseña en una nota pegada a mi pantalla".
Al final del día, todavía estoy parcheando todos mis servidores Linux/Unix que ejecuto como procedimiento estándar. Y felizmente parchearé las Mac que administro una vez que haya una solución. Pero para el uso práctico del día a día me siento bien sin preocuparme por esto ya que no entiendo cómo una falla que no permite privilegios de usuario elevados suma nada.
ACTUALIZACIÓN: Palabra oficial de Apple publicada aquí ; énfasis mío:
“La gran mayoría de los usuarios de OS X no corren el riesgo de vulnerabilidades de bash recientemente informadas”, dijo un portavoz de Apple a iMore. control de sistemas vulnerables. Con OS X, los sistemas son seguros de manera predeterminada y no están expuestos a vulnerabilidades remotas de bash a menos que los usuarios configuren servicios UNIX avanzados. Estamos trabajando para proporcionar rápidamente una actualización de software para nuestros usuarios avanzados de UNIX”.
Traducción: ¿Lo que dije anteriormente acerca de que esto es un problema del servidor y no un problema del cliente? Exactamente.
UNA ACTUALIZACIÓN FINAL: para cualquiera que tenga problemas para compilar desde el código fuente, a partir del 29 de septiembre, Apple ha lanzado oficialmente parches para Mac OS X 10.9.5, 10.8.5 y 10.7.5:
OTRA ACTUALIZACIÓN FINAL: ¡Y ahora, Apple acaba de lanzar hoy una actualización de seguridad combinada que también incluye la bash
actualización !
Nota: La actualización de seguridad 2014-005 incluye el contenido de seguridad de OS X bash Update 1.0
bash
. Entonces, ¿el miedo se basa en qué exactamente? Además, incluso si la cuenta de invitado está abierta y de alguna manera bash
se puede usar, ¿entonces qué? Por lo que veo, supongo que usar este exploit no tendría privilegios elevados ni nada parecido. En serio, estoy dispuesto a dar marcha atrás en mi postura, pero esto parece más un pánico basado en no mucho, mientras que OpenSSL fue un problema real.bash
vulnerabilidad, puede obligar a cualquier demonio a ejecutarse como root y usar un bash para ejecutar cualquier comando con los privilegios de root . De forma predeterminada en Mavericks, la cuenta de invitado está desactivada y el ssh
acceso también está desactivado :).bash
manualmente desde la fuente. Habrá TONELADAS más de daño en las máquinas de los clientes debido a consejos como este que los que se producirían con cualquier exploit verdadero de "Shellshock".@mac.com
dirección. No hace nada más que pasar el mensaje en Mail.app, que muestra el PDF en el panel de vista previa, que luego activa la carga útil (CVE-2014-4377). Su bash sin parches podría convertir este exploit de usuario (malo) en un exploit de nivel raíz (peor).¡Sí!
Escriba esto en su caparazón
env x='() { :;}; echo vulnerable' bash -c 'echo hello'
Si dice vulnerable
que eres vulnerable.
si dice
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello
entonces eres bueno
Editar: enlace a la solución
env X="() { :;} ; echo busted" /bin/sh -c "echo completed"
: incluso después de parchear mi sistema, este arroja un 'roto' en la línea de comando. Bah./bin/sh
... necesita reemplazar ambos /bin/sh
y /bin/bash
estar protegido. /bin/sh
es en realidad más problemático, ya que es el shell que es probable que utilicen los lenguajes de secuencias de comandos para ejecutar comandos de shell.bash
El problema era que compilar desde el código fuente de Apple con xcodebuild haría ambas cosas sh
en un solo paso. Construir a partir de la fuente Vanilla GNU requiere compilaciones separadas. Además, bashbug
tiene una ubicación de instalación diferente en OS X que la salida de GNU, por lo que también debe moverse.Como usuario final , compruebe que:
su cuenta de invitado está desactivada:
Preferencias del sistema > Usuarios y grupos > Usuario invitado
su ssh
acceso está desactivado:
Preferencias del sistema > Compartir > Inicio de sesión remoto
De forma predeterminada, ambos están desactivados en Mavericks.
Como usuario final , es más seguro esperar una actualización de seguridad oficial de Apple que solucione esta bash
vulnerabilidad.
Todas las máquinas Mac OS X son técnicamente vulnerables a "Shellshock", hasta que Apple publica una actualización de seguridad que parchea bash, pero...
Tu pregunta debería ser: ¿Puedo ser hackeado de forma remota?
Hay tanto software que se usa bash
distraídamente que responder a esa pregunta es extremadamente difícil. Si está preocupado, le sugiero varios cambios System Preferences
para evitar exploits remotos:
Si está particularmente preocupado, presione el Firewall
botón de opciones para:
Automatically allow signed software to receive incoming connections
.Block all incoming connections
_Todavía existe una posibilidad respetable de que seas vulnerable a un ataque de nivel usando DHCP, Bonjour, etc., pero bueno, si necesitas otro servicio, obviamente puedes dejarlo funcionando mientras esperas que no sea explotado. Y también deberá dejar el cortafuegos más abierto. Es probable que esté bien si su máquina vive detrás de otro firewall.
Además, ¿hay ataques de escalada de privilegios locales habilitados por "Shellshock"? Sí, casi seguro. Sin embargo, no me preocuparía porque Mac OS X tiene suficientes ataques similares. Apple no repara rápidamente los errores de escalada de privilegios locales. Y Apple los crea con frecuencia con los servicios habilitados para Apple Script. Simplemente suponga que todas las máquinas Mac OS X siempre son vulnerables a los ataques locales. Si necesita asistir a conferencias de piratas informáticos como DEFCON, cómprese una caja de Linux para ese propósito.
Actualización: hay instrucciones para volver a compilar su propio bash fijo y también se cubren otras preguntas . Lo haré yo mismo, pero en mi humilde opinión, eso es excesivo si no ejecuta ningún servidor y mantiene el firewall de Apple activado de todos modos.
Actualización: si se siente cómodo con el uso de la terminal, hay un programa llamado execsnoop
mencionado aquí que le permitirá probar si los procesos del servidor suelen llamar a bash. No es una bala mágica ya que el proceso del servidor puede llamar a bash solo en situaciones inusuales, pero le dará una buena idea.
Finalmente, Apple no es muy bueno parcheando las vulnerabilidades de seguridad, pero son buenos en relaciones públicas, por lo que esto se parcheará relativamente rápido. Por lo tanto, es razonable pensar "No necesito correr más rápido que el oso, solo necesito correr más rápido que la gran cantidad de servidores fácilmente explotables en Internet". :)
strings /usr/libexec/bootpd | egrep '/bin|bash'
y nm -a /usr/libexec/bootpd | egrep 'fork|exec'
. Al leer el resultado de estos comandos en diferentes versiones de MacOS X, es posible que reconsidere su análisis de riesgo debido a dhcpd
MacOS X... pero solo este :(.otool -L /usr/libexec/bootpd
informa que contiene una exec
llamada. Y el strings
comando no tiene sentido ya que las variables de entorno determinan el shell llamado. Sin embargo, estoy impresionado de que no le hayan gustado las llamadas a la biblioteca system
.otool -L
, el único resultado que recibo es una lista de bibliotecas (CoreFoundation, SystemConfiguration, OpenDirectory, libresolv.9.dylib y libSystem.B.dylib)strings .. | grep SHELL
es mucho más útil que bash
, pero no absoluto. Imho nm -a ... | grep system
es el más importante, y exec
también ayuda, pero eso es solo para el software BSD, Linux, etc. de vainilla. Las bibliotecas de Apple ofrecen diferentes rutinas. Simplemente use la forma Cocoa, por ejemplo: stackoverflow.com/questions/412562/…bash
.Creé esta herramienta tan pronto como me enteré de esta vulnerabilidad. Le proporcionará un enlace a un artículo para parchear su caparazón si la herramienta determina que es vulnerable.
Requiere Mac OS X 10.6 y superior.
sin ladera
mmmmmm
bote de pelo
EN