
DarkSword to nowy „miecz” na iPhone’y. I tym razem to również twój problem, a także setek milionów innych użytkowników.
DarkSword to tzw. full‑chain exploit kit na iOS. Zestaw kilku podatności połączonych w jeden łańcuch, który pozwala przejść drogę od „otworzyłeś stronę w Safari” do „atakujący ma pełne uprawnienia w jądrze systemu i wyciąga z telefonu wszystko, co się da”. Google opisuje sześć luk wykorzystanych w tym łańcuchu – od błędów w silniku JavaScriptCore w Safari, przez obejście mechanizmów PAC w dyld, po podatności w sterownikach GPU i jądrze XNU.
DarkSword działał na iOS 18.4-18.7, a więc na wersjach zastąpionych przez nowsze, załatane już wersje systemu Apple’a. Problem w tym, iż nie wszyscy na rzeczoną aktualizację się zdecydowali. Według szacunków iVerify -opartych na danych telemetrycznych i statystykach udziału wersji iOS – w momencie publikacji badań podatnych mogło być około 14,2 proc. aktywnych iPhone’ów. Czyli mniej więcej 221,5 mln urządzeń.
Jak wygląda atak: od Safari do jądra w kilka sekund
DarkSword nie wymaga aby ktoś zainstalował podejrzaną apkę, kliknął w dziwny załącznik czy dał się nabrać na fałszywy profil MDM. Wystarczy wejść na odpowiednio przygotowaną stronę w Safari. Atakujący nie wysyła nic do konkretnej ofiary, tylko przejmuje serwisy, które jego cele i tak odwiedzają.
W Ukrainie skompromitowano m.in. serwis informacyjny novosti.dn.ua i stronę sądu administracyjnego 7aac.gov.ua. Do ich kodu dorzucono niewidoczny iframe, który ładował skrypt z domeny static.cdncounter[.]net. Ten z kolei odpalał kolejne etapy łańcucha: loader, exploit RCE na Safari, sandbox escape, eskalację uprawnień i wreszcie implanty w pamięci.
Pierwszy etap to błąd w JIT‑cie JavaScriptCore. Dla iOS 18.4-18.5 wykorzystywano podatność w obsłudze RegExp (CVE‑2025‑31277), dla 18.6-18.6.2 – inny błąd typu use‑after‑free w fazie StoreBarrierInsertion (CVE‑2025‑43529). Oba pozwalały zbudować prymitywy addrof/fakeobj, a potem pełny arbitralny odczyt/zapis pamięci w procesie WebContent.
Kolejny krok to obejście Trusted Path Read‑Only i Pointer Authentication Codes przez manipulację strukturami dyld w pamięci stosu (CVE‑2026‑20700). Dzięki temu atakujący mógł wykonywać dowolny kod mimo PAC. Następnie łańcuch przenosił się do procesu GPU Safari, wykorzystując błąd out‑of‑bounds w ANGLE (CVE‑2025‑14174), a stamtąd – przez podatność Copy‑On‑Write w sterowniku AppleM2ScalerCSCDriver (CVE‑2025‑43510) – do procesu mediaplaybackd, który stawał się trampoliną do jądra (CVE‑2025‑43520).
Brzmi jak referat z konferencji bezpieczeństwa, ale całość jest napisana… w czystym JavaScripcie. Wszystko to moduły JS ładowane w pamięci i wstrzykiwane do istniejących demonów systemowych.
Co DarkSword kradnie z iPhone’a
Po udanej eskalacji uprawnień DarkSword odpala główną funkcję start() w module pe_main.js. Tam zaczyna się adekwatna „praca” na danych. Implant najpierw ustawia obejście filtrów MIG dla nowszych wersji iOS, inicjuje łańcuch ROP‑owy i zdobywa uchwyt do launchd, żeby móc nadawać procesom dodatkowe tokeny i manipulować ich sandboxem.
Potem zaczyna się wstrzykiwanie JavaScriptu w systemowe demony:
- do SpringBoard trafia główny agent,
- do configd – moduł kopiujący keychain i keybagi do katalogów tymczasowych,
- do wifid i securityd – moduły wyciągające hasła do sieci Wi‑Fi (to właśnie tam pojawia się zmienna DarkSword-WIFI-DUMP, od której wzięła się nazwa całego kitu),
- do UserEventAgent – moduł do zrzutu plików z iCloud Drive.
Po krótkim odczekaniu implant odpala „file_downloadera”, który pakuje i wysyła na serwer atakującego cały zestaw „forensic files”. Lista jest długa i bardzo konkretna: baza SMS/iMessage, historia połączeń, kontakty, dane Telegrama i WhatsAppa, historia i zakładki Safari, cookies, lokalizacje z locationd, notatki, kalendarz, metadane zdjęć, bazy Health, informacje o SIM i sieci komórkowej, ustawienia Find My, listy zainstalowanych aplikacji, a przede wszystkim – wszystkie najważniejsze keybagi i baza keychaina.
Osobny moduł skanuje aplikacje kryptowalutowe: od Coinbase, Binance i Ledger Live, przez Metamask, Trust Wallet, Phantom, po aplikacje giełd i DeFi. Szuka plików portfeli, baz danych, wszystkiego, co może pomóc w przejęciu środków. To nie jest więc tylko narzędzie szpiegowskie – to także bardzo praktyczny kombajn do kradzieży krypto.
Na koniec implant sprząta po sobie: usuwa crashlogi z katalogu systemgroup.com.apple.osanalytics/DiagnosticReports i próbuje kasować tymczasowe pliki z /tmp i /private/var/tmp. Nie robi tego w sposób doskonały (część logów zostaje w głównym CrashReporterze), ale wystarczająco dobrze, żeby utrudnić analizę zwykłym narzędziom.
Apple, łatki i niewygodne pytania
Jeśli jesteś w grupie docelowej Spider’s Web, to pewnie i tak masz włączone automatyczne aktualizacje i nie trzymasz się kurczowo starego iOS „bo tak”. Ale DarkSword jest dobrym momentem, żeby przestać traktować bezpieczeństwo iPhone’a jako coś „domyślnie załatwionego przez Apple”.
Wersja systemu naprawdę ma znaczenie. o ile z jakiegoś powodu siedzisz jeszcze na 18.4-18.6.2 to jesteś dokładnie w tej grupie, którą badacze liczą w setkach milionów podatnych urządzeń. Aktualizacja do 26.3.1/18.7.6 nie jest „kolejnym nudnym patchem”, tylko realnym odcięciem się od całego problemu.
Warto też przestać myśleć o atakach tylko w kategoriach „podejrzanych SMS‑ów z linkiem”. W przypadku DarkSword wystarczy wejść na stronę lokalnego portalu, sądu, czy serwisu społecznościowego, do którego ktoś wcześniej się włamał. Nie trzeba nic klikać poza „otwórz w Safari”.
DarkSword pokazuje, iż bezpieczeństwo iOS nie jest magiczną adekwatnością, tylko efektem ciągłej walki z bardzo zmotywowanym, dobrze opłacanym przeciwnikiem. To nie powód, żeby panikować i wyrzucać iPhone’a do kosza. To raczej moment, żeby zaktualizować system, i włączyć trochę zdrowego sceptycyzmu wobec marketingu „najbezpieczniejszego telefonu świata”.











