была тема
https://codeby.net/forum/threads/lomaem-1s.63910/, но чёт не нахожу...
картинки не сохранились...
Для начала немного теории.
1С - бухгалтерский огромный комбайн ориентированный на автоматизацию работы бизнеса. Есть куча различных версий и библиотек. Есть два основных компонента - это конфигуратор и клиент (толстый и тонкий).
Если проводить аналогию то:
Конфигуратор - (можно сказать что это среда разработки) - здесь мы собираем нашу конфигурацию для тех бизнес процессов, которыми хотим управлять.
Клиент - (среда исполнения), считайте готовое приложение с которым мы работаем как пользователь и в котором запускаем конфигурацию.
То есть Администратор 1С создает конфигурацию, а бухгалтер Тетя Тамара этой конфигурацией пользуется в клиенте.
Скрины:
Старт 1С:
1530719352739.png
Конфигуратор: (Прям крутая IDE - только язык программирования РУССКИЙ)
1530719395754.png
Клиент (рабочее приложение):
1530719434353.png
И вроде бы все хорошо, если бы не одно но. Помимо конфигураторов и клиентов есть ещё такая вещь как "Административная консоль управления сервером"
Примерная морда её:
1530719368854.png
Ну а теперь начнем захек:
Так вот, особенность, этой самой консоли в том, что она управляет сервером и кластерами его, которые крутятся на портах 1540,1541,1560
Просканировав сей порты увидим:
1530719675581.png
А дальше начинается самое интересное.....
Оказывается администраторы часто забывают устанавливать пароли на системы управления серверами и консолями, поэтому первое, что мы сделаем постараемся попасть в консоль администратора.
1530792258029.png
Итак попали в консоль, что мы можем?
Удалить информационную базу;
Завершать процессы (тем самым выкидывать пользователей из 1С);
Создавать Администраторов;
Если в 1С отсутствуют пользователь (или известны логин пароль, например забыли удалить) можем провести атаку RCE;
Посмотреть настройки mssql сервера и попытаться вытащить пароль или получить без парольный доступ.
Удаление базы:
1530792589498.png
Удаление сеанса (пользователя выкинет из 1С или СУБД):
1530792666747.png
В результате у пользователя
1530792699456.png
Теперь самое прикольное RCE
Попали мы в 1C Открываем Конфигуратор и пишем shell в 1С.
Например:
Код:
WshShell = Новый COMОбъект("WScript.Shell");
WshShell.Run("C:\Windows\notepad.exe", 1, 0);
Или юзаем темку для 1С с полноценным шеллом. KraudSecurity/1C-Shell