README.hta
Kanalga Telegram’da o‘tish
Что-то из области информационной безопасности. Чаще реагирование, форензика и чаще на русском, но тут как пойдет Рекламу не размещаю Hope you enjoy! All opinions are my own @ant19ova
Ko'proq ko'rsatish3 168
Obunachilar
Ma'lumot yo'q24 soatlar
+67 kunlar
+830 kunlar
Postlar arxiv
3 168
(если кратко, продолжать использовать ::%16777216 как индикатор атаки разрешается, но ресерч конечно мощный)
3 168
+7
Добавила побольше информации на слайды, чтобы не терялась суть. Текста и так не по канонам много, поэтому подробности примеров из жизни останутся между нами с участниками митапа 🤫
Рабочие ссылки и исходный файл оставлю в описании
3 168
Вчера был первый и последний ивент в этом году по некоторым приятным для меня причинам, на котором мне удалось поделиться чем-то важным (помимо вебинаров инсеки, есессна)
И да-да, зарекалась не выступать больше, но формат живого кулуарного общения соблазнил меня. Не буду скрывать, что чаще всего хожу на такие мероприятия с конкретной целью – познакомиться с новыми классными людьми. А иногда даже заранее прикидываю «список жертв» 😈
Ну так вот, слайды смотрим? Или все же посты?
3 168
Repost from Threat Hunt
➖ Методы обнаружения:
• Нестандартные пути в InprocServer32 для системных CLSID (указывают не на System32).
• Наличие ключа TreatAs у системных COM-объектов DLL почти всегда являются признаком компрометации, так как легитимные установки Windows его не используют для системных компонентов.
• DLL, загруженные в svchost.exe или explorer.exe, расположенные вне System32 или Program Files — даже если DLL физически лежит в System32, но при этом не имеет подписи Microsoft или была создана недавно — это повод для углублённой проверки.
• Неподписанные DLL, загружаемые в контексте системных процессов или указанные в COM-объекте. Вредоносная DLL может находиться прямо в System32, но при этом у неё будет отсутствовать цифровая подпись Microsoft .
• Sysmon Event ID 13, 14 - отслеживать изменения в разделах HKLM(HKCU)\Software\Classes\CLSID\*\InprocServer32/ThreatAs
• Sysmon Event UD 7 (Image Load) - поиск загружаемых модулей по нестандартным путям.
COM Hijacking - скрытная техника, позволяющая злоумышленникам закрепляться в системе с высокими привилегиями, оставаясь незамеченными для многих средств защиты. Успешная реализация атаки требует глубокого понимания внутреннего устройства COM в Windows, тщательного выбора целевого объекта и корректной реализации DLL-прокси.
#forensics #comhijacking
3 168
Repost from Threat Hunt
💡 COM Hijacking
Среди множества техник, используемых злоумышленниками для закрепления в скомпрометированных Windows-системах, особое место занимает COM Hijacking (перехват COM-объектов). Этот метод используется редко, т.к требует усилий при разработке DLL и привлекателен тем, что позволяет вредоносному коду выполняться в контексте доверенных системных процессов. В классификации MITRE ATT&CK данная техника имеет идентификатор T1546.015 и относится к тактикам закрепления (Persistence) и повышения привилегий (Privilege Escalation).
➖ Как работает COM Hijacking
COM (Component Object Model) — это фундаментальный механизм Windows, позволяющий приложениям создавать и использовать программные объекты, реализованные в отдельных DLL или EXE-файлах. Каждый COM-объект идентифицируется уникальным 128-битным идентификатором — CLSID (Class Identifier). Когда приложение вызывает CoCreateInstance с определённым CLSID, система обращается к реестру по пути: HKLM\Software\Classes\CLSID\{CLSID}\InprocServer32. В значении по умолчанию этого ключа указан путь к DLL, которая реализует запрошенный COM-объект. Windows загружает эту DLL и вызывает её экспортируемую функцию DllGetClassObject для создания экземпляра объекта.
➖ Суть перехвата
Злоумышленник заменяет или перенаправляет эту запись в реестре, указывая путь к своей вредоносной DLL. Когда легитимное приложение (или системный компонент) запрашивает COM-объект, система загружает DLL злоумышленника, предоставляя ему возможность выполнить свой код.
Существует два основных метода перехвата:
• Прямая подмена — изменение пути DLL в ключе HKLM\Software\Classes\CLSID\{CLSID}\InprocServer32
• TreatAs — cоздание ключа TreatAs в оригинальной записи COM, перенаправляющего вызов на другой CLSID, содержащий путь к вредоносной DLL
Успех атаки напрямую зависит от правильного выбора цели. Не каждый COM-объект подходит для перехвата.
Известные COM-объекты:
• {DCB00C01-570F-4A9B-8D69-199FDBA5723B} Network List Manager (netprofm) — активируется при смене сетевого подключения, загрузки системы.
• {9BA05972-F6A8-11CF-A442-00A0C90A8F39} Shell Windows (оболочка) — открытие папок в проводнике.
• {00024500-0000-0000-C000-000000000046} Microsoft Office — контекстное меню в Explorer.
* {C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6} Immersive Shell — вход пользователя в систему.
Как искать COM-объекты для перехвата можно прочитать в блоге SpecterOps.
➖ Архитектура вредоносной DLL для COM Hijacking
Создание корректно работающей DLL-прокси — ключевой этап атаки. Библиотека должна не только выполнить вредоносный код, но и сохранить работоспособность оригинального COM-объекта, чтобы система продолжала функционировать штатно.
Вредоносная DLL должна удовлетворять следующим требованиям:
• Экспортировать стандартные COM-функции: DllGetClassObject — обязательная (вызывается системой для получения фабрики классов), DllCanUnloadNow — опционально (определяет, можно ли выгрузить DLL), DllRegisterServer / DllUnregisterServer — опционально (для саморегистрации).
• Загружать оригинальную DLL (ту, которую она подменяет).
• Проксировать вызовы — передавать управление оригинальным функциям после выполнения своего кода
• Быть устойчивой к повторной загрузке — корректно обрабатывать ситуацию, когда DllGetClassObject вызывается несколько раз.
Чтобы не привлекать внимание, вредоносная DLL часто получает имя, похожее на оригинальную библиотеку. Например, при подмене netprofm.dll злоумышленник может назвать свою DLL netprofm64.dll или разместить ее в другом каталоге.
#forensics #comhijacking
3 168
Я редко делаю репосты, но если да, то значит это прям оно.
Мы в один момент тоже не хило поломали голову, обдумывая способы, как детектить и находить такое в ретроспективе, не говоря уж о том что сейчас техника прям пользуется особой популярностью itw
3 168
Что делать с вредоносным файлом? Часть 2
Продолжим историю с предварительным анализом в статике. На очереди ELF, исполняемые файлы Linux: хоть некоторые шаги пересекаются с анализом PE, но все же есть своя специфика
1. Определяем формат файла
В Linux расширение часто отсутствует, смотрим magic bytes. Для ELF это 7F 45 4C 46 (.ELF в ASCII) ⚙️ file, hexedit, HIEW (любой hex-редактор) или DiE2. Хеши
Считаем MD5, SHA-1, SHA-256 и проверяем в VirusTotal, ANY.RUN, в отдельных случаях выручает OpenTIP. Загружать куда-то? Ну, можно, только осторожно ;) Идём в Malpedia, если хотя бы в каком-то виде получилось определить семейство. Гуглим хеши в кавычках, а сам семпл проверяем через имеющиеся YARA-правила (начать можно с этих наборов)3. Заголовки и структура ELF
⚙️ readelf (встроена) или ⚙️ elfparser-ng — ближайший аналог pestudio для Linux (в идеале, собирать из исходников, в релизах версия от 2022 года) Смотрим: — Общую информацию можно получить readelf -h sample.bin — Секции: readelf -S sample.bin, либо objdump -h sample.bin. Обращаем внимание на отличные от стандартных имен, размер секций и подозрительные флаги, например, RWX (read-write-eXecute) одновременно или .rodata внезапно исполняемая. Если секций нет совсем, это тоже не ок и, вероятно, файл упакован — Секции .comment и .rodata могут содержать артефакты компиляции или захардкоженные данные. Посмотреть интересующую секцию можно, например: objdump -s -j .rodata sample.bin | head -32 — Чтобы определить, какие внешние библиотеки использованы, можно брать ldd sample.bin (аналог анализа импортов в PE). На реальном вредоносе в бою лучше использовать а) objdump -x sample | grep NEEDED, б) readelf -d sample.bin т.к. ldd может триггернуть выполнение кода4. Энтропия и упаковщики
⚙️ DiE покажет энтропию с визуализацией. Для любителей консоли можно использовать diec -e sample.bin Лучше смотреть посекционно. UPX снимается классически: upx -d sample.bin, из простеньких лайфхаков: если сигнатура модифицирована (например, #EPU вместо привычного UPX!), заменяем через hex-редактор все вхождения и повторяем операцию5. Строки
Ищем IP/домены/URL (потенциальные C2), пути (~/.ssh, /etc/, /proc/, /dev/, /run/, директории автозапуска..), переменные окружения, shell-команды. Для приоритизации строк есть проект StringSifter с ML-ранжированием. Найденные сетевые индикаторы прогоняем через VirusTotal, URLhaus, интересные ("уникальные") строки тоже не стесняемся гуглить ⚙️ strings, bstrings или floss с параметром --only static6. Анализ возможностей
Здесь не все идеально, но ⚙️ capa работает и с ELF (без упаковки) — покажет предполагаемый функционал сэмпла. ⚙️ elfparser-ng также имеет вкладку Capabilities✨ Из интересного, инструмент Linux Artifact Parser (LAP), увидевший свет буквально в январе этого года: выполняет львиную долю перечисленных пунктов, а также самостоятельно пытается подсветить аномалии по секциям и импортам. А вот уже следующим шагом, можно переходить на песочницы. Обращайте внимание в том числе на извлечённые ими конфиги — для известных семейств уже на этом этапе могут быть выявлены адреса C2, методы закрепления и прочие параметры!
3 168
+1
Уже традиционно, пора подводить итоги года :)
Понравились слова в соседнем канале, которые я успешно сворую. По статистике, за год в канале была всего 41 публикация, и по ощущениям это вполне ок. Ладно, иногда были угрызения совести, но через пару минут вспоминаешь, что пора возвращаться к работе, а канал по-прежнему остается любимым хобби. Просто гигантское спасибо вам за эту возможность!
Каждый раз пишу, что уходящий год был насыщенным, и этот – не исключение. В ту новогоднюю ночь я загадывала, чтобы направление развивалось и про нас узнавали всё больше. Ух, кто бы мог подумать, что некоторые желания могут исполняться так стремительно. Ребята, команда, ЦК, знаю, что вы читаете, и не устану повторять, что вы – лучшие. В остальном теперь помолчу ☃️
У меня же были как хорошие моменты, так и незакрытые истории. После пхдейса я решила взять паузу со всеми этими публичными выступлениями, но последняя цель в моем списке так и не была достигнута. Чуть погрузилась в маркетинговую составляющую, пыталась расти как руководитель, снова и снова убеждалась: чем больше знаешь, тем больше понимаешь, сколько всего ты НЕ знаешь
Желаю упорно идти к своим целям, признавать, что они могут меняться, но все равно топить. Беречь здоровье и быть почаще в окружении самых родных и близких
С Наступающим 2026! 🥂
3 168
А, не, отбой, я нашла применение
Всегда бы так на работу приезжать, еще и на коне с конём!
3 168
А как AI в расследованиях используете?
Дисклеймер. Есть AI как общее понятие (чаще в разговорах подразумевается именно GenAI, генеративный искусственный интеллект, который способен на основе фундаментальных знаний создавать нечто релевантное), а есть ML как одна из его областей, цель которого изучать и выявлять паттерны из данных. Это два разных понятияЭтот текст лежат у меня в заметках пару месяцев. За это время мы обсудили тему со многими, но от публикации что-то все равно останавливало меня. И я поняла что: компании наперебой заявляют о внедрении AI, это стало маркером прогрессивности, в то же время, я — та еще бабка-консерватор. Тот же ML давно и успешно задействован в процессах SOC, а нейросети помогают в отладке инструментов с условного GitHub. Вопрос в другом: где граница применимости в криминалистике, когда цена ошибки так высока? И я сейчас не про риски облачных инстансов. Давайте посмотрим, что у нас на практике: 👀 Обработка объемов. Да, AI справляется с гигабайтами логов быстрее человека. Но выявление аномалий без контекста инцидента, а мы еще и говорим про новые кейс/инфраструктуру в среднем каждые 2-3 недели, работает с перебоями. В итоге время на перепроверку съедает все выигранное. К тому же, данные на анализ чаще всего летят итерационно (все же активное реагирование != услуге из разряда compromise assessment) 🙂 Обогащение данных. Автоматическая агрегация из отдельных открытых источников звучит красиво. Но идея не нова и кто хотел, уже давно в каком-то виде реализовал, а для всего остального — есть TI. Ой, а какие мне ресерчи AI выдавал, и все со ссылками на источники. Закачаешься) 😏 Парсинг и нормализация. Тут выглядит перспективнее: генерация регулярок, конфиги для SIEM. Но, если говорить про полевые условия обработки данных, как показывает практика, может запросто накосячить с переводом какого-то произвольного unix timestamp. Оно нам надо, искать потом этот единственный таймстамп из десятков тысяч? 🪞 Интеграция с EDR, MCP-сервер уже доступен для всеми любимого Velociraptor. Идем в консоль с вопросом: а что подозрительного было в UserAssist? В целом, удобно. Только если даже исходные данные — не от туда? Или снова было найдено 5 подозрительных штук, а всего их 10? В общем, как будто бы в рамках DFIR пока что участие человека непомерно высоко: ведь машина не несет ответственности за свои ошибки — ответственность несет эксперт. Да, можно использовать чтобы подсобрать мысли в кучу или как продвинутый гугл, но и тут, как мы выяснили, тонкости в стиле этого вопроса уже не потянет Я пока присматриваюсь, вот даже тетя с последнего DFIR Summit меня не переубедила. А что думаете вы?
3 168
Давеча в одном из кейсов встретили постэксплуатационный фреймворк AdaptixC2. Что-то новенькое itw!
Кратко накину контекст, я думаю, вы поймете, почему:
proxyshell →
adrecon, sharphound →
fscan →
rdp, psexec, obfuscated powershell, winrm →
cobalt strike →
RMM (AnyDesk, RMS, Mesh Agent, TacticalRMM) →
nuget, devtunnel, chisel →
adaptixc2 via nssm →
dll w/ telegram c2 channel →
sliver
Все приправлено кастомным шифровальщиком через GPO. И это даже не очередной экземпляр LockBit 🏴
Самое интересное — здесь: https://habr.com/ru/companies/angarasecurity/articles/962088/3 168
+1
Пока я сижу болею в отпуске, канал стал чуть похож на доску объявлений, но ничего не поделаешь. Короче
📝 24 октября я буду вести круглый стол на CyberCamp. Мы старались не только подобрать незаезженные вопросы, а еще и позвать клевых ребят, с которыми точно не заскучаешь (я, конечно же, хотела позвать больше, но таковы правила..). Но как по мне, главное — совсем не это. В этом году организаторы добавили формат личных консультаций с экспертами. Можно записаться, в том числе и ко мне, и тет-а-тет обсудить именно то, что давно волнует. Это же офигенная возможность задать те самые «несерьезные» вопросы, которые почему-то не решались озвучить! Я, например, уже забронировала время у Ники, чтобы обсудить, как я могу быть более полезной не только как технический специалист, но и как человек, грамотно работающий с информацией об инциденте в публичном поле. Забавный факт: раньше мы даже работали в одной компании, но я стесняш решила не наглеть и забронировать отдельный слот 🙈
Так что, выступления это, конечно, очень интересно, но личное общение — точно ценнее. Поэтому, ни на что не намекаю, но ссылка вот. Нужно зарегистрироваться, тогда запись на консультации будет доступна
Всем здоровья!
3 168
Вот все уже написали, и только я, как обычно. А ведь я обещала вам ссылку на курс…
Стартуем уже меньше, чем через месяц. Чуть волнительно, если честно: времени на правки осталось совсем мало, при этом хочется дать все и сразу, особенно когда видишь, какие талантливые люди к нам приходят — вне зависимости от их начального уровня. Ну правда, я даже студентам говорю, что иногда так и хочется…схантить 🤫
Как автор, не могу не дать свой промокод на скидку README
Приходите, задавайте вопросы! Давайте сделаем лучший тематический курс вместе)
3 168
+1
Утро начинается не только с кофе или ответ на вопрос, почему в канале нет новых постов 😅
Пишем курс по расследованию инцидентов, анализу данных и безопасности в Linux-системах. Саша из инсеки и методист говорят, что стартуем в ноябре. Кажется, они верят в нас больше, чем мы сами, но выхода нет 🤪
Драфт структуры прилагаю и невероятно горжусь таким наполнением своего первого отдельного курса, вот
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
