Стани премиум член и добиј попуст на 2000+ производи и куп други бенефити!
  • Важно
    Имате проблем со најава или регистрација на it.mk?
    Побарајте го решението на вашиот проблем ТУКА!

Operation Triangulation: Најнапредниот Apple exploit досега

Gilfoyle

Practice makes perfect
10 септември 2009
529
1.861
L80CTL8.jpg


За љубителите на добро четиво што за жал се поретко го наоѓаме на форумов издвоив малце време да напишам некој збор за Operation Triangulation односно нај-напредниот exploit кај Apple уредите досега.

Пред две години зборевме за Македонскиот шпионски софтвер Predator од компанијата Cytrox, иако тогаш се објавија и имиња и детални информации, досега ништо не се смени напротив Predator-от на Cytrox пред некој месец беше повторно тема низ медиумите кога на 21 септември Apple издаде Security patch каде што во release notes велат дека неколку 0-day ранливости се пачирани и дека истите се користеле најмалку 6 месеци за заразување на уреди.

Се работи за 3 ранливости за iOS и една ранливост кај Android (CVE-2023-4762) пронајдени од Google’s Threats Analysis Group (TAG).

Кај iOS се работи за:
CVE-2023-41991 (Security): A malicious app may be able to bypass signature validation.
CVE-2023-41992 (Kernel): A local attacker may be able to elevate their privileges.
CVE-2023-41993 (WebKit): Processing web content may lead to arbitrary code execution.

Повеќе информации тука: (0-days exploited by commercial surveillance vendor in Egypt)

Сите ранливости се директно поврзани со Predator софтверот на Cytrox, ама ниту една од овие ранливости не е поврзана со она што следи односно со можеби најсофтицираниот напад откриен на Apple уреди до сега. Истиот за сега не е поврзан со ниту една компанија ниту пак Држава.

Почетокот на Operation Triangulation:
На 01 јуни Kaspersky објавува статија со наслов: Operation Triangulation: iOS devices targeted with previously unknown malware . Во истата авторите пишуваат дека додека го следеле интерниот сообраќај на корпоративната WiFi мрежа, Kaspersky Unified Monitoring and Analysis Platform (KUMA) системот забележал дека неколку iOS уреди имаат сомнителна мрежна активност.

Истите веднаш прават offline backup од уредите и врз него започнуваат со форензика на уредите преку mvt-ios (Mobile Verification Toolkit) и од тука произлегуваат првите траги за нешто што подоцна ќе излезе дека е многу поголемо од она што иницијално тимот на Kaspersky мислел.

Први траги:
Секој backup содржи и делумна копија од filesystem-от, вклучувајќи и некои од корисничките податоци и одредени бази на податоци. Временските ознаки(timestamps) на фолдерите, фајловите и записите од базата на податоци овозможуваат груба реконструкција на настаните што се случуваат со уредот. Со помош на mvt-ios тимот генерира сортирана временска линија на настани во csv file наречен „timeline.csv”.

Користејќи го timeline-от генериран од mvt-ios, тимот на Kaspersky успеава да идентификува конкретни артефакти што укажуваат на компромис на уредите. Од истиот timeline призлегува и грубата реконстуркција на нападот:
  • iOS уредот добива порака преку iMessage, со attachment кој содржи 0-day exploit.
  • Без каква било интеракција со корисникот, пораката предизвикува ранливост што води до code-execution.
  • Кодот во expoit-от презема неколку последователни фази од C&C серверот, кои вклучуваат дополнителни експлоатирања за зголемување на привилегиите.
  • По успешната експлоатација, финалниот payload се презема од C&C серверот.
  • Почетната порака и заразениот attachment се бришат
Целиот процес нема persistence односно при рестартирање на телефонот истиот мора повторно да ги изврши сите функции односно „одново“ треба да биде заразен.

Ако го земеме детално целиот напад би изгледал вака:
d6XJlVe.png


Најстарите траги на инфекција што Kaspersky ги открива се од 2019 година. Во моментот на објавата на 01 јуни 2023 година, малициозниот код е сеуште активен и е забележан и на најновите iOS верзии во тоа време 16.6. Кога излезе оваа објава она што е битно е дека анализата на payload-от сè уште не е завршена. Кодот се извршува со root привилегии, имплементира збир на команди за собирање информации за системот и корисникот и може дополнително да инјектира код преземен како модули од C&C серверот. Но за одредени функции во payload-от сеуште не можат да дојдат до никакво сознание неколку различни тимови што се бават со форензика.

Детали од оваа истрага може да се најдат на следниот линк: Operation Triangulation: iOS devices targeted with previously unknown malware

Како нападот го добива името Operation Triangulation?
На почетокот на синџирот на инфекција, како што пишав погоре жртвата добива невидлив attachment на iMessage преку 0-day exploit. Крајната и единствена цел на овој exploit е тивко во позадина да отвори URL на домен. HTML-страницата хостирана на тој URL содржи JavaScript obfuscated код на библиотеката за криптографија NaCl, како и енкриптиран payload. Овој payload е валидаторот на JavaScript.

Валидаторот врши многу различни проверки, вклучувајќи различни аритметички операции како Math.log(-1) или Math.sqrt(-1), проверка за достапност на компоненти како што се Media Source API, WebAssembly и други. Но најинтересно е што валидаторот извршува техника за fingerprinting наречена Canvas Fingerprinting со помош на цртање жолт триаголник на розова позадина со WebGL и пресметување на неговиот checksum.

Кодот искористен за цртање на триаголникот:
context.bufferData(context.ELEMENT_ARRAY_BUFFER, l, context.STATIC_DRAW);
context.useProgram(C);
context.clearColor(0.5, 0.7, 0.2, 0.25);
context.clear(context.COLOR_BUFFER_BIT);
context.drawElements(context.TRIANGLES, l.length, context.UNSIGNED_SHORT, 0);
C.L = context.getAttribLocation(C, Z('VE'));
C.W = context.getUniformLocation(C, Z('Zv'));
context.enableVertexAttribArray(C.L);
context.vertexAttribPointer(C.L, 3, context.FLOAT, !1, 0, 0);
context.uniform2f(C.W, 1, 1);
context.drawArrays(context.TRIANGLE_STRIP, 0, 3);
var h = new Uint8Array(262144);
context.readPixels(0, 0, 256, 256, context.RGBA, context.UNSIGNED_BYTE, h);
data['xT'] = h[88849];
data['jHWOO'] = h[95054];
data['aRR'] = h[99183];
data['ffJEi'] = h[130012];
for (var p = 0, _ = 0; _ < h.length; _++)
p += h[_];
data['WjOn'] = p;

Слика од триаголникот:
orTlcWz.png


Овој триаголник е, всушност, зошто целата оваа кампања e наречена Operation Triangulation. По извршување на валидаторот, тој ги енкриптира и ги испраќа сите собрани информации на друга URL адреса со цел да провери дали да ја преземе (или не) следната фаза од синџирот на инфекција.

Детали за функциите што се извршуваат може да се прочита тука: Triangulation: validators, post-compromise activity and modules

Четири 0-day exploit-и злоупотребувани со години
Уредите што се заразени од Triangulation практично се заразени со целосно опремен шпионски софтвер кој, меѓу другото, пренесува снимки од микрофон, фотографии, геолокација и други чувствителни податоци на сервери контролирани од напаѓачите.

Иако како што спомнав погоре инфекциите не преживуваат рестартирање, напаѓачите го одржувале заразувањето во живот со едноставно со испраќање на уредите нов iMessage неколку минути по рестартирањето на уредите.

Operation Triangulation користи четири критични 0-day пропусти, за кои Apple ги закрпи и истите се:
  • CVE-2023-41990: A vulnerability in the ADJUST TrueType font instruction allowing remote code execution through a malicious iMessage attachment.
  • CVE-2023-32434: An integer overflow issue in XNU's memory mapping syscalls, granting attackers extensive read/write access to the device's physical memory.
  • CVE-2023-32435: Used in the Safari exploit to execute shellcode as part of the multi-stage attack.
  • CVE-2023-38606: A vulnerability using hardware MMIO registers to bypass the Page Protection Layer (PPL), overriding hardware-based security protections.
Тука започнува и интересниот дел од целово четиво, 38606 е 0-day exploit наменет за тајна или недокументирана хардверска функција која се наоѓа кај Mac, iPod, iPad, Apple TV и Apple Watches.

Според форензичките сознанија воопшто не е грешка или превид дека 38606 0-day exploit-от можел да работи и на други уреди освен на iPhone, туку уредите дефинитивно биле таргетирани и напаѓачите точно знаеле кои „врати“ може да ги отворат со тој експлоит.

Мистериозната хардверска функција се покажува како клучна за успехот на Triangulation
Најинтригантниот нов детал е таргетирањето на досега непознатата хардверска карактеристика/функција, која се покажа како клучна за Operation Triangulation. 0-day exploit во хардверската функцијата им овозможила на напаѓачите да ја заобиколат напредната хардверска заштита на Apple, дизајнирана да го зачува интегритетот на системот на уредот дури и откако напаѓачот би стекнал привилегии до меморијата на основниот кернел. На повеќето други платформи, откако напаѓачите успешно ќе ја искористат ранливоста на кернелот, тие имаат целосна контрола врз компромитираниот систем.

Она што е битно да се спомне дека непознатата хардверска функција е присутна и во процесорите M1 и M2 на Apple.

Тимот на Kaspersky дознале за тајната хардверска функција дури по 6 месечно опширна форензика на уредите кои биле заразени со Triangulation. Имено се работи хардверски регистри, кои обезбедуваат мемориски адреси на процесорите за интеракција со периферните компоненти како што се USB, мемориски контролери и графички процесори. MMIO (Memory-mapped Input/Outputs), му дозволуваат на процесорот да запишува во специфичниот хардверски регистар на одреден периферен уред.

Неколку од MMIO адресите на напаѓачите кои ги користеле за да ја заобиколат заштитата на меморијата не биле идентификувани никаде, ниту пак биле користени во било кој дел од системот, односно тие MMIO не се спонуваат ниту во source code-от, ниту во било кој kernel images, ниту пак во firmware-от.

Експлоитот ги користи следните непознати адреси: 0x206040000, 0x206140008, 0x206140108, 0x206150020, 0x206150040 и 0x206150048.
GbRukj3.png


Можеме да видиме дека повеќето од нив се наоѓаат во областа помеѓу двата gfx-asc региони, а преостанатите се наоѓаат блиску до почетокот на првиот регион gfx-asc. Ова сугерира дека сите овие MMIO регистри најверојатно му припаѓале на GPU копроцесорот.
Деталната форензика може да ја видите тука: Operation Triangulation: The last (hardware) mystery

Ако не ви се читаат детални форнзички анализи или не разбирате доволно, презентацијата Operation Triangulation: What You Get When Attack iPhones of Researchers можете да ја гледате тука:

Тема на дискусија
Тука се и најбитните прашања, односно:
1. Како напаѓачите дознале за хардверската карактеристика и која е нејзината функција?
2. Како стигнале до адресите што не се користени ниту пак се најдени во ниту една интерна документација ниту изворен код?
3. Дали функцијата е од мајка оставена (не)намерно од страна на Apple или е овозможена од хардверска компонента од трета страна како што е CoreSight на ARM?

Иницијално се претпоставува дека хардверската функција била користена за некакво тестирање во фабрика или пак во некој development unit а понатаму отишла во продукција без да биде тргната.
Втората варијанта што Русите секако ја тврдат е дека истото е дело на NSA и дека Apple свесно оставил backdoor во неколку генерации на уреди (цирка 6 години) и за истото Apple издаде одговор дека не биле запознаени за ова.

My 2 cents:
Се потрудив да вметнам што е можно повеќе информации без да навлагам во форензичките детали но секој што сака да прочита дополнително може да си ги кликнете линковите и да ги видите сите анализи.

Со текстов се обидувам да доловам една поента а тоа е дека без-разлика колку ние може да бидеме it savvy или да пазиме што кликаме, па дури читам на форумов пишуваат дека биле многу паметни и не им требало ни АВ да користат, се надевам дека ќе ставите прст на глава и ќе размислите два пати дека ако ова се случувало неприметно години уназад, сигурен сум дека ниту е прво ниту последно (затоа и беше воведниот дел со Predator затоа што уште си функционира, затоа што на некој тоа му одговара),

Ах да и најбитно од се да не и бидете на државата трн во око, дека ако сака некој да ве пое*е нема таков начин да скриете нешто или да мислите дека има уред што не може да се зарази или дека нема поента баш вас да ве следат.

TL;DR - Голем број на Apple уреди имале хардверска функција за која Apple нема никаква документација и не се знае дали истата е намерно или ненамерно оставена, истата таа функција овозможи неколку години Apple уреди да бидат незаприметно заразувани преку 0-day exploit. Или стара cybersec поговорка, не е прашање дали може да ве хакираат туку прашање е кога :)
 

Gilfoyle

Practice makes perfect
10 септември 2009
529
1.861
Надополнување:
Хектор Мартин (marcan) познат по хакирањето на конзоли (Wii, Kinect, PS3, PS4) и човекот што го има креирано usbmuxd протоколот (денес се користи како стандард за синхронизација на податоци од iPhone на Linux и вклучен во скоро секоја дистрибуција), смета дека хардверската функција е користена при development и најверојатно и немало начин како да се тргне поради тоа што во комбинација со хардверски пристап/алатка како JTAG истата служела за одредено тестирање (иако ништо од ова не е потврдено официјално)

This is just "hardware block debug" controlled by the software running on the device itself, stuff intended to help during development but which isn't inherently externally accessible (though, in combination with JTAG, it would be). This kind of thing is routinely left enabled or has no way to disable it. In fact often it also serves as an insurance policy, since sometimes this kind of hardware is necessary to work around hardware bugs post facto. It's of course important to recognize when this kind of thing might have security impact, but with things as complex as a GPU, it's almost impossible to audit everything... so then these things happen. The hardware being there is, by itself, not a major problem: it just allows software with access to one physical page to effectively access all physical memory, which is okay as long as that fact is documented, noted, and understood, and therefore can be taken into account when configuring the software layers that are supposed to control such access. That is what didn't happen here (until the bug was found and fixed).

Според marcan, сличен bug поврзан со GFX-ASC/IOMMU и ескалирање на привилегии се наоѓал и претходно (CVE-2022-32947 што и донел $150k на Asahi Lina).

Детали од анализата на marcan:
 

gdamjan

Unstoppable
3 април 2008
3.489
2.422
Скопје
damjan.softver.org.mk
gdamjan's setup  
Processor & Cooler
AMD Ryzen 5 Pro 4650G / Cooler Master Hyper 212 Black
Motherboard
MSI MAG B550m Mortar Wifi
Storage
NVME: 1TB AData XPG SX8200 Pro / HDD: 2x 2TB Toshiba P300
PSU
Gigabyte G750H
RAM
G. SKILL Ripjaws V Series 2x 16GB / DDR4 3200Mhz/CL16
Video card
Vega 7 on APU
Case
Bequiet! PureBase 500
Mouse
Logitech MX Anywhere 2S
Keyboard
ThinkPad USB Keyboard With TrackPoint (sk-8855)
OS
Arch Linux

metahuman

Gaining Experience
23 септември 2019
86
52
Со текстов се обидувам да доловам една поента а тоа е дека без-разлика колку ние може да бидеме it savvy или да пазиме што кликаме, па дури читам на форумов пишуваат дека биле многу паметни и не им требало ни АВ да користат
Ова често го читам и на форумов и на социјални мрежи, и секогаш смеа ме фаќа колку лесни и наивни луѓе постојат.
 

Нови мислења

Последни Теми

Онлајн членови

Статистика

Теми
46.551
Мислења
964.842
Членови
34.923
Огласи
2.635
Најнов член
williamshakespeare30
На врв Дно