powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Достать из .exe логин/пароль к базе
25 сообщений из 36, страница 1 из 2
Достать из .exe логин/пароль к базе
    #39107908
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть программа для работы с базой, написана на C#. В наличии только exe-файл, без конфига, строка подключения хранится прямо в исходнике. Как достать логин/пароль, которые использует программа для работы с базой?

Задач на самом деле две:

1) Как достать логин/пароль?
Если это может помочь, доп. информация - у злоумышленника есть обновляемый excel файл со строкой подключения в чистом виде, но с учеткой попроще, т.е. он изначально знает все параметры подключения, кроме админской учетки.

2) Можно ли как-то этому противостоять? (с точки зрения разработчика. У него конечно есть исходник)
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39107949
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ConejoКак достать логин/пароль, которые использует программа для работы с базой?
Поймать момент авторизации на сервере БД. Сниффингом, например...
Извлечь из тела исполняемого файла пару логин-пароль в общем случае невозможно.

ConejoМожно ли как-то этому противостоять?
Внутри файла - формировать логин и пароль кодом, а не задавать как литерал. Плюс обычные мероприятия против трассировки кода.
Снаружи файла противостоять "отлову" логина и пароля практически нереально - разве только что средствами приложения устанавливать шифрованное соединение с сервером БД.
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39107964
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
Спасибо большое за ответ. Внутри кода - да, реально прогнать через шифратор, в другой программе так и делаем. Но при соединении с базой - неужели пароль передается в чистом, не зашифрованном виде? Вот это да!
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108012
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Conejoпри соединении с базой - неужели пароль передается в чистом, не зашифрованном виде? Вот это да!
Если канал обмена не шифрован - конечно, в открытом. Вот не входит в функции сервера БД шифрование обмена с клиентом. Даже если сервер искаропки такое умеет - всё равно этим занимается отдельно встраиваемая подсистема.
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108014
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ConejoВнутри кода - да, реально прогнать через шифратор, в другой программе так и делаем.
Я имел в виду не шифрование, а программное формирование и сборку - это проще и нестандартнее. Особенно если строки кода формирования логина и пароля раскиданы между строками кода инициализации приложения - в такой каше сложнее понять, что, как и где формируется.
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108040
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
идею программной сборки я поняла правильно, про шифрование - это уже моя следующая мысль, сделать как в параллельном проекте.

В общем, резюмируя вышесказанное, вывод - бороться очень тяжело, легче предупредить народ, что при обнаружении несанкционированных манипуляций с базой - расстрел без суда и следствия.
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108058
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Conejo , а Вы, простите, в этой каше кто? разработчик? распространитель? интегратор? сетевой админ? админ задачи? пользователь?
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108087
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ConejoЕсть программа для работы с базой, написана на C#. В наличии только exe-файл, без конфига, строка подключения хранится прямо в исходнике. Как достать логин/пароль, которые использует программа для работы с базой?

Задач на самом деле две:

1) Как достать логин/пароль?
Если это может помочь, доп. информация - у злоумышленника есть обновляемый excel файл со строкой подключения в чистом виде, но с учеткой попроще, т.е. он изначально знает все параметры подключения, кроме админской учетки.

2) Можно ли как-то этому противостоять? (с точки зрения разработчика. У него конечно есть исходник)

Насчет противостояния сниффингу.
1. Сервер с клиентом, используя протокол Диффи - Хелмана, формируют ключи шифрования для зашифрования пароля (и всего трафика).
2. Либо, например, используя один из известных алгоритмов ассимметричного шифрования с открытым ключом, сервер посылает клиенту открытый ключ. Клиент шифрует пароль открытым ключом и отправляет результат серверу. Для расшифрования используется другой, секретный ключ, который остался на сервере.
...
Однако, все это можно взломать, зная и имитируя протокол обмена данных: вместо сервера подставляется сервер-имитатор, который в итоге получит пароль в открытом виде.
...
Противостояние имитации сервера: электронная подпись. Например: клиент генерирует случайный блок данных и отправляет на сервер. Сервер формирует электронную подпись, которую возвращает клиенту. Клиент, проверив электронную подпись, убеждается, что общается с подлинным сервером.
...
Однако это можно взломать, дизассемблировав приложение клиента. Противостояние дизассемблированию: вынести участок кода, выполняющий проверку ЭЦП, а также хранящий и шифрующий пароль, в защищенный объект: например, в электронный ключ защиты типа USB Guardant Sign/USB Guardant Code (и т.п.).
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108093
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
из предложенных ответов ближе всего "админ задачи".
Но изначально я администратор базы данных, в которой это безобразие творится.
Наши умные операторы решили ускорить ввод, заливая данные напрямую в базу, в обход специальной программы. Это повлекло большие проблемы, не хотелось бы повторения.
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108102
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeroMQ, спасибо
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108139
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати просмотрела exe через F4 - логина/пароля в чистом виде там нет, видимо С# его прячет. А вот Delphi константы хранит в чистом виде, поэтому и пришлось шифровать в другом проекте.
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108208
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ConejoНаши умные операторы решили ускорить ввод, заливая данные напрямую в базу, в обход специальной программы.
Это проблема, которая должна решаться в административном порядке.
Когда один идиот оплатит работы по восстановлению БД, все сразу зарекутся работать в обход штатного софта.
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108229
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
ConejoКстати просмотрела exe через F4 - логина/пароля в чистом виде там нет, видимо С# его прячет. А вот Delphi константы хранит в чистом виде, поэтому и пришлось шифровать в другом проекте. попробуй каким-нибудь ресурс эксплорером посмотреть что в ресурсах
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108243
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Conejo2) Можно ли как-то этому противостоять? (с точки зрения разработчика. У него конечно есть исходник)

Так если база-то у вас, поменяйте пароль, и всё...
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108272
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivConejo2) Можно ли как-то этому противостоять? (с точки зрения разработчика. У него конечно есть исходник)

Так если база-то у вас, поменяйте пароль, и всё...
Так они его в прогу зашили. Прога тоже встанет.
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108275
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если прога раздается всем подряд, то как минимум надо вести контроль по IP кто-откуда-что делает. Как максимум: генерить ID по железу компа где запушена прога и использовать этот ID для доступа к данным. Тогда можно будет выборочно карать нарушителей.
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108285
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Conejo,

сервер то какой ?
MSSQL?
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108312
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TЕсли прога раздается всем подряд, то как минимум надо вести контроль по IP кто-откуда-что делает. Как максимум: генерить ID по железу компа где запушена прога и использовать этот ID для доступа к данным. Тогда можно будет выборочно карать нарушителей.
Ну и как это поможет? Прога-то ни при чем, она как раз работает правильно. Проблемные записи были отредактированы в обход софта, они даже ID оператора не потрудились проставить, не то что IP компа))

Изопропил сервер то какой ?
MSSQL?
он самый
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108402
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ConejoИзопропилсервер то какой ?
MSSQL?
он самый
в login триггере можно посмотеть что творится app_name() и т д


Conejo2) Можно ли как-то этому противостоять? (с точки зрения разработчика. У него конечно есть исходник)
уволить архитектора
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108422
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ConejoКстати просмотрела exe через F4 - логина/пароля в чистом виде там нет, видимо С# его прячет. А вот Delphi константы хранит в чистом виде, поэтому и пришлось шифровать в другом проекте.
Есть простые, многократно описанные способы, как обойти.
Разу уж вам приспичило хранить ключ в приложении, возьмите случайную последовательность, равную длине ключа.
При разработке приложения выполните("ручками") операцию побитного XOR ключа с этой случайной последовательностью, её и храните в виде константы А в приложении.
Кроме того, отдельно в приложении храните и саму упомянутую случайную последовательность в виде константы Б.
А при выполнении приложения выполните повторный А XOR Б, и получите свой секретный ключ.
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108426
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ConejoDima TЕсли прога раздается всем подряд, то как минимум надо вести контроль по IP кто-откуда-что делает. Как максимум: генерить ID по железу компа где запушена прога и использовать этот ID для доступа к данным. Тогда можно будет выборочно карать нарушителей.
Ну и как это поможет? Прога-то ни при чем, она как раз работает правильно. Проблемные записи были отредактированы в обход софта, они даже ID оператора не потрудились проставить, не то что IP компа))

Изопропил сервер то какой ?
MSSQL?
он самый

MS SQL Server всегда шифрует сетевые пакеты, связанные с входом в систему.
То есть, в данном случае, по сети пароль в открытом виде не передается.

Если объяснять примитивно, то установлении соединения сервер передает клиенту открытый ключ шифрования, клиент "внимательно изучает этот ключ", и если он его устраивает, шифрует пароль полученным ключом. Ну а затем зашифрованный пароль передается серверу. Так как шифрование асимметричное, то для расшифровать пароль может только сам сервер, ибо ключ для расшифровывания есть только у него.

Сниффер ничего не перехватит, то есть.

https://msdn.microsoft.com/ru-ru/library/ms131691.aspx
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108463
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ConejoDima TЕсли прога раздается всем подряд, то как минимум надо вести контроль по IP кто-откуда-что делает. Как максимум: генерить ID по железу компа где запушена прога и использовать этот ID для доступа к данным. Тогда можно будет выборочно карать нарушителей.
Ну и как это поможет? Прога-то ни при чем, она как раз работает правильно. Проблемные записи были отредактированы в обход софта, они даже ID оператора не потрудились проставить, не то что IP компа))
Тут уже проблема с архитектурой базы. Поле ID оператора как минимум должно быть внешним ключом и not null. Тогда при всем желании его не оставить незаполненным. Другой вопрос можно ли писать туда первое попавшееся значение ID. Это можно на уровне триггеров проверять. База должна в себе содержать всю бизнес логику. Нет гарантии что кто-то случайно или специально пришлет "delete from Table". Например прога сглючит и не допишет "where ..."

Я советую нанять грамотного DBA чтобы навести в базе порядок с безопасностью. Пока посерьезнее проблем не приключилось.
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108756
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ConejoНаши умные операторы решили ускорить ввод, заливая данные напрямую в базу, в обход специальной программы. Это повлекло большие проблемы, не хотелось бы повторения.А как они зашли на сервер? Они действительно рылись в exe-файле, или есть какой-то известный всем логин с паролем?
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108762
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если база MSSQL и авторизация там BASIC, то проще не пытаться найти пароль в программе, а снифером снять дамп, найти пароль в куче и расшифровать его, там шифрование XOR 0xA0 для всех символов и усё, тупое как топор, на калькуляторе можно расшифровать :) как то была необходимость подобная автору, решилась часа за 1,5 таким способом
...
Рейтинг: 0 / 0
Достать из .exe логин/пароль к базе
    #39108814
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TMasterZivпропущено...


Так если база-то у вас, поменяйте пароль, и всё...
Так они его в прогу зашили. Прога тоже встанет.


я думал, это и была цель ТС.
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Достать из .exe логин/пароль к базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]