Сейчас на форуме: -Sanchez- (+8 невидимых)

 eXeL@B —› Основной форум —› Подмена пакетов при обмене с сервером
Посл.ответ Сообщение

Ранг: 9.1 (гость), 20thx
Активность: 0.040.08
Статус: Участник

Создано: 02 июля 2020 17:06
· Личное сообщение · #1

Добрый день.

Есть некоторое приложение, которое использует TLS и внутри собственный протокол обмена данных с сервером. Решаемая задача в том, чтобы считывать весь трафик/отправлять нужные пакеты.
Протокол разобрали на 70-80%. Приложение привязывается к железу, использует паспортные данные, карты пользователя и т.д. Т.е. любой пользователь, по-идее, может иметь только один аккаунт, т.к. там это всё проверяется. В приложении достаточно много различных вариантов обнаружения отладчиков, виртуальных машин, "запрещённого софта", контрольные суммы и т.п. Софт очень часто обновляется и все эти проверки сложно каждый раз отлавливать. Если на "той" стороне что-то не понравится, то этот пользователь банится "навсегда", т.к. использовались личные данные/карты при регистрации.

Вопрос в том, в какой момент и как лучше всего подменять/читать данные? Варианты и pros/cons следующие:

1. Просто патч программы на входе/выходе с расшифрованными данными. Минус в том, что если какую-то проверку из софта не убрали, то если "вдруг" - пользователь больше не сможет им воспользоваться.
2. Поиск SSL структуры по паттерну и перехват на уровне системы. Плюс в том, что мы только читаем память приложения, но минус - в системе всё равно "висим".
3. Завернуть трафик на роутере на промежуточную машину, где выполнять расшифровку. С этим, к сожалению, плохо знаком. Я так понимаю мы можем подменить сертификат тут на свой (может неверно выразился) и завставить думать, что мы и есть целевая машина? Произойдёт обмен ключами, а с этой машины уже соединение с реальным сервером установить. Возможно ли это?

Может есть другие варианты?




Ранг: 69.9 (постоянный), 81thx
Активность: 0.140.73
Статус: Участник

Создано: 02 июля 2020 17:41
· Личное сообщение · #2

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



Ранг: 9.1 (гость), 20thx
Активность: 0.040.08
Статус: Участник

Создано: 02 июля 2020 19:22 · Поправил: Illuzion
· Личное сообщение · #3

morgot пишет:
Наверное, лучше проксировать программу и все уже подменять на прокси-сервере. Так работают банк-боты, правда, там протокол известен.


Мне этот момент как раз не очень понятен - как проксировать систему с открытым ключом, читая данные при этом. Вопрос тут в том также, насколько просто/сложно подмена сертификата обнаруживается на клиенте? Например, Хром, если не ошибаюсь, сразу сообщение выдаёт если что-то не так с сертификатом. Я так понимаю, мы его в доверенные должны добавить?




Ранг: 77.2 (постоянный), 73thx
Активность: 0.190.15
Статус: Участник

Создано: 02 июля 2020 19:53
· Личное сообщение · #4

Illuzion
Чем трафик просматриваете?



Ранг: 9.1 (гость), 20thx
Активность: 0.040.08
Статус: Участник

Создано: 02 июля 2020 21:21 · Поправил: Illuzion
· Личное сообщение · #5

sefkrd пишет:
Чем трафик просматриваете?


При дебаге Wireshark, там CRAND+MS, MS из SSL struct, последнюю по сигнатуре версия TLS + проверяю корректность ссылок внутри структуры и длина ключа. CRAND, соответвенно, при обмене ключей. Потом распаковка, отдельно уже. Где-то проще было просто пропатчить, чтобы данные получить, а контрольные суммы отправляемые, заменить оригиналом. Но там очень часто обновления, не уверен, что мы все проверки нашли, поэтому решили на протоколе остановиться.




Ранг: 77.2 (постоянный), 73thx
Активность: 0.190.15
Статус: Участник

Создано: 03 июля 2020 01:11
· Личное сообщение · #6

Illuzion пишет:
Может есть другие варианты?

Они есть, но после вопроса "зачем" - их уже нет..


 eXeL@B —› Основной форум —› Подмена пакетов при обмене с сервером
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати