TGViewer
Четыре луча Четыре луча @four_rays · 4.02K subscribers
Post #79 4.34K
Статический анализ контейнеров 1C 👀

Недавно коллеги из PT рассказывали про 1С Shell, который позволяет выполнять произвольные команды на Windows и на Linux, читать файлы и много чего еще.

Сегодня хотим поделиться с вами обзором утилиты для статического анализа на примере одного шелла. Она поможет определить функциональность шелла и узнать полезные подробности для команды реагирования — например, что выполненные через этот шелл команды записываются в файл %TEMP%\res.txt.

1C shell — это контейнер 1С (расширения файлов CF, EPF, ERF, CFE). Формат уже давно разобран, например, здесь и здесь.


Основные особенности контейнеров 1С

— Имеют заголовок FF FF FF 7F;

— Представляют из себя нечто вроде виртуальной файловой системы: контейнер хранит в себе различные документы, которые состоят из блоков;

— Большинство данных упакованы алгоритмом Deflate, из-за чего в файле почти нет полезных читаемых строк, кроме нескольких UUID строчек.

Для анализа такого файла можно загрузить его в 1С, но если под рукой нет этого ПО, можно воспользоваться утилитами — сегодня разберем pfCFTools.

Как работает утилита pfCFTools для анализа контейнеров

pfCFTools — это утилита для работы с файлами CF/CFE/CFU/EPF/ERF и подобными.

Для сборки нужно загрузить IDE Free pascal и запустить команду:
fpc.exe pfCFTool.lpr


Использование:
pfCFTool.exe -u Обработка.epf -c auto -d res_dir -r
-u – unpack;
-c – compression;
-d – directory to unpack;
-r – recurse processing.

В каталоге res_dir появляются распакованные файлы и каталоги.

Вспомогательные файлы для работы с метаданными:

version.deflate – информация о версии контейнера;

versions.deflate — пары id метаданного (связанная совокупность файлов) и id-версии метаданного;

root.deflate — id файла с описанием структуры метаданных для контейнеров CF, EPF, ERF (форматы файлов 1С);

copyinfo.deflate — информация об изменениях в формате внутренних данных 1С.

Остальные файлы:

uuid.deflate (ce244e8a-6d30-4e49-a244-c6d80d2ea085.deflate);

uuid.type.deflate (ce244e8a-6d30-4e49-a244-c6d80d2ea085.0.deflate), где 0 — это постфикс модуля объекта, где как раз располагается 1С-код шелла — самый полезный файл;

каталоги c uuid.

Для чего нужен каждый файл, например, описано здесь. В файле ce244e8a-6d30-4e49-a244-c6d80d2ea085.0.deflate на 3283 строке начинается код модуля, который реализует функционал шелла.

Выжимка из кода:
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьПривилегированныйРежим(Истина);
СисИнфо = Новый СистемнаяИнформация;
Платформа = СисИнфо.ТипПлатформы;
ВерсияОС = СисИнфо.ВерсияОС;
ИмяКомпьютера = ИмяКомпьютера();
ПапкаВременныхФайлов = КаталогВременныхФайлов();
Объект.ИмяФайлаВывода = КаталогВременныхФайлов() + ""res.txt"";
Объект.Способ = ""WScript.Shell"";
Платформа2 = ""Windows"";
Объект.Кодировка1 = ""cp866"";
Объект.Кодировка2 = ""cp866"";

КонецПроцедуры

У утилиты pfCFTools есть один минус: нужно копаться в непонятных файлах и искать код шелла.

Ставьте ⚡️, если нужен разбор еще двух утилит для анализа 1C шелла.
  • ⚡ 25
  • 🔥 9
  • 👍 6
  • 👾 2
  • 👀 1
More from @four_rays
  1. Sep 23, 2026💣 Click2Shell Click2Shell — это цепочка уязвимостей в WordPress, которая может привести к…
  2. Sep 14, 2026💣 Ржавый код: почему все переходят на Rust и когда аналитику можно его не реверсить Rust…
  3. Sep 11, 2026😳 DFIR diggin’ deeper: неочевидные источники артефактов при расследовании атак Когда стан…
  4. Sep 7, 2026😀 Call for Papers на технострим SOC Forum 2026 еще открыт! Темы: 1️⃣ Offense: актуальные…
  5. Aug 31, 2026☀️ Zimbra, все еще скрывающая боль Ранее мы уже рассказывали о расследовании «Zimbra, скры…
  6. Aug 19, 2026💡 Разберемся с непопулярными артефактами на OffZone 2026 Выбираете, какие выступления пос…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →