UFED Touch Ultimate: комплексное решение для мобильной криминалистики

Около месяца назад группа неизвестных хакеров объявила о взломе израильской компании Cellebrite, которая продаёт правоохранительным органам по всему миру программно-аппаратный комплекс Universal Forensic Extraction Device (UFED) для взлома и копирования данных с любых мобильных телефонов. Аналогичные инструменты для криминалистической экспертизы делает российская компания «Элкомсофт». Именно Cellebrite, по слухам, помогла ФБР взломать телефон iPhone 5C под iOS 9, принадлежащий террористу из Сан-Бернардино, который стал камнем преткновения в громком конфликте между Apple и ФБР.

В январе хакеры предоставили для доказательства редакции издания Motherboard архив с 900 ГБ файлов, полученных с серверов Cellebrite. В изъятых файлах — списки клиентов, базы данных и большой объём технической информации о продуктах Cellebrite. Первоначальный анализ данных о клиентах Cellebrite показывает, что среди её клиентов были правоохранительные структуры из таких стран как Россия, ОАЭ, Турция.

Весь архив 900 ГБ пока не опубликован, там много конфиденциальной информации. Но сегодня хакеры выложили в онлайн бинарники коммерческих программ Cellebrite, которые та продаёт своим клиентам в составе программно-аппаратного комплекса для взлома смартфонов Apple.

Ссылки на файлы вместе с заявлением группы хакеров опубликованы на Pastebin.



Файлы размещены на хостинге Mega. К сожалению, уже через несколько часов после публикации файлы удалены с хостинга Mega, найти зеркало пока не удалось (UPD: зато это удалось пользователю ValdikSS, зеркало).

Но с этими инструментами в первые часы после публикации успел ознакомиться специалист по информационной безопасности и известный эксперт по взлому macOS и iOS Джонатан Здзярски (Jonathan Zdziarski). Его мнение очень любопытно узнать.

Cellebrite ограбила сообщество джейлбрейкеров?


В опубликованном сегодня дампе выложены эксплойты для обхода защиты в смартфонах iOS, «специально разработанные подпрограммы для расшифровки этой ламерской защиты», демонстрационный файл .eas (библиотека DLL для работы с конкретными устройствами и приложениями) и файлы .epr (загрузчики, эксплойты и шеллкод).

Хакеры обращают внимание, что некоторые эксплойты для Apple очень похожи на стандартные инструменты, доступные каждому юному хакеру-тинейджеру, который играет с джейлбрейками для iPhone. Это общедоступные инструменты для джейлбрейка, которые фактически продаются государственным органам в красивой «обёртке» за десятки и сотни тысяч долларов. В этой связи рекомендуется обратить особое внимание на .epr для Blackberry.

Вместе с файлами в первом дампе — расшифрованные и полностью рабочие скрипты на Python для использования этих эксплойтов.

Код одного из скриптов
import os
import sys
import random

class CellebritePython(object):
    init_tbl =[
        0x67, 0x3B, 0x9D, 0xE0, 0x44, 0xB4, 0xBF, 0x06, 0xD0, 0xA3, 0x46, 0xFF, 0x66, 0xA9, 0x5D, 0x13, 
        0x05, 0x8A, 0xF7, 0xC6, 0x6F, 0xF9, 0x32, 0x16, 0xCC, 0x0D, 0xFC, 0x3D, 0x6F, 0x76, 0x26, 0xF2, 
        0x00, 0x2E, 0x1B, 0x69, 0x9F, 0x58, 0xE3, 0x6C, 0x43, 0xF0, 0xE3, 0x9E, 0xF4, 0x86, 0x14, 0xDE, 
        0xF9, 0x29, 0x04, 0xF9, 0xED, 0x3F, 0x60, 0xE6, 0xD1, 0xD5, 0x76, 0xE4, 0x7A, 0xA8, 0x5C, 0xE0, 
        0xFD, 0x8D, 0xE6, 0x4B, 0xAB, 0x91, 0x8E, 0xF5, 0x6A, 0x97, 0x4C, 0x86, 0x87, 0x43, 0xE2, 0xA7, 
        0x23, 0xEA, 0xE1, 0xA7, 0x03, 0xB6, 0xE9, 0x34, 0xCD, 0xFD, 0x50, 0x78, 0xCC, 0xE9, 0x8E, 0xEE, 
        0xC6, 0xC2, 0x6B, 0xA2, 0xD9, 0x05, 0xBC, 0x09, 0xEA, 0x36, 0x82, 0xC2, 0xD8, 0x29, 0x4E, 0x9D, 
        0xBC, 0x0A, 0x58, 0x86, 0x9F, 0x0D, 0xD7, 0x21, 0xBC, 0x9F, 0x22, 0x34, 0xC9, 0x63, 0xBB, 0x77, 
        0x66, 0x4A, 0xA2, 0x1F, 0xA0, 0xCE, 0x49, 0x4F, 0x6C, 0xB7, 0xB6, 0xCC, 0x5A, 0x1A, 0x33, 0xFB, 
        0x3D, 0x13, 0xFB, 0xAB, 0x51, 0xC4, 0xE1, 0x5B, 0x1D, 0x6B, 0x5D, 0x2C, 0x2A, 0x5A, 0xEB, 0x6D, 
        0x13, 0xA9, 0x7D, 0xD7, 0x2F, 0xBE, 0x12, 0xE3, 0x09, 0x5E, 0xD4, 0x3F, 0xEB, 0xC5, 0xA0, 0x1D, 
        0x45, 0xF1, 0xE2, 0x72, 0x4A, 0x9D, 0xF7, 0xA0, 0x4F, 0xC5, 0x99, 0x91, 0x30, 0x6F, 0x26, 0x99, 
        0xAC, 0x74, 0xE3, 0x8D, 0x1C, 0xAD, 0x0A, 0xF3, 0xEA, 0xA1, 0xD7, 0x35, 0xFF, 0x02, 0x8A, 0xB8, 
        0x8E, 0xA0, 0xE9, 0xAC, 0x77, 0x47, 0x53, 0xFC, 0xB5, 0x8E, 0x81, 0xEF, 0xF5, 0xCA, 0xAF, 0x26, 
        0x58, 0xF7, 0xB8, 0x68, 0x91, 0xDE, 0xC6, 0x6E, 0x3A, 0x99, 0x48, 0x93, 0xCD, 0x8E, 0xD8, 0xB0, 
        0xA1, 0x64, 0xFA, 0xE5, 0x58, 0xDF, 0x35, 0x18, 
    ]

    def __init__(self):
        self.buff=bytearray(0x100)
        self.curr_offset=0
        self.sumvar=0
        

    def randomBytes(self,n):
        return bytearray(random.getrandbits(8) for i in range(n))
        
    def init_table(self):
        for t in range(0xf8):
            self.file_data[t]^=self.init_tbl[t]
        for t in range(0x100):
            self.buff[t]=t
        sumvar=0
        for t in range(0x100):
            val=self.file_data[t%0xf8]
            val+=self.buff[t]
            sumvar+=val
            sumvar&=0xff
            self.buff[t],self.buff[sumvar]=self.buff[sumvar],self.buff[t]

    def get_char(self):
        char=self.file_data[0xf8+self.curr_offset]
        self.curr_offset+=1
        char2=self.buff[self.curr_offset&0xff]
        self.sumvar=(self.sumvar+char2)&0xff
        self.buff[self.curr_offset&0xff],self.buff[self.sumvar]=self.buff[self.sumvar],self.buff[self.curr_offset&0xff]
        char2=(self.buff[self.curr_offset&0xff]+self.buff[self.sumvar])&0xff
        return char ^ self.buff[char2] 
        
    def decrypt(self,filename):
        buffer=bytearray()
        with open(filename,"rb") as file:
            self.file_data=bytearray(file.read()[4:])
        self.init_table()
        for t in range(len(self.file_data)-0xf8):
            buffer.append(self.get_char())
        return buffer
        
    def encrypt(self,filename):
        buffer=bytearray()
        self.file_data=bytearray()
        crypto_header=self.randomBytes(0xf8)
        self.file_data+=crypto_header
        with open(filename,"rb") as file:
            self.file_data+=bytearray(file.read())+b'\xff\xff'    
        self.init_table()
        for t in range(len(self.file_data)-0xf8):
            buffer.append(self.get_char())
        return b"CELL"+crypto_header+buffer


filename="site.py"
enc = CellebritePython()
with open(filename+".dec","wb") as file:
    file.write(enc.decrypt(filename))

Джонатан Здзярски говорит, что опубликованные бинарники Cellebrite действительно очень похожи на джейлбрейкерские инструменты, которые распространяются в рамках проекта QuickPWN. Их только адаптировали для криминалистической экспертизы. Например, один из программных модулей в дампе предназначен для брутфорса пинкодов, что не является частью нормальной программы для джейлбрейка.

Если Cellebrite использовала эти программы в своих программно-аппаратных комплексах UFED и других продуктах, то это означает, что они «ограбили» сообщество джейлбрейкеров и использовали непроверенное и экспериментальное ПО в составе своих коммерческих продуктов, считает Здзярски.

Представитель компании Cellebrite официально заявил, что представленные файлы являются частью программного пакета Cellebrite и доступны для клиентов, при этом они распространяются без исходных кодов. Он добавил, что специалисты компании Cellebrite постоянно следят за последними разработками хакерского сообщества, за новыми методами взлома, исследовательскими инструментами, в том числе за джейлбрейками.

Второй дамп


В ближайшем будущем хакеры обещают выложить второй дамп файлов. В нём должна быть «небольшая подборка файлов, полученных через сервер обновлений Cellebrite, который устанавливается на устройствах и настольных компьютерах под MS Windows (c привилегиями SYSTEM) внутри инфраструктуры клиента».

Во втором дампе должен быть опубликован отчёт с анализом «техник сжатия и обфускации», которые используются в продуктах Cellebrite, поставленных по заказу Министерства обороны Великобритании, а также версии программ со снятой защитой, поставленные по заказу Главное управление войск специального назначения Министерства обороны США (ГУ СпН МО США или SOCOM) и других организаций.

Следите за релизами на Pastebin.

Месяц назад сообщалось, что среди полученных данных с сервера Cellebrite — кэш веб-сервера с именами и паролями пользователей, которые логинились на портал MyCellebrite. Этот раздел сайта предназначен только для клиентов компании. После публикации статей в издании Motherboard компания Cellebrite официально признала факт взлома «внешнего веб-сервера» с резервной базой данных аккаунтов MyCellebrite. По этому поводу было назначено расследование. Компания уверяла клиентов, что в утечке данных нет ничего особо конфиденциального, только хэши паролей пользователей, которые ещё не мигрировали на новую систему учёта пользовательских аккаунтов. Но независимая экспертиза Motherboard показала, что в том дампе на 900 ГБ есть гораздо больше, чем признаёт Cellebrite.
Поделиться с друзьями
-->

Комментарии (10)


  1. AFakeman
    03.02.2017 12:24

    То есть эти эксперты на зарплате находят дыры медленнее, чем сообщество?


    1. dartraiden
      03.02.2017 15:16
      +2

      Эти эксперты решили не утруждаться нахождением дыр, а просто прикарманить труд сообщества.
      Такое же поведение часто встречается у разработчиков шароварных медиаконвертеров. Сверху там проприетарный GUI с красивыми кнопочками, а реальную работу делает лежащий рядом FFmpeg.


  1. ValdikSS
    03.02.2017 12:37
    +5

    Зачем загружать файлы на файлообменник, если их удалят через пару часов, и никто не скачает?


    1. ValdikSS
      03.02.2017 14:39
      +13

      cellexploits01.tar.gz
      SHA1: dbddc3d1bbbd5cc281665c0b6c49989ee29c4569


      Direct download over HTTP:
      https://cloud.mail.ru/public/6r2c/1C8eN2Gzc
      https://yadi.sk/d/fCkEhKRY3CeNio


      Direct download over FTP:
      ftp://serv.valdikss.org.ru/Downloads/cellexploits01.tar.gz


      BitTorrent magnet link:
      magnet:?xt=urn:btih:f15e65896a62e86f8bd2baf2ed786b5b26ee4071&dn=cellexploits01.tar.gz&tr=udp%3a%2f%2ftracker.leechers-paradise.org%3a6969&tr=udp%3a%2f%2ftracker.coppersurfer.tk%3a6969


      DC++ magnet link:
      magnet:?xt=urn:tree:tiger:KM4KHS42QPHYE6WLBK2FAMXQEMUUAF4TNXV2E2I&xl=968736900&dn=cellexploits01.tar.gz


      ed2k link:
      ed2k://|file|cellexploits01.tar.gz|968736900|754F1E777A6DAD1A4F7E760F3F3EBD61|/


  1. joann
    03.02.2017 12:54

    Из стати не понятно они продают релаьный Джеил? и работает он с iOS 10.2.1 или нет?


    1. AFakeman
      03.02.2017 15:18

      Продают они тот же джейл, что и так в публичном доступе, ничего нового они, похоже, не сделали.


      1. ValdikSS
        03.02.2017 15:37

        По крайней мере, эксплоита для Blackberry не было в публичном доступе.


  1. IGHOR
    04.02.2017 00:06

    Если сразу все не выложили а только часть, скорее всего и не выложат что-то дельное.
    Похоже на демонстрацию данных для привлечения покупателей.


  1. itsbeto
    05.02.2017 09:47

    А можно вопрос дилетанта? Уже много статей видел про взломы сотовых, кражу информации, недавно писал кто-то, что ботнет уже чуть ли не ко мне в кровать залез через рутер. А вопрос вот такой: я, как «генератор информации» (ну, там, паролей, явок, номеров кредкарт, смс и проч) не стесняюсь того, что данная информация будет публичной, генерируя ее, я уже такое допускаю, но я бы хотел точно знать — кто, когда и какую мою информацию получал. Можно ли такое? Уж не знаю, может ето каким-нибудь «волшебным блокчейном», «мистикой квантовой криптографии» решается, или на физическом уровне. Буду благодарен за ответ или указание направления, отличного от тривиального.


  1. frappy
    05.02.2017 09:47
    -1

    чет не дошло как запустить