Vulnerabilidad de raíz de High Sierra: ¿cómo verificar si alguien inició sesión de forma remota?

En macOS High Sierra, ¿dónde puedo encontrar las direcciones IP que iniciaron sesión en mi Mac a través de Screen Sharing o ssh?

Eso sería útil a la luz de la vulnerabilidad de inicio de sesión raíz descubierta recientemente.

Respuestas (3)

Como señala @Melvin, se acaba de lanzar un parche. Pero a la pregunta en cuestión, la respuesta fácil es no , eran root en su máquina. Está comprometido, punto, por definición, no puedes confiar en nada si sospechas que estuvo comprometido.

Para profundizar más, si alguien obtuviera acceso remoto a la raíz de su máquina, nunca podría ver los rastros de eso si saben lo que están haciendo y limpian sus huellas.

Esto no fue "alguien obtuvo la llave de la oficina del jefe y se metió un poco allí", esto es "alguien obtuvo la llave maestra, fondos ilimitados y un equipo de construcción ilimitado con tiempo ilimitado disponible". Si sospecha que se vio comprometido, formatee y vuelva a instalar.

Para responder a la pregunta en términos simples (es decir, cómo alguien sin las habilidades previas de limpieza de huellas probablemente dejaría huellas).

Comencemos con ssh, para una discusión completa, vea esta pregunta . En resumen, busque ssh o sshd (la parte "servidor" de ssh) en "Console.app" o por terminal:

cat /var/log/system.log | grep sshd

El problema con sshd es que normalmente nada se registra realmente (preocupaciones de seguridad AFAIK).

El mismo problema existe con VNC / Screen Sharing y Apple Remote Desktop / Remote Management, vea por ejemplo this , this y this , que las conexiones normales aceptadas no se registran. Solo los rechazados. Los rechazados probablemente vendrían de "screensharingd", así que búsquelo en "Console.app" o terminal

cat /var/log/system.log | grep screensharingd

Excepto esto, ¿qué otras pistas se podrían encontrar fácilmente? Revisaría a los usuarios y me aseguraría de que solo sean usuarios válidos y que no hayan cambiado los niveles de permiso, etc.

compartir panel osx

También verificaría si algún servicio remoto está habilitado. Vea la imagen a continuación. Son de interés "Pantalla compartida", "Inicio de sesión remoto" y "Administración remota". cmd + espacio -> "compartir" es la forma más fácil de llegar allí.

¡Lindo! ¡¡Muy útil!! Me retracté de mis comentarios anteriores ahora que en realidad respondiste la pregunta de cómo verificar los registros. +1

No he podido explotar esta vulnerabilidad de forma remota, sin embargo, pude mientras estaba conectado y tratando de escalar mis privilegios en Preferencias del sistema usando "root" sin contraseña.

Para detectar esto, escanee los registros de la máquina deseada con el siguiente comando en la Terminal.

sudo log show --style syslog | fgrep "authenticated as user root (UID 0) for right"

El resultado de este comando le mostrará el UID del usuario que inició sesión cuando se explotó esta vulnerabilidad y la hora. Tómese el tiempo y busque ssh o conexiones remotas en ese período de tiempo.

Actualice, para buscar inicios de sesión a través de la cuenta raíz, use el siguiente comando en la Terminal.

sudo log show --style syslog | fgrep 'loginwindow' | fgrep 'root'
Esto no captura el caso "remoto en como raíz", que ocurría si había activado Compartir pantalla, sino el caso local "escalar a raíz". No digo que no hayas dicho eso, pero aclaro para los lectores.
Sí, gracias por la aclaración. Mi actualización proporcionaba una forma de detectar si alguien ejecutó el exploit para iniciar sesión localmente. Debido a que no pude ejecutar el exploit de forma remota, no sé cómo se vería la entrada de registro. Gracias.

No existe una manera fácil y confiable de obtener la dirección IP de su atacante a menos que haya realizado operaciones muy estúpidas (como ftpusar otra herramienta desde su computadora de ataque real).

cable trampa

La única forma seria de detectar un ataque de este tipo o cualquier ataque futuro a través de otra vulnerabilidad de MacOS X es instalar y usar tripwire . tripwirees un software de registro de modificaciones proveniente del campo Unix y de seguridad. (Puedes instalarlo con Macports).

Si lo instaló anteriormente, tripwirepodría detectar un ataque exitoso de cualquiera de las 3 formas, según el nivel de habilidad del atacante.

Ataque de alto nivel

Su atacante sabe tripwirey sabe que no puede alterar su base de datos. Él elimina todos sus accesos o borra completamente su sistema de archivos para evitar ser rastreado.

Ataque de nivel medio

tripwireSe eliminó su instalación y se mantuvo su acceso. Detectará este ataque mediante la eliminación de tripwire.

Ataque de bajo nivel

Su atacante no lo sabe tripwirey todas sus modificaciones, incluso las pistas de registro eliminadas, serán registradas.