Приветствуем любителей информационной безопасности, мы ЛианМедиа и мы знаем как защитить информационные системы. В данной статье мы расскажем о практике пентеста приложения 1С через менеджер кластера. Почему мы выбрали эту тему? Есть уязвимости, о которых мало что написано, но они требуют отдельной статьи.

Так же можете ознакомиться со статьёй Как атакуют системы 1С: клиентские версии.


Скрытый текст

Для тех, кто не в курсе:

Пентест или же тестирование на проникновение – это процесс имитации атаки на компьютерную систему, сеть или приложение с целью выявления уязвимостей и оценки уровня безопасности.

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

В данной статье мы бы хотели рассказать с какими типовыми атаками пришлось столкнуться нашим специалистам в процессе поиска уязвимостей приложений 1С.


АТАКИ ЧЕРЕЗ МЕНЕДЖЕР КЛАСТЕРА 1С

В этот раз мы провели атаку через менеджер кластера 1С, но обо всём по порядку.

Кластер серверов «1С:Предприятие» является логическим понятием и представляет собой совокупность рабочих процессов, обслуживающих один и тот же набор информационных баз.

Пример кластер серверов 1С:Предприятие 8.2
Пример кластер серверов 1С:Предприятие 8.2

Кластеризация серверов защищает сервисы компании от аппаратного сбоя вычислительного ресурса – сервера. В случае выхода из строя одного из узлов кластера другой берет на себя основные функции.

На каждом рабочем сервере процессы кластера используют следующие порты:

  • IP порт рабочего сервера (обычно 1540);

  • IP порты из диапазонов IP портов рабочего процесса (обычно 1560-1591).

  • Порт кластера (обычно 1541) - для центрального сервера.

Мы обнаружили, что в кластере 1С существует уязвимость, связанная с недостаточной (отсутствующей) авторизацией на порте 1541 (и через 1540), который используется для подключения к кластеру. Если авторизация не настроена должным образом, злоумышленник может подключиться к кластеру через менеджер кластера, получив несанкционированный доступ к чувствительным данным и системе.

1. РАСШИФРОВКА ПАРОЛЕЙ ИНФОРМАЦИОННОЙ БАЗУ ДАННЫХ

Для подключения к 1С с портом 1541 мы выполнили следующие условия:

  1. Наличие двух сопрягающихся между собой клиентской и серверной версий 1С (подбирается эмпирическим путем).

  2. Скачали утилиту Tool_1CD (требуется для работы с БД 1С).

Tool_1CD – это популярная утилита чтения файловых баз данных, она позволяет увидеть структуру таблиц и полей файловой базы 1Cv8.1CD, просмотреть содержимое таблиц.

Дополнительно позволяет сохранить в файл основную конфигурацию, конфигурацию базы данных и конфигурации поставщика, просмотреть размер внутренних файлов, выгрузить содержимое таблиц в XML.

Файл базы 1С открывается монопольно, поэтому нельзя просматривать базу при запущенной 1С, в которой открыта эта база.

Если пароли находятся в конфигурационных файлах, то необходимо расшифровать пароли посредством конфигов, подробнее в статье «Как атакуют системы 1С: клиентские версии. Расшифровка паролей для подключения к базе данных посредством конфигов». Предварительно необходимо сдампить базу и накатить её локально.

Иначе пароли хранятся непосредственно в СУБД (зашиты в виде файла, т.е. представляют из себя артефакт), тогда следует воспользоваться ранее скаченной утилитой TOOL_1CD.

Для раскрытия паролей мы выполнили ряд действий:

  1. Открыли программу Tool_1CD;

  2. Меню → Файл → Открыли базу → выбирали файл 1Cv8.1CD;

  3. В таблицах слева выбираем таблицу v8users;

  4. Из списка пользователей, нашли интересующего;

  5. Читаем информацию из поля DATA;

  6. Найти хеш и провести дешифровку пароля, как было показано ранее. 

Восстановление пароля при помощи TOOL_1CD
Восстановление пароля при помощи TOOL_1CD

2. АТАКА НА БАЗУ ДАННЫХ

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

2.1. ЗАМЕНА ПАРОЛЕЙ НА ПУСТЫЕ ЗНАЧЕНИЯ

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

2.2. ВЫПОЛНЕНИЕ КОМАНД И ЧТЕНИЕ ФАЙЛОВ

Дальнейшее развитие вектора атаки в базе MSSQL может происходить в следующих направлениях:

  • Чтение файлов на диске (в т. ч. и в SMB папках через \\srv\folder);

  • Загрузка файлов на сервер;

  • Выполнение кода.

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

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

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

ЗАКЛЮЧЕНИЕ

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

Комментарии (0)