Apple go notaryzowało. Aplikacja i tak opróżniła czternaście menedżerów haseł.
Apple nadało notaryzację aplikacji na Maca, która jednym sfałszowanym oknem hasła opróżniła czternaście menedżerów haseł. Nikt nie złamał żadnego systemu. Skarbce przez cały czas znajdowały się na tej samej maszynie.
Ktoś w Jamf wyciągnął w zeszłym tygodniu z pliku aplikację na Maca, która zrobiła wszystko tak, jak trzeba. Podpisana prawdziwym Apple Developer ID. Notaryzowana przez samo Apple. Przeszła Gatekeeper bez jednego ostrzeżenia. Nazywała się CrashStealer i obrabowała ten komputer do cna.
Jedno okno dialogowe. To cały napad.
Pobiera Pan/Pani aplikację, która wygląda na instalator, i przechodzi ona każdą weryfikację Apple — bo faktycznie każdą przechodzi. Dyskretnie pobiera z GitHub drugą aplikację, przebiera ją za własny moduł zgłaszania awarii Apple i wyświetla to jedno okno dialogowe, do którego posłuszeństwa wytrenowano każdego użytkownika Maca: systemowe okno z prośbą o hasło logowania. Wpisuje je Pan/Pani. Złośliwe oprogramowanie potwierdza, że hasło jest prawdziwe, a następnie używa go do odblokowania pęki kluczy macOS i wyniesienia wszystkiego, co się w niej znajduje.
Wszystkiego. Pęk kluczy. Dane logowania z przeglądarki. Osiemdziesiąt rozszerzeń portfeli kryptowalutowych. I czternaście menedżerów haseł z nazwy: 1Password, Bitwarden, LastPass, Dashlane, Keeper oraz dziewięć kolejnych. Jeden stealer, jedno popołudnie, jedno sfałszowane okno hasła.
Skarbiec cały czas był na Pana/Pani Macu.
Żaden z tych menedżerów haseł nie został złamany. To jest część, która ma znaczenie, więc napiszę wprost: nikt nie złamał 1Password, nikt nie złamał Bitwarden, ich serwery mają się dobrze, złośliwe oprogramowanie nawet się do nich nie zbliżyło. Po prostu otworzyło skarbce leżące na Pana/Pani Macu, przy użyciu hasła logowania, które mu podano, bo tam te skarbce mieszkają — odszyfrowane lub o jedno odblokowanie pęki kluczy stąd — na tej samej maszynie, którą może przejąć każdy, posługując się jednym przekonującym kłamstwem.
Oto zasada, której nikt nie drukuje na opakowaniu: jeśli skarbiec odszyfrowuje się na Pana/Pani urządzeniu, to przejęcie tego urządzenia oznacza przejęcie skarbca. Menedżer haseł jest dokładnie tak bezpieczny, jak najmniej ostrożna sekunda, jaka zdarzy się Panu/Pani kiedykolwiek na tym laptopie. Notaryzacja Apple Pana/Pani nie chroniła — przepuściła rabusia, ponieważ sprawdza plik, który Pan/Pani przesyła, a nie plik, który tamten plik pobiera godzinę później. A druga aplikacja w ogóle nie trafia na Gatekeeper, bo wszystko, co zapisze działający program, omija tę weryfikację. Cały łańcuch zaufania to zamek w drzwiach wejściowych bez ściany za nimi.
Apple cofnęło dane uwierzytelniające podpisu dewelopera w chwili, gdy Jamf je zgłosił. Następna ekipa zarejestruje nowe do piątku, bo w samej technice nie naprawiono niczego.
Proszę więc przestać pytać, czy Pana/Pani menedżer haseł zostanie złamany. Prawdopodobnie nie zostanie. Proszę zadać właściwe pytanie: co wynosi stealer, gdy przejmuje maszynę, na której odszyfrowuje się Pana/Pani skarbiec? W przypadku każdego produktu z tej czternastki odpowiedź brzmi: wszystko.
Puste pomieszczenie.
Istnieje jedna architektura, której ta odpowiedź nie dotyczy — i tę zbudowaliśmy. Clavitor nigdy nie odszyfrowuje skarbca na Pana/Pani urządzeniu. Nie ma tu lokalnego pliku skarbca do otwarcia, nic nie leży w pęce kluczy i nigdzie na ścieżce klucza nie ma hasła logowania, które mogłoby ukraść fałszywe okno dialogowe, bo klucz do skarbca żyje na Pana/Pani kluczu sprzętowym i nigdzie indziej. Dane uwierzytelniające są pobierane na żywo, po jednym, w momencie użycia, a następnie znikają. CrashStealer może wykonać całą swoją procedurę na maszynie z Clavitor i zastanie puste pomieszczenie oraz okno hasła, które nie otwiera niczego.
Kłamstwem byłoby twierdzenie, że to czyni punkt końcowy bezpiecznym. Przejęcie maszyny w trakcie używania danego uwierzytelnienia pozwala przechwycić to jedno uwierzytelnienie, w tej jednej chwili. Ale to jeden klucz w ruchu, a nie czternaście skarbców w spoczynku. Cały model biznesowy CrashStealer polega na tym, że łup po prostu tam leży. Gdy usunie się łup, najbardziej zaawansowany stealer na macOS wychodzi z jednym wygasającym tokenem i zdjęciem Pana/Pani tapety.
Czternaście menedżerów haseł opróżnionych przez okno dialogowe i ani jeden nie został złamany. Jeśli to nie zmieni tego, jak myśli Pan/Pani o tym, gdzie Pana/Pani sekrety nocują, nie zmieni już nic.
Clavitor (@clavitorai) to magazyn danych uwierzytelniających zbudowany dla agentów AI — i przeciwko nim. clavitor.ai
Źródła
Jamf Threat Labs (@jamf): "CrashStealer: C++ macOS Infostealer Posing as Crash Reporter." Główna analiza: notaryzowany dropper omija Gatekeeper, pobiera i podpisuje ponownie impersonatora modułu zgłaszania awarii drugiego etapu, fałszuje okno hasła logowania (walidowane lokalnie), odblokowuje pęk kluczy macOS i zbiera dane z przeglądarek, ~80 rozszerzeń portfeli oraz 14 menedżerów haseł przed eksfiltracją AES-GCM. Apple cofnęło dane uwierzytelniające podpisu dewelopera po zgłoszeniu Jamf. [1]
BleepingComputer (@BleepinComputer): "New CrashStealer malware poses as Apple crash reporting tool." [2]
The Hacker News (@TheHackersNews): "CrashStealer macOS Malware Uses Notarized Dropper to Pass Gatekeeper Checks." [3]
(Przed publikacją proszę sprawdzić, czy konta są aktywne: @jamf, @BleepinComputer, @TheHackersNews.)