ESCalator
3.98K subscribers
227 photos
1 video
1 file
95 links
Tips and tricks от команды экспертного центра безопасности Positive Technologies (PT ESC)
加入频道
😏 Нельзя просто так взять и выгрузить информацию из мобильного телефона

Мобильный телефон — это переносной компьютер, однако в большинстве случаев извлечь данные, необходимые для проведения расследования, посредством простого подключения телефона к компьютеру не получится. Это связано с тем, что производители мобильных устройств принимают меры для ограничения доступа к важным артефактам.

🔓 Мы сделали небольшой обзор необходимых инструментов для извлечения информации из мобильных устройств:

Elcomsoft iOS Forensic Toolkit очень качественно извлекает данные из различных устройств компании Apple (iPhone, iPad, iPod Touch, Apple TV, Apple Watch и HomePod).

Passware Kit Mobile позволяет перебирать пароли, извлекать данные из заблокированных, зашифрованных iOS-, Android-устройств.

РС-3000 Mobile PRO извлекает информацию из зашифрованных, поврежденных мобильных устройств, перебирает пароли, восстанавливает поврежденные файловые системы.

«Мобильный криминалист Эксперт+» — универсальный инструмент для извлечения данных из iOS-, Android-устройств, облачных сервисов.

GrayKey позволяет извлекать данные из зашифрованных, запароленных iOS-, Android-устройств последних моделей.

UFED — хороший универсальный инструмент для извлечения данных как из смартфонов, так и из кнопочных телефонов.

MOBILedit, MD-NEXT, XRY, SmartPhone Forensic System Professional, iPhone and Android Phone Forensics System — универсальные, достаточно интересные продукты со своими уникальными возможностями.

🔓 Кроме того, для извлечения информации из мобильных телефонов используют ПО от производителя устройства, предназначенное для создания резервных копий:

iTunes
Samsung Kies
Huawei HiSuite
Mi PC Suite

И от сторонних разработчиков: например, для устройств Apple — iMazing.

🔓 Из open-source-проектов можно выделить:

Mobile Verification Toolkit — для извлечения из устройств под управлением Android и iOS;

iOS Device Data Extractor, Libimobiledevice, Universal Forensic Apple Device Extractor — для извлечения из устройств компании Apple.

Kanade — для извлечения APK-файлов приложений на базе Android.

Andriller CE (Community Edition), Android Triage — для извлечения из устройств под управлением Android.

🆓 Компания Magnet по запросу бесплатно предоставляет ПО Magnet Acquire для извлечения данных из устройств на базе iOS и Android.

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

общего назначения (Type-C, Lightning, Micro USB, OTG-кабели с различными разъемами);

специализированные (для включения различных режимов): например, для мобильных телефонов Huawei используется кабель Harmony TP для перевода устройства в режим последовательного порта (COM port).

📱 Для работы с поврежденными устройствами или для перевода в специальный режим (когда нужно отклеить экран или заднюю крышку и замкнуть test point на плате) пригодятся:

паяльный фен (сепаратор для дисплеев);
паяльная станция;
программатор (например, Z3X EASY JTAG Plus).

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

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

#dfir #mobile #android #ios
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from SecAtor
Разработчики Suricata сообщают выпуске версии 7.0.8 своей IDS/IPS-системы с исправлениями пяти уязвимостей, две из которых, CVE-2024-55627 и CVE-2024-55605, относятся к категории критических.

Две другие, CVE-2024-55628 и CVE-2024-55629 отнесены к высокоуровневым проблемам, и оставшаяся CVE-2024-55626 - к низкому.

Обнаружение проблем приписывается следующим исследователям: Алексей Симаков, Ной Лю, Роман Ежов (Positive Technologies), Саша Стейнбисс, Симен Либекк, Team Superflat, Земетри Камимидзу, Oss-Fuzz, Coverity.

Подробностей пока мало, будем следить.
Forwarded from PT SWARM
🇻🇳 At the Positive Hack Talks in Hanoi, our blue team member naumovax shared valuable insights:

1️⃣ Architecture of an automation tool for detecting malware in the network
2️⃣ Key features you should add to your tool
3️⃣ Our refined Suricata rules

Link 👉 https://static.ptsecurity.com/events/stratocaster-how-we-automated-the-routine-search-for-unknown-malware-in-the-network-traffic.pdf

Link to our Suricata rules: https://rules.ptsecurity.com/
Первые шаги на хакерском поприще 🐱

Опенсорс — интересная среда для наблюдений за развитием проектов. Занятно изучать реализацию первых версий популярных библиотек наподобие boto3, scikit-learn, requests (концепт-план версии 0.2.0 — вполне креативный).

Интересно наблюдать и за людьми, которые вместо использования популярных стилеров и RAT пробуют себя в написании собственных решений.

1️⃣ Пользователь SpaceyLad создал цепочку из двух пакетов:

🟢not-so-evil-package-spaceylad, код которого представлен на скриншотах 1 (оригинальная версия) и 2 (после автоматической деобфускации). Этот пакет отвечает за хранение строки с командой для скачивания нагрузки.

🟢not-evil-calculator-spaceylad, который непосредственно запустит команду, — скриншот 3.

В первом пакете во всех версиях, кроме 0.0.5, скачивается безобидный файл с расширением .css. Если вам не повезло, со страницы автора на PythonAnywhere скачан файл evil_python.exe, представляющий собой... calc.exe из пакета стандартных программ Windows. Но и в этом случае нагрузка отработает при наличии пользователя IXY.

Из занятного — в релизах проектов оставлены папки .idea (папка проекта в IDE PyCharm) и .venv (папка с виртуальным окружением Python), которые, помимо скудной информации об авторе пакета, позволили узнать нам оригинальное название проекта — pip_evil_package. Также благодаря нехитрой цепочке «гугления» выясняется, что разработчик является студентом факультета кибербезопасности одного из университетов Норвегии 🐈

2️⃣ В июле-августе 2024 года существовал пакет recovery, задача которого согласно описанию была простой: Checks recovery phone numbers against login page on yahoo. Имя автора, ExodusChecker, вызывает смутные подозрения, но давайте не будем торопиться.

Первые версии пакета выглядят безобидными (скриншот 4 — для версий 0.0.1–0.0.3), затем появляются первые подсказки по вредоносной функциональности (скриншот 5 — версии 0.0.4–0.0.9). Начиная с версии 0.1.0 появляется логика замены файла ресурсов для криптокошелька Exodus (скриншот 6), а с версии 0.1.4 злоумышленник учится прикладывать бинарные файлы в релиз.

Автор на протяжении 19 релизов наращивает функциональность, постепенно превращая proof of concept с абсолютными путями (привет, юзер с именем hammy, тестирующий на Exodus 24.31.4) в универсальный работающий код. Далее велись лишь QoL-работы. Конечный результат вы можете видеть на скриншоте 7, он отражает тридцатый по счeту релиз — 0.3.1. Скрипт suckme.bat, сохраняемый в папку автозагрузки, — это отдельный анекдот.

Сам подменяемый app.asar использует технику, ранее описанную JFrog в Impala Stealer, по отношению к хранилищу пакетов .NET NuGet: функция unlock из app/wallet/index.js получает функциональность отправки сид-фразы злоумышленнику (скриншоты 8, 9).

Простой способ защититься от такого рода напастей — использовать изолированное от пользовательских файлов окружение, например Docker-контейнеры. Это может не спасти конечных пользователей, но разработчики будут в определенной степени защищены от типовых атак. Кроме того, можно посмотреть в сторону PyAnalysis 😍

Желаем в наступающем новом году оставаться в безопасности от проделок злоумышленников 🎂

#ti #pypi #pyanalysis #scs
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😏 Полезные инструменты: Mandiant capa

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

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

К сожалению, такие распространенные инструменты, как средства просмотра строк (например, strings или FLOSS), а также анализаторы PE-файлов (например, Detect It Easy или CFF Explorer) отображают только самый низкий уровень детализации и не предлагают пользователям помощи в интерпретации полученных данных.

😠 Для решения задачи оперативного анализа кода и поиска реализованных в программе вредоносных техник можно применить сканирование с помощью эвристических движков. Эти движки используют набор правил, которые направлены на выявление специфических участков кода или отдельных артефактов, характерных для определенных техник. Хорошим примером такого движка является capa от Mandiant.

Проанализировав интересующий вас файл с помощью этого инструмента, вы можете получить перечень задетектированных техник, как например на скриншотах 1 и 2.

☹️ Как работать с этими данными? Чтобы выявить ВПО, можно поступить следующим образом:

1️⃣ Проанализировать все имеющиеся правила capa.

2️⃣ Выставить для каждого из них рейтинг опасности (например, в виде числа от 0 до 10).

3️⃣ Задать пороговое значение для классификации файла как вредоносного.

4️⃣ Суммировать рейтинги детектов анализируемого файла и сравнить их с пороговым значением: если сумма рейтингов больше, значит файл потенциально вредоносный.

Таким образом, вы сможете быстро классифицировать большие наборы файлов, а главное — понять, чем они могут навредить.

🫰 Но можно копнуть глубже и использовать capa как вспомогательный инструмент для реверса. Тут нам поможет тот факт, что детекты capa позволяют локализовать место в коде файла, где была реализована та или иная техника (скриншот 3).

Благодаря этому, если цель реверса сводится к уточнению реализации тех или иных вредоносных механизмов, удастся ускорить их обнаружение.

🤌 Ну и в качестве третьего, более специфического сценария, можно рассматривать capa как инструмент для помощи в поиске схожих образцов вредоносного ПО.

В силу того, что в capa довольно много различных правил детектирования, для анализируемых файлов можно сформировать профили детектов, которые, при достаточном количестве, будут относительно уникальны. Если при анализе потока вредоносного ПО вам будут попадаться файлы со схожими профилями, то их можно брать для сравнения и выявления новых версий семейств ВПО.

#tip #tool #malware
@ptesaclator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Mount point. Pt 2

Привет! Мы снова решили поговорить про монтирование дисков. Сегодня расскажем, как работать с контейнерами LVM. Держите короткий мануал, чтобы не гуглить и не тратить время срочного расследования.

1️⃣ Шаг 1. Смотрим информацию об имеющемся бинарном образе:

fdisk -l ./source.raw


(Как получить бинарный образ из VMDK, VDI, VHD и других форматов, писали тут).

Видим:

Device     Boot   Start   End   Blocks    Id System
disk.img1 * 1 13 104391 83 Linux
disk.img2 14 2491 19904535 8e Linux LVM


Здесь нас интересует раздел 8e — Linux LVM.

2️⃣ Шаг 2. Монтируем исходный образ на виртуальный интерфейс loop:

sudo losetup -f -P source.raw


В результате должно появиться виртуальное устройство loop-device. Смотрим его параметры:

sudo lsblk -f
loop20
├─loop20p1
├─loop20p2 ext4 1.0 f32150ec-1a4e-4871-9c1b-43219f525536
└─loop20p3 LVM2_member LVM2 001 iiB6Sv-7IZv-k329-ednM-h4Nr-tZQk-NJrMoE


(*индекс устройств может отличаться в зависимости от конфигурации оборудования)

3️⃣ Шаг 3. Сканируем полученное устройство на наличие LVM-разделов:

sudo pvscan --cache


Видим:

pvscan[3874] PV /dev/loop20p3 online.


После этого выполняем команду:

sudo vgs (для просмотра дисковых групп — volume groups):

ubuntu-vg   1   1   0 wz--n- 18.22g    0


и sudo lvs (для просмотра логических разделов — logical volumes):

ubuntu-lv ubuntu-vg -wi-a----- 18.22g


4️⃣ Шаг 4. Активируем LVM-раздел:

sudo vgchange -ay


1 logical volume(s) in volume group "ubuntu-vg" now active


5️⃣ Шаг 5. Затем монтируем с помощью известной команды mount (помним про ключ -ro, чтобы не вносить изменений):

sudo mkdir /mnt/lvm-disk
sudo mount -ro /dev/mapper/ubuntu--vg-ubuntu--lv /mnt/lvm-disk


В итоге получаем смонтированный раздел в указанной папке и выполняем дальнейшие действия.

Для размонтирования LVM используем обратную последовательность команд:

sudo umount /mnt/backup-restore (размонтируем раздел)
sudo lvchange -an /dev/mapper/ubuntu--vg-ubuntu--lv (деактивируем LVM)
sudo losetup -d /dev/loop20 (отключаем устройство)
sudo pvscan --cache (сканируем дисковую систему для обновления состояния)


Еще один пост в копилку полезных мануалов. Продолжение следует!

#tip #dfir
@ptescalator