Инструмент для анализа паролей пользователей в 1С (показывает числовые пароли до 6 символов)

27.11.25

Администрирование - Пароли

Данная внешняя обработка для платформы 1С предназначена для анализа и проверки стойкости паролей пользователей информационной базы. Она выполняет поиск паролей методом перебора (brute-force) по их хранящемуся в системе хешу (1-2 минуты для выборки в 200 пользователей с установленными паролями). 

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Найти пароли быстрая версия
.epf 8,12Kb
0 1 850 руб. Купить
Найти пароли читаемая версия
.epf 8,24Kb
0 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

 

Как работает

  1. Сбор данных: При открытии обработка автоматически загружает список всех пользователей из Информационной базы, у которых есть пароль, и отображает их вместе с сохраненными хешами паролей (полем СохраняемоеЗначениеПароля).

    &НаСервере
    Процедура ЗаполнитьСписокПользователей()
    	ТЧ.Очистить();
    	Для каждого ПользовательИБ Из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл
    		Шифр = ПользовательИБ.СохраняемоеЗначениеПароля; //Зашифрованный пароль
    		Если ЗначениеЗаполнено(Шифр) Тогда
    			НСтр = ТЧ.Добавить();
    			НСтр.Пользователь = ПользовательИБ.ПолноеИмя;
    			НСтр.Шифр 	      = Шифр;
    		КонецЕсли;
    	КонецЦикла;                                                           
    КонецПроцедуры

     

  2. Процесс подбора: При запуске обработки (кнопка "Выполнить обработку") система начинает последовательный перебор числовых комбинаций — от 0 до 1 миллиона, а затем от 00 до 01 миллиона и так далее, до 6 нулей включительно.

    &НаСервере
    Процедура ВыполнитьОбработкуНаСервере()
    	Строка = ПолучитьДанныеПользователейВСтроку();
    	Ноль = "";
    	Для Счетчик1 = 0 По 6 Цикл		
    		Для Счетчик2 = 0 По 1000000 Цикл
    			Значение = СтрЗаменить(Строка(Счетчик2)," ","");
    			ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.SHA1);
    			ХешированиеДанных.Добавить(Ноль+Значение);
    			СохраняемоеЗначениеПароля = Base64Строка(ХешированиеДанных.ХешСумма);
    			Позиция = СтрНайти(Строка, СохраняемоеЗначениеПароля);
    			Если Позиция Тогда //Если нашли совпадающий хеш, тогда записываем
    				УникальныйИдентификаторЧисло = ПолучитьСтрукуруДанных(Строка, Позиция - 1);
    				СтрТЧ = ТЧ.НайтиПоИдентификатору(УникальныйИдентификаторЧисло);
    				СтрТЧ.Пароль = Значение;
    			КонецЕсли;	
    		КонецЦикла;
    		Ноль = Ноль + "0";
    	КонецЦикла;
    КонецПроцедуры

     

  3. Проверка совпадения: Для каждого подбираемого числа (Значение) вычисляется его хеш по алгоритму SHA-1, который затем кодируется в Base64. Полученная строка сравнивается с хешами пользователей из заранее сформированной строки.

    &НаСервере
    Функция ПолучитьДанныеПользователейВСтроку() //Формируем одну строку из нашей табличной части в вид: #ИдентификаторСтроки#Хеш
    	Строка = "";
    	Для каждого Стр Из ТЧ Цикл
    		Строка = Строка+"#"+Стр.ПолучитьИдентификатор()+"#"+Стр.Шифр;
    	КонецЦикла;
    	Возврат Строка;
    КонецФункции

     

    &НаСервере
    Функция ПолучитьСтрукуруДанных(Строка, Позиция) //Получаем из сформированной строки идентификатор строки для дальнейшей вставки данных в таблицу
    	Символ = "";
    	УникальныйИдентификаторСтрока = "";
    	Пока Истина Цикл
    		Позиция = Позиция - 1;
    		Символ = Прав(Лев(Строка,Позиция),1);
    		Если Символ = "#" Тогда
    			Прервать;
    		КонецЕсли;
    		УникальныйИдентификаторСтрока = Символ + УникальныйИдентификаторСтрока;
    	КонецЦикла;
    	
    	Возврат Число(УникальныйИдентификаторСтрока);
    КонецФункции

     

  4. Результат: Когда находится совпадение, подобранный числовой пароль записывается в соответствующую строку таблицы обработки в колонку "Пароль".

 

Инструкция по использованию

  1. Подключение: Откройте обработку как внешнюю или добавьте в базу данных 1С и откройте её.

  2. Загрузка списка: Сразу после открытия обработка автоматически заполнит таблицу списком пользователей и их хешами паролей.

  3. Запуск анализа: Нажмите кнопку "Выполнить обработку". Процесс может занять какое-то время, результатом моих тестов было ~150 секунд для обычного кода и ~70 секунд для кода, который был записан в строку, а имена переменных были заменены на короткие (1-2 символа), так как выполняется перебор большого количества комбинаций.

  4. Анализ результатов: После выполнения в колонке "Пароль" будут отображены найденные пароли для тех пользователей, чьи пароли являются числами в проверенном диапазоне.

 

Ключевые особенности и ограничения

  • Цель: Выявление слабых числовых паролей.

  • Метод: Перебор (Brute-force) числовых комбинаций длиной до 6 знаков включительно.

  • Алгоритм: Пароли проверяются по хешу SHA-1, закодированному в Base64, что соответствует внутреннему механизму хранения паролей в 1С.

  • Ограничение: Обработка ищет только числовые пароли. Она не проверяет пароли, содержащие буквы или специальные символы.

  • Производительность: Процесс подбора может быть очень медленным, так как выполняется в циклическом коде на языке 1С.

  • Универсальность: Обработка должно работать во всех информационных базах версий 8.n.

 

Вывод

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

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.22.124

Вступайте в нашу телеграмм-группу Инфостарт

обработка 1С:Предприятие открытый код инструмент разработчика внешняя обработка ERP программирование задача пароли задача пользователя универсальный анализ Управление предприятием 2 аналитика подписка алгоритмы математика

См. также

Пароли Системный администратор Программист 1С:Предприятие 8 Россия Абонемент ($m)

ПО для хранения паролей. Подойдет людям, у которых много разных несистематизированных ресурсов и паролей к ним.

1 стартмани

13.11.2025    581    1    space300    11    

0

Пароли Инструменты администратора БД Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Абонемент ($m)

В базах 1С у множества пользователей не установлен пароль для входа, так как в общих настройках не задана минимальная длина пароля для всех юзеров. Что делать?

1 стартмани

16.10.2025    658    1    cska1312    0    

1

Роли и права Пароли Инструменты администратора БД Системный администратор Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Дополнительная обработка для работы с пользователями БСП и ИБ. Ключевые возможности: - Быстрый просмотр пользователей и главных свойств - Запуск приложения под любым пользователям базы данных - Поиск и исправления узких мест в безопасности - Групповое редактирование пользователей - Быстрое копирование прав доступа и групп от пользователя к пользователю Подходит для любой конфигурации с БСП на управляемых формах для клиент-серверных баз и файловых.

1 стартмани

07.07.2025    3631    50    FFX_Eka    5    

12

Рефакторинг и качество кода Информационная безопасность Пароли Программист 1С:Предприятие 8 Россия Абонемент ($m)

Представьте ситуацию: вы пишете обработку для отправки email-уведомлений клиентам. Чтобы подключиться к серверу почты, вам нужны: логин, пароль, SMTP-адрес. Что делает большинство программистов?

1 стартмани

23.06.2025    4178    markbraer    11    

3

Информационная безопасность Математика и алгоритмы Пароли Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Абонемент ($m)

Реализация алгоритма TOTP-аутентификации на языке 1С, включая создание QR-кода для добавления в приложения-аутентификаторы

1 стартмани

29.05.2025    2143    Octopus    6    

10

Пароли Программист 1С:Предприятие 8 Россия Казахстан Абонемент ($m)

Временная смена пароля для входа под пользователем. Позволяет проверить работоспособность обработки под пользователем "здесь и сейчас".

1 стартмани

25.04.2025    1788    8    el_turist    7    

6

Пароли Системный администратор Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

В конфигураторе можно настроить Политики паролей пользователей. И настроенная таким образом политика работает для всего списка пользователей, без исключения. А что делать, если надо настроить отдельную политику для определенного пользователя? Оказывается, можно, но только программным способом. Эта обработка позволяет редактировать список политик применяемых к паролям пользователей, а также редактировать список пользователей, к паролям которых применяется выбранная политика. Управляемые и обычные формы.

1 стартмани

31.03.2025    2163    9    9899100    0    

2

Пароли 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Клиент одноразовых паролей на основе времени (для двухфакторной или любой другой аутентификации) на чистом 1С.

3 стартмани

21.01.2025    3424    6    SerVer1C    4    

19
Для отправки сообщения требуется регистрация/авторизация