1с как узнать пароль пользователя
Перейти к содержимому

1с как узнать пароль пользователя

  • автор:

Узнаем пароли пользователей 1С

Возможность тестировалась на платформе 1с версии 8.1.13.41 и 8.2.10.82 (думаю на 8.0 ситуация обстоит так же) на операционной системе Windows Server 2008 как 32 так и 64 битной под правами локального администратора в терминальной сессии. На самом деле и на операционных системах «постарее» можно узнать пароль, просто не так банально как на тестируемой ОС.

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

image

Запустите диспетчер задач и нажмите на кнопку «Отображать процессы всех пользователей», далее в появившемся окне нажмите на кнопку «Продолжить». После выбираем пункт меню: «Вид» -> «Выбрать столбцы…» и в появившемся окне ставим галку напротив пункта «Командная строка» и нажимаем кнопку «Ок». Ищем глазами процесс 1cv8.exe и наблюдаем примерно такое:

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

Не буду делать акцент на том, что у многих смертных один и тот же пароль используется не только для доступа к ИБ 1С и к каким последствиям может привести факт владения паролем другой стороной. Хочу лишь отметить, что все потуги самой 1С использовать алгоритмы шифрования AES, Triple DES, протокол SSL для доступа к ИБ, хранение паролей пользователей в таблице базы данных в специальном формате перечеркиваются вышеприведенным способом авторизации.

UPD:
Перенес в блог «Информационная безопасность»

Работа с паролями пользователей в 1С

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

Пользователь = «Иванов Иван Иванович» ;
ПользовательИБ = ПользователиИнформационнойБазы . НайтиПоИмени ( Пользователь ) ;

Установка нового пароля

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

ПользовательИБ . Пароль = «q12345» ;

После установки пароля свойство ПарольУстановлен пользователя информационной базы примет значение Истина. Пароль начнет работать после перезапуска системы.

Установка требований к сложности пароля в 1С

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

При включении этой функции пароль проверяется на соответствие следующим требованиям:

  • Длина не менее 7 символов;
  • Содержит не менее 3-х типов символов:
    • заглавные буквы;
    • строчные буквы;
    • цифры;
    • спец. символы.
    • Не совпадает с именем пользователя;
    • Не является последовательностью символов.

    Можно включить эту функцию программно:

    УстановитьПроверкуСложностиПаролейПользователей ( Истина ) ;

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

    Функция ПарольСоответствуетТребованиям ( Пароль )

    //Убедимся, что проверка сложности включена
    УстановитьПроверкуСложностиПаролейПользователей ( Истина ) ;

    //Создадим временного пользователя и установим его параметры
    ВременныйПользовательИБ = ПользователиИнформационнойБазы . СоздатьПользователя ( ) ;
    ВременныйПользовательИБ . АутентификацияСтандартная = Истина ;
    ВременныйПользовательИБ . Имя = НСтр ( «ru = ‘Временный пользователь'» ) +
    » (» + Строка ( Новый УникальныйИдентификатор ) + «)» ;

    //Установим временному пользователю требуемый пароль
    ВременныйПользовательИБ . Пароль = Пароль ;

    //Попытаемся записать временного пользователя.
    //Если появится ошибка, значит пароль не соответствует требованиям
    ХорошийПароль = Истина ;

    //Удалим временного пользователя
    ВременныйПользовательИБ . Удалить ( ) ;

    Как программно проверить пароль пользователя 1С

    Как мы уже отмечали, свойство Пароль пользователя информационной базы недоступно для чтения, то есть мы не сможем при необходимости просто сравнить пароль, введенный пользователем, с паролем, который хранится в информационной базе.

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

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

    Функция ПроверитьПароль ( Пользователь , Пароль )

    //Получим пользователя ИБ
    ПользовательИБ = ПользователиИнформационнойБазы . НайтиПоИмени ( Пользователь ) ;

    //Получим хешированное представление введенного пароля
    ХешированиеДанных = Новый ХешированиеДанных ( ХешФункция . SHA1 ) ;
    ХешированиеДанных . Добавить ( Пароль ) ;
    ХешированныйНовыйПароль = Base64Строка ( ХешированиеДанных . ХешСумма ) ;
    ХешированиеДанных = Новый ХешированиеДанных ( ХешФункция . SHA1 ) ;
    ХешированиеДанных . Добавить ( ВРег ( Пароль ) ) ;
    ХешированныйНовыйПароль = ХешированныйНовыйПароль + «,» + Base64Строка ( ХешированиеДанных . ХешСумма ) ;

    //Сравним полученный хешированный пароль и хешем пароля в информационной базе
    Возврат ХешированныйНовыйПароль = ПользовательИБ . СохраняемоеЗначениеПароля ;

    1с как узнать пароль пользователя

    Никак.
    Только если спросить, выбить, подсмотреть.
    Его можно подобрать — и под тем, что подобрал — зайти.
    Но не факт, что Это тот пароль.

    Отсутствует физически.
    А что не существует cracka?

    Когда пришел на новую работы, предыдущий прог мне паролей пользователей не оставил (всех не обежишь и не спросишь — их более 50). Мне посоветовали сделать так, чем я и воспользовался 🙂 — поменять все пароли, записать на бумажке и ждать звонков от пользоватлей и раздатть им новые пароли 🙂

    2(5) И сразу завязались теплые дружеские отношения.
    у меня где крякалка валялась, вскрывает и пароли конф и пароли юзверей

    врёте
    можно по хэшу подобрать аналог
    2(0) есть утилитка admin1c она хэш отлавливает на юзере и сама же брутфорсит..
    правда сама долго считает мой селерон 2,4 считал 1час , а в инете есть бесплатные сервисы по ломанию

    (6) и не говори :), были конечно недовольные, но таких меньшиство. А коллектив хороший, зато сразу со всеми и познакомился.

    2(8) Мы знаем. в админе желательно знать хотя бы длину пароля 🙂
    . но проще спросить/поменять

    Вообще-то взлом паролей юзеров не есть очень неразрешимая задача 😉
    Тем паче, учитывая кто есть эти юзеры :))

    Такое предложение:
    — сделать обработку и запускать ее модально приНачалеРаботыСистемы .
    — форму обработки сделать 1 в 1 как окно авторизации .
    — потом, по введенному паролю, пробовать подключиться по оле к копии базы .
    — если пароль правильный — сохранять его где-нибудь и в следующий раз обработку не запускать, а если не правильный статусвозврата(0) .
    — сто пудей, что лохи-юзеры ничего не поймут .

    (12) Юзер отсутствует физически, читай (3)

    (13) Кто понял жизнь, тот не спешит!
    Куда он денется? Придет рано или позно, вляпается в (12) и будет наш .

    (14) Уволили — значит навсегда 🙂
    (12) Ну вот еще. Так извращаться. Лучше установить шпион клавиатуры и по логам смотреть.
    (7) вскрывает пароль на конфу или патчит 1С-ку? Если первое — намыль, пожалуйста.

    (15) А если уволили, то, во-первых, зачем под ним заходить? Чтобы задним числом всех собак на него повесить? Во-вторых, зачем нужен старый пороль — он же уже больше не понадобиться .

    (12) Прикольно:))))))))), но сначала, увы, идет авторизация 1С, а потом ПриНачале работыСистемы() — заметят

    (18) А вот это надо у (0) спросить

    (18) Дык я и не спорю. «Умер Максим — ну и хрен с ним». Просто твой метод в 12 посте сложный. Согласись, шпион клавиатуры удобней будет. ActualSpy например.

    «. придут к тебе и знания, за это вам ручается киножурнал «Хочу все знать»» (с)
    (24) ага, еще и дба «подправить» незабудь. а для усерс.уср и работа с компаундом необязательна.
    (17) именно вскрывает пароли, если не забуду, то завтра замылю, она у меня дома лежит

    (20) Не заметят . кто-то подумает, что ошибся при вводе пароля, кто-то просто не подумает «почему два раза?», а большинство — даже не обратят на это внимание — потому, что они боятся 1С .

    (27) :))))
    А если сделать безпарольный вход? Тогда вообще один раз будет появляться, а когда все пароли узнаны — обратно восстановить нормальный вход

    (28) а как ты его сделаешь? авторизация не появится если ты пользователей снесешь

    (29,30) сделать копию базы, убить пользователей
    — сделать обработку и запускать ее модально приНачалеРаботыСистемы .
    — форму обработки сделать 1 в 1 как окно авторизации .
    — потом, по введенному паролю, пробовать подключиться по оле к копии базы .
    — если пароль правильный — сохранять его где-нибудь — сто пудей, что лохи-юзеры ничего не поймут

    Так это не беспарольный, а без авторизации .
    (31) имхо это уже перебор:))

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

    (34) Сначала убить — потом восстановить
    (33) Ну раз пошла такая пьянка

    +(32) В варианте (31) такой «ненормальный» запуск будет каждый раз, а в моем варианте если пользователь один раз в мою «авторизацию» введет правильный пароль, то больше он никогда «ненормальности» запуска не увидит. А если начнет пылить, то пусть попробует при тебе повторить то, что ему померещилось с мутных глаз .

    (35) Если ты сначала убьешь юзеров, то получишь набор паролей, а если юзера не будет ты же не проверишь к какому юзеру какой пароль. А когда юзеров восстановишь, придется подбирать КАЖДЫЙ из полученных паролей к каждому пользователю и подходящую комбинаицию юзер+пароль из дальнейшего сопоставления исключать.
    P.S. Уж не знаю, понятно ли я написал 🙂

    (37) Пользователи со всеми своими потрохами останутся в копии. Их оттуда можно потом просто скопировать, причем, не по одному, а сразу пачкой .

    Только вчера столкнулся:
    http://www.kuban.ru/forum_new/forum9/files/241710.html#F
    (36) Намальный у Уха вариант.
    (35) Ты сути непонял, там еще ОЛЕ присутствует.
    (36) ну в принципе, да . один раз это ерунда. типа глюк:))
    (41) Да незаметят пользователи, будет окно точ в точ как афторизация.

    (38) Наверно все таки меня не так поняли. Когда пользователь БЕЗ авторизации заходит в базу, как обработка узнает его «ИмяПользователя»?

    (36) Почему каждый раз, обычно все пользователи один раз в день входят — на следующий день уже все ОК. Ну а если кто болел или даже позволил себе в отпуске быть в этот день — вытрясти пароль другими способами.
    (40) Чего я не понял? Где ОЛЕ? А у меня не ОЛЕ?

    Все устал. Предлагаю новый способ. Сказать юзерам, что слетела база и пароли вместе с ней и раздать им на бумажках новые имена-пароли и сохранить эти пароли у себя :)))

    А есть ли какой-нить кряк? Суть такая: началльник уехал, зайти в базу нужно под ним, если поменять ему пароль, то когда он приедет начнется головомойка.

    (43) Имя, которое было выбрано в СЗ в обработке запомнить через СохранитьЗначение, привязавшись к ИмяКомпьютера(), а потом восстанавливать значение и ставить курсор на эту строку .

    (46) ну, способ есть. $100
    (48) 100$ Штрафа. =((

    (43) Можно предварительно составить соответсвие ИмяПользователя() — ИмяКомпьютера(). Можно при подключении по Оле пробовать зайти под всеми пользователями.

    (44) Этт я ошибся (40)4(37)
    (49) Нет, мне $100 и я расскажу способ

    (46) Зачем тебе кряк? Чукча! Тебе уже сто раз написали все .
    Ты лучше скажи, что воруем-то? Я в доле?

    (47)(50) А нафих соответствие, в links.tmp все прописано, читай рекорды по 1024 байта.
    (52) Давай не томи, выкладывай!

    наконецто афтор раскололся )))
    1. сносишь users.usr в надежное место,
    2. создаешь в конфиге юзера с такимже логином как у шефа,
    3. зходишь под ним, пакостишь и выходишь,
    4. возвращаеш users.usr взад (на родину),
    5. оставь нам координаты шефа на всяк случай )))

    (57) этт не наш метод.
    (50) Во-во. Придется пробовать каждый пароль применять к каждому юзеру
    (56) 1. Копируешь users.usr .
    2. Сносишь пароль юзера в конфиге.
    Дальше по тексту .
    (56) (61) Блин! Куда мои 100 енотов раскидываете.
    (61) совершенству нет предела (с)

    (59)(59) Нет ты тупишь или притворяешься?
    Читай внимательно у Уха. ОЛЕ.
    Делаешь копию базы, сносишь нафих усерс.уср, удаляешь всех пользователей.
    Пишешь МОДАЛЬНУЮ обработку с видом как у окна логининья. Там и список значений(Пользователи из скопированного усерс.уср) в обработке вводят парол, он записывается на диск, база по ОЛЕ подключается к скопированной если неподключиась обработка просит ввести снова парол(как в авторизации) если подключилась — закрываешь ОЛЕ и пускаешь работать. ФСЕ.
    (Да все это в При НачалеРаботыСистемы)
    P.S. А я бы сделал немного не так. там ведь МД5 значит достаточно скорей всего хэши сравнить того что в усерс.уср и того что ввели.

    (64) Друх, ты иди откуда пришел, пользуясь чюжими приблудами никогда несможешь ничего кроме как нажимать кнопку вкл/выкл.

    Самое новое в «1С:Бухгалтерии 8»: восстановление пароля пользователя

    Самое новое в «1С:Бухгалтерии 8»: восстановление пароля пользователя

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

    В программе «1С:Бухгалтерия 8» начиная с версии 3.0.101 добавлена возможность восстановления пароля пользователя на вход в информационную базу. Функционал доступен только для коробочных версий.

    index.jpg

    index.jpg

    Простой интерфейс: меню «Настройки — Другие настройки — Администрирование — Настройки пользователей и прав — Пользователи — Восстановление паролей».

    Полный интерфейс: меню «Администрирование — Настройки пользователей и прав — Пользователи — Восстановление паролей».

    index.jpg

    Простой интерфейс: меню «Настройки — Другие настройки — Администрирование — Настройки пользователей и прав — Пользователи — Пользователи».

    Полный интерфейс: меню «Администрирование — Настройки пользователей и прав — Пользователи — Пользователи».

    index.jpg

    Всю информацию серии можно найти по тэгу «самое новое в 1С:Бухгалтерии». Или просто следите за нашими новостями!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *