Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ESFang — ESF-модульный инструмент приёма данных для разработки и исследований. | Kitploit
Инструменты/GitHubGitHub/withsecurelabs/esfang
ФорензикаЦифровая криминалистикаРеагирование на ИнцидентыАнализ Журналов
GitHubwithsecurelabs/esfang

ESFang

ESF-модульный инструмент приёма данных для разработки и исследований.

Репозиторий
3864 лет назадПроверено Kitploit

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

ESFang

Это инструмент, разработанный для модульного потребления событий EndpointSecurity Framework (ESF) из среды macOS. Это моя попытка преодолеть ряд проблем, с которыми сталкиваются существующие инструменты, включая такие вещи, как молчаливая потеря данных, строгое потребление типов событий, отсутствие поддержки альтернативных типов событий данных и перегрузка обработчика доступа к файлам.

Этот инструмент во многом опирается на отличную работу, проделанную Крисом Россом, Омаром-Икрамом и командой Objective-See для их инструментов ProcessMonitor, Appmon и EndpointSecurityDemo. Моё базовое понимание и применимость приёма данных ESF были значительно улучшены и запущены благодаря изучению их работ, которые сделали большую часть тяжёлой работы, чтобы сделать эту разработку возможной. Этот инструмент пытается экстраполировать лучшие элементы этих инструментов и расширить их, чтобы обеспечить индивидуальное потребление ESF в зависимости от потребностей исследователя.

Существующие инструменты, включая более совершенные, такие как Crescendo от FireEye, страдают от ряда проблем, связанных с самим ESF, которые при тестировании, по-видимому, связаны со способом, которым ESF-клиент принимает данные из подсистемы. Основной проблемой была молчаливая потеря данных. При тестировании, когда принималось множество типов событий, результаты по сравнению с приёмом одного типа событий показывали расхождение в накопленных данных. При тестировании критические события, связанные с вредоносной активностью, отсутствовали в наборе данных, который присутствовал при приёме одного типа событий.

Основная цель этого инструмента была тройной:

  • Создать инструмент, который избегает проблемы молчаливой потери данных
  • Обеспечить индивидуальную спецификацию сбора событий для каждого случая
  • Быть расширяемым и интегрируемым в системы мониторинга

С этой целью инструмент позволяет пользователю указать, какие типы событий он хочет собирать во время операций, из 51 доступного типа событий NOTIFY (типы событий AUTH были исключены для этого инструмента). Это означает, что исследователи могут нацеливаться на конкретные типы событий, связанные с конкретными операциями, которые они хотят отслеживать, а также помогает снизить связанную молчаливую потерю данных за счёт уменьшения общего количества типов событий, собираемых клиентом.

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

ПРИМЕЧАНИЯ НА БУДУЩЕЕ -

Чтобы предотвратить молчаливую потерю данных, потенциальным решением было бы использование многопоточности в инструменте, чтобы позволить нескольким ESF-клиентам работать одновременно, при этом каждый собирает подмножество типов событий. Это потенциально могло бы преодолеть достижение внутреннего порога, вызывающего наблюдаемую потерю данных. У меня просто не было времени внедрить дополнительные средства контроля для этого.

КАК ИСПОЛЬЗОВАТЬ

Требуется отключённый SIP!

  • К сожалению, поскольку это разработочный POC-код, вы не сможете использовать его с включённым SIP, так как доступ к подсистеме ESF ограничен подписанными бинарными файлами. Поскольку он не подписан, SIP должен быть отключён для использования. Поэтому используйте его только на непродуктивных машинах.

  • Существует три типа выполнения: вы можете указать ID события event_id из файла конфигурации, указать group_id из файла конфигурации, или вы можете ссылаться на файл конфигурации со строками ID типов событий или групп, раскомментированными.

  • Пример 1 = Сбор только событий ES_EVENT_TYPE_NOTIFY_EXEC: ./ESFang -id 2

  • Пример 2 = Сбор событий жанра File: ./ESFang -group 2

  • Пример 3 = Сбор типов событий или групп, указанных в файле конфигурации: ./ESFang -config ./ESF_config.txt

ПРИМЕЧАНИЕ О ЖЁСТКО ЗАКОДИРОВАННОМ ФИЛЬТРЕ

В исходном коде есть жёстко закодированный фильтр процессов, который находится на строках 460–469. Этот фильтр можно изменять для захвата по конкретному PID, PPID или имени процесса. Он был добавлен как «хакерский» обходной путь для конкретных целей фильтрации. Попытки сделать его динамическим из командной строки для передачи в Inspector все завершились ошибкой. Поэтому он оставлен жёстко закодированным.

ПРИМЕЧАНИЕ О ЖЁСТКО ЗАКОДИРОВАННОМ ГЛУШИТЕЛЕ ПРОЦЕССОВ

В исходном коде есть жёстко закодированная возможность глушения процессов, находящаяся на строках 471–491. Этот фильтр можно использовать для отключения захвата конкретных событий на основе пути процесса или родительского процесса соответственно. Его следует использовать с осторожностью, так как все процессы, соответствующие указанному имени, будут заглушены, если они являются процессом или родителем любой активности. На момент выпуска эта функция находилась в бета-тестировании.

Скачать инструмент