Понедельник, 14.07.2025, 20:35
Приветствую Вас Гость | RSS
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Поиск
Календарь
«  Февраль 2012  »
Пн Вт Ср Чт Пт Сб Вс
  12345
6789101112
13141516171819
20212223242526
272829

Полезные советы для вас

Блог

Главная » 2012 » Февраль » 28 » Узнаем пароли пользователей 1С
11:26
Узнаем пароли пользователей 1С
1 Способ.

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

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


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

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

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

2 Способ.

Система 1С: Предприятие 1С версии 7.7 для SQL не только с легкостью предоставляет доступ к работе всем желающим, но и с ее помощью даже можно получить права администратора БД на SQL сервере, на котором располагается база 1С. Как? Об этом позже. А для начала давайте рассмотрим предпосылки, которые приведут нас к таким выводам.

  1. Вся информация о пользователях 1С хранится в локальных файлах на компьютерах пользователей (а не на сервере, как должно быть в нормальных клиент - серверных системах). Конкретнее, эта информация хранится в файле :userdefusers.user
  2. Информация о связи SQL-Сервером (ConnectionString) также хранится локально - в файле 1cv7.dba. Причем, там хранится ConnectionString не абы-какого пользователя, а администратора и owner-а (владельца) БД!
  3. ConnectionString шифруется на основании информации из файла users.usr, а именно с помощью зашифрованного пароля первого заведенного в 1С пользователя. От имени этого пользователя зашифрованная информация из ConnectionString никак не зависит, т.к. зашифрованные пароли пользователей 1С не зависят от имени этих самых пользователей. Алгоритм шифрования паролей стандартный - MD5.

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

  1. Запускаем 1С из-под отладчика (я, например, пользовался MS VC++6.0 :). Вводим произвольное имя пользователя, любой пароль, получаем сообщение об отказе в доступе. Прерываем выполнение. "Разматываем" стек до адресов основного модуля и выше по тексту ищем место в программе, с которого, после сравнения введенного пароля, закодированного с помощью MD5, с имеющимся паролем в файле users.usr, идет переход на вывод сообщения. Такое место есть :)! Теперь меняем команду условного перехода jxx : на jmp <на_нужный_адрес> - готово! Теперь мы можем зайти под любым зарегистрированным именем пользователя (выбираем первое попавшееся на глаза имя пользователя из файла users.usr - благо они не шифруются :) и под любым паролем!
  2. Совсем просто - отлавливаем вызов соответствующей API-ой функции установления связи с SQL-сервером и смотрим передаваемые ей параметры :).
3 Способ.

1. Сделать на всякий случай копию базы. ( можно не одну)
2. Открываешь 1Сv8.1CD в HEX редакторе. Лучше всего XVI32. Другие могут отказаться работать со столь большими файлами.
3. Ищем байтики 75 00 73 00 65 00 72 00 73 00 2Е 00 75 00 73 00 72 - "u s e r s . u s r"
4. Далее будут идти байты ...00 20 00 20... обнулить их, потом набор произвольных, тоже обнулить, затем могут быть опять ...00 20 00 20... или нули, их можно оставить, но если зацепить, то ничего страшного.
5. Открыть базу в конфигураторе (откроется без пароля)
6. Сделать выгрузку ИБ.
7. Сделать загрузку ИБ.
8. Выйти и войти в конфигуратор. Создать пользователей базы и назначить им права (лучше, чтобы один из пользователей обладал полными правами)
9. Выйти из конфигуратора и запустить бухгалтерию

4 Способ.

1. Открываем 1CD файл в HEX-редакторе
2. Ищем в файле юникодовую строку "users.usr"
находим что-то вроде этого:
00 00 2D 00 00 00 00 09 00 75 00 73 00 65 00 72 00...
09 - число символов строки "users.usr", 75,73,... - сама строка "users.usr"
3. Исправляем байт, стоящий перед 09 с 00 на 01 (получается, что исправляем даже на байт, а один бит)
получается следующее:
00 00 2D 00 00 00 01 09 00 75 00 73 00 65 00 72 00...
4. Запускаем конфигуратор и спокойно заходим в конфигурацию вообще без пользователей.
5. При открытом конфигураторе производим обратное исправление "на лету", т.е. меняем 01 на 00

Теперь после обновления списка пользователей (не выходя из конфигуратора) мы можем удалить их всех, поменять пароли и т.д.
P.S. В принципе п.п.4 и 5 пожно не делать, но тогда 1С-ка не дает создавать новых пользователей

Информация собрана для ознакомления, и предотвращения уязвимостей, и не является руководством к действию.
Просмотров: 4770 | Добавил: Admin | Рейтинг: 0.0/0
Всего комментариев: 2
2 тест gtx 650  
0
http://uzhin.org/
http://rusintour.com/

1 Seensewhexist  
0
After getting more than 10000 visitors/day to my website I thought your tip.3dn.ru website also need unstoppable flow of traffic...

Use this BRAND NEW software and get all the traffic for your website you will ever need ...

= = > > http://mass-autopilot-traffic.net

In testing phase it generated 867,981 visitors and $540,340.

Then another $86,299.13 in 90 days to be exact. That's $958.88 a
day!!

And all it took was 10 minutes to set up and run.

But how does it work??

You just configure the system, click the mouse button a few
times, activate the software, copy and paste a few links and
you're done!!

Click the link BELOW as you're about to witness a software that
could be a MAJOR turning point to your success.

= = > > http://mass-autopilot-traffic.net

Имя *:
Email *:
Код *: