Цей допис востаннє відредаговано Саммер 14.10.2025, 10:59
Версія віртуальної камери, яку вже зламав автор, опублікувала відео на Bilibili
Попередня версія, яку я зламав, теж була зламаною Посилання:Вхід за гіперпосиланням видно. Нещодавно клієнт попросив мене зламати іншу версію віртуальної камери того ж автора і просто вивчити її Спочатку перевірте оболонку, безкоштовне підкріплення Bangbang, відносно просте, просто виявлення Frida, наведене вище посилання містить дуже детальний аналіз посилення та виявлення безкоштовної версії Bangbang, використовуючи різні інструменти, такі як ebpf Спочатку зафіксуйте Frida, є ознаки краху, можливо, крок вводиться занадто рано, або адреса недоступна, коли гак готовий, якщо скоригувати код скрипту на frida
Загалом, час впорскування трохи затримався, що вирішило проблему збоїв при впорскуванні Hook Процес його активації повертає дані, і йому потрібно попросити сервер підтвердити, що він отримав часову мітку активації
Користувач отримує час, обчислюючи різницю у часі. Ця віртуальна камера також запитує root-дозволи, інакше не відбувається міжпроцесного зв'язку, Всього ця камера запускає три процеси Один із них — основний процес додатку камери, тобто міжпроцесне спілкування між Java-шаром і C++ Друга полягає в тому, що основний процес виконує бінарний виконуваний параметр vcmplay на командному рядку через java-шар для запуску другого процесу, який головним чином відповідає за міжпроцесну комунікацію між основним процесом камери vcmpaly та libvc.so процесом, що впроваджується у сервіс камери системи, а основним способом комунікації є ibinder. Третій — це SO-файл камери-сервера, введений у системний сервіс. Якщо додаток не може отримати root-привілеї або виникне проблема з мережею, процес не запускається
Ця камера потребує коду активації для активації та використання, і аналізуючи рівень Java, всі її інтерфейси підключаються Активація вимагає запиту до сервера отримати інформацію про верифікацію
Дані, які ви отримуєте, всі зашифровані Аналізуючи бінарний виконуваний файл VCMPLAY, ми можемо визначити, що запитувані дані є RSA-шифруванням, а ключ знаходиться через інструмент EBPF stackplz, а ключ шифрування має 128 біт Ще одне слово Цей додаток дуже хитрий, він додав суфікс so до vcmplay, через що люди думають, що це файл SO, і його потрібно завантажити в пам'ять Java, але насправді це інший процес. Я підключив сервер камери сервісу камери libvc.so виявив, що Frida зависла одразу після зависання сервісу приєднання камери, не знаю, чи це було виявлено, я довго аналізував і випадково виявив, що VCMPLAY одного разу вийшов з ладу, і він зміг зачепитися. Підозрюється, що це міг бути процес VCMPLAY, який виявив процес Cameraserve Я використав ida для налагодження процесу VCMpay, і виявив, що у нього все ще є антиналагодження, просканував tracepid у proc/self/status, щоб визначити, чи відлагоджено, і що ще страшніше було те, що він виявив, що антиналагодження не було збоєм програми, він фактично видалив важливі файли в Android-системі через root-прави, потім телефон перезавантажився у режимі подвійного очищення, систему потрібно було ініціалізувати для входу в систему, і все в телефоні зникло. Я написав модуль kernel hook kpm через kernelpatch і обійшов налагодження Після кількох безсонних ночей тут загальна логіка зрозуміла, і оцінюється, що зламати її буде нелегко. Продовження буде пізніше......
|