thatskriptkid
@thatskriptkid

Как перехватить сетевые пакеты до их шифрования?

Здравствуйте ! Сразу скажу - я новичок как в линуксе, так и в языке программирования Си. Я решил создать программу, отлавливающая сетевые пакеты, которые будут переданы по протоколу TLS (1.2), и заносить в лог открытый текст (plain text, не зашифрованный). То есть мне надо перехватить данные перед тем, как к ним будет применена функция шифрования. Я подумал, что мне поможет сниффер, решил написать сам (про Wireshark знаю). У меня получилось написать простой сниффер на чистом Си (без использования libpcap), я вижу передаваемые пакеты. В отношении HTTPS, я вижу пакеты с уже зашифрованными данными. Погрязнув в теории несколько недель, внезапно осознал, что таким способом получить пакеты до их шифрования не получится. Сейчас, мысли о решении данной проблемы клонят в сторону махинаций на уровне ядра. Извиняюсь, возможно вопрос очень глупый и я чего-то элементарного не понимаю, но как мне получить программный доступ к процессу, формирующего сетевые пакеты, до их шифрования ? Натолкните на man'ы, либо ссылками на эту тему. Честно говоря, мыслей никаких больше нету. Целевая программа будет расположена только на моем компьютере, с правами root'а. Занимаюсь этим в качестве хобби. Желательно, чтобы решение можно было реализовать на чистом Си (любовь у меня с ним). Если поможет, у меня Gentoo GNU/Linux, ядро 3.10, английский знаю хорошо. Буду благодарен любой помощи.
  • Вопрос задан
  • 3388 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Если шифрование/расшифровка делаются какой-нибудь библиотекой, проще всего перехватить именно эти библиотечные вызовы. Для этого нужно узнать название этих функций и подменить их с помощью своей библиотеки, загруженной в процесс через LD_PRELOAD.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
IMHO, вариантов два - перехват обращений программы к библиотеке, реализующей шифрованный обмен (например libgnutls) или атака методом Man in the middle. Простым сниффером пакетов такой трафик не перехватить, для того он и разрабатывался.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы