Добрый день. В данной статье я попробую на пальцах объяснить как можно восстановить доступ к базе, когда пароль по какой то причине утерен. Рассмотрим как это делается в различных версиях программы 1С.
Версия 7.7.
В версии 7.7 список пользователей храниться в папке usrdef, в которой храниться файл users.usr. Данный файл открывается обычным текстовым редактором. При открытии файла можно обнаружить список пользователей и их паролей, которые закодированы в формате MD5.
Сбросить пароль не составляет сложности - достаточно переименовать папку usrdef. При авторизации программа не запрашивает пароль, можно заходить в предприятие или конфигуратор. В режиме конфигуратора можно через меню администрирования создать новых пользователей. Или вернуть прежнее название папке usrdef и уже менять пароли для существующих пользователей.
Если все таки необходимо узнать пароль пользователя то тут есть несколько вариантов.
Вариант 1. подобрать пароль. Как это не странно, но специально для 1с была написана программа для подбора паролей - «подбиралка» паролей к 1С.
Программа позволяет подобрать пароль не только к пользователю, но и к конфигурации и внешней обработке. Программа довольна гибкая - можно задать параметры пароля - число символов и типы символов (цифры, большие или маленькие буквы, прочие символы). Можно также задать приоритет программы - чем выше, тем быстрее будет найден пароль.
На этом плюсы программы заканчиваются - подбор перебором занимает много времени. Лет 6 назад подбор восьми значного буквенного пароля занял 2,5 дня. На современном оборудовании подбор занял 2,5 часа. Прогресс на лицо.
Вариант 2. Так как пароль в закодированном виде мы можем узнать из файла users.usr с помощью текстового редактора, то можно его расшифровать. Так как метод шифрования, который используется в 7.7, довольно старый (MD5), существует довольно много методов его взлома. Например, можно воспользоваться онлайн сервисами для дешифровки. Например https://www.cmd5.org. Сервис существует с 1996 года и хранит огромное количество паролей, зашифрованных различными методами. Сервис сам определяет каким методом зашифрован пароль и если он есть в базе - сразу выдаёт результат. За дешифровку уникального пароля придётся заплатить. Но цены вполне приемлемые по сравнению с другими подобными ресурсами. Ресурс так же предоставляет собственную программу, которая пригодиться для аудита паролей.
Версия 8.3.
С выходом 8 версии 1С Предприятия безопасность программы была повышена на новый уровень. Если раньше можно было просто переименовать папку, то теперь все данные хранятся в файле 1Cv8.cd. Его просто так не откроешь.
Ситуация так же усложняется различными подходами к защите данных в различных версиях программы.
Методы взлома отличаются в зависимости от варианта базы - файловая, клиент-серверная, веб.
Файловая база взламывается относительно легко. До версии 8.3.8 файл базы данных нужно было:
- открыть HEX-редактором,
- найти нужную строчку найти строку «users.usr»
- найти значение «09» и слева от него исправить «00» на «01» .
В версии 8.3.8 задача немного усложнилась и надо было искать строку «v8users» и в найденной строке менять букву «V» на «H» .
Так же можно воспользоваться специальным софтом, а именно программой Tool_1CD. программа позволяет открыть таблицу V8USERS. Далее можно заменить хеша пароля пользователя на хеш пустой строки. Но работает это только для версий до 8.3.8.
Кстати, пароль храниться «дважды» - то что указал пользователь, и то же самое в верхнем регистре. Если значения совпадают, то пароль числовой. Это может облегчить поиски.
В клиент-серверном варианте взлом пароля так же возможен при наличии пароля от администратора SQL-сервера. Можно или удалить таблицу с пользователями. Или просто обнулить их пароли.
При работе через веб задача усложняется тем, что нет физического доступа к базе. В таком случае нам могут помочь только дополнительные обработки, которые считывают пароли пользователей. Но тут есть несколько нюансов. Во-первых, у пользователя может быть запрет на открытие внешних обработок. Во-вторых, у пользователя может не быть прав на чтение пользователей, и тогда он не сможет прочитать хеш пароля. Ну а если это все обошли, то придётся потрать время на перебор пароля.
Как было описано выше, перебрать пароль можно или на специальных сайтах типа https://www.cmd5.org или воспользоваться специальным софтом (rain bow crack или John the Ripper). Не стоит верить тем, кто говорит что пароль от 8 версии нельзя взломать. Пароль закодирован согласно методу SHA1. Метод довольно старый, сегодня уже существует SHA3. Специализированный софт в паре с современным оборудованием могут взломать пароль довольно быстро.