Pull to refresh

Comments 25

При помощи ICMP-тоннеля.

Самые «неприметные» — это эхо-запросы.

  • Один ICMP-пакет может содержать до 65535 байт информации за вычетом заголовков IP и ICMP (ограничение IP-пакетов).

Ага, неприметные. Прям никто не заметит неприметный поток пингов на 65 килобайт каждый

Но вроде бы автор эти и отметил парой строк ниже?

  • Пакеты легко обнаружить из-за большого размера.

В этом и дело. Получается, что с одной стороны они неприметные, но тут же говорится о том, что они приметные.

Эхо-запросы по умолчанию (с их 32 или 56 байтами данных) весьма неприметные. И к пакетам с малым объемом минус "легко обнаружить из-за размера" действительно неприменим. Мало ли кто что пингует.

В тексте неприметность заключается в том, что эхо-запрос может быть создан кем угодно с какой угодно мотивацией. А вот если вы начнете рассылать эхо-ответы без запроса или пакеты про TTL без входящего трафика, то вопросов будет даже больше.

Меня больше интересует как в этом случае обойти ограничение MTU на оборудовании, которое в среднем 1500 Б?

ICMP-пакеты, как и UDP-пакеты, фрагментируются при превышении MTU.

У ping есть параметр "-p pattern".

Этот паттерн передаётся в "данных"?

Да. Если размер данных (флаг -s) больше паттерна, то паттерн вмещается несколько раз.

Я недавно тоже писал прототип key-value хранилища в пакетах пинга. В комментариях умные люди упомянули https://github.com/yarrick/pingfs. Пусть это будет тут тоже для будущих изобретателей.

А то гуглится информация не очень просто.

Любой NGFW ловит это на раз (про отечественные от PT например, другие сомневаюсь), если конечно включена функциональность

Хорошая попытка :)
"Отечественные от РТ", это тот, который pfsense перекрашенный?

Хм. А интересно, можно ли передавать данные через "ШИМ"? Ну то есть кодировать данные временем между пакетами, да хоть бы той же морзянкой (понятно, что надёжность и скорость невысоки).

Именно между пакетами? Маловероятно. Интернет - штука очень нестабильная, у вас нет никаких гарантий времени доставки. Один пакет может долететь получателю за 10 мс, другой за 20 мс, даже если вы отправили их с интервалом в 5мс. Более того, второй пакет может даже придти раньше первого:) а если ещё учесть, что ICMP нередко идёт на железках с самым низким приоритетом...

Ничто не мешает выставить задержку между пакетами, которая будет однозначно выше допустимого порога, скажем в 99%. Например при среднем пинге в 40мс, устанавливать дополнительную задержку в 200мс между пакетами на "1" и без задержки на "0", то какая будет вероятность, что пакет без задержки придет позже пакета с задержкой в 200мс?

Да и как бы это давно известные приемы стеганографии, про которые в статье просто не акцентируют внимание, но есть что-то похожее: "Теперь байт данных — это разница временных меток между пакетами."

И получить скорость около 5 бод. Тут даже модемные 56К покажутся сверхбыстрым соединением.

ну если совсем упороться, то можно в значении миллисекунд кодировать биты, например четная цифра это ноль, нечетная это один, за один пакет получится 6, но лучше 4 бита оставим два старших бита не изменными чтоб совсем не привлекать внимания, наверное самое палевное что останется это source и target таких пакетов

Нашёл такие символы
!"#$%&'()*+,-/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU

Не смог осилить дамп, подписался на комментарии в ожидании ответа.

Как я понимаю, в дампе достаточно данных, чтобы расшифровать его, не прибегая к дополнительным шагам, типа rot13 поверх текста? Нет никаких волшебных констант, участвующих в шифровании?

IP-чексуммы верные, к идентификаторам пакетов не прицепиться. Единственное, что смущает, - Метка пакета в будущем!, как было упомянуто в статье, но там можно шифроваться как угодно, например, делать xor между первым байтом чексуммы icmp-пакета + sequence number и данными. А можно и со вторым делать xor, почему бы и нет? Как насчёт "вычесть из первого байта ts третий байт и помножить его на второй байт чексуммы"? А что если данные зашифрованы алгоритмом, использующим identifier в качестве ключа? Количество возможных операций только с sequence number и временной меткой достаточно велико (а жизнь слишком коротка), чтобы перестать гадать и начинать разогревать паяльник.

А ещё у вас по адресу из дампа гитлаб по хттп смотрит наружу, это часть загадки?

А ещё у вас по адресу из дампа гитлаб по хттп смотрит наружу, это часть загадки?

В загадке участвует только дамп. Так что гитлаб по хттп не является частью загадки.

Если TCP и UDP вам не доступны, то уезжайте из этой страны.

Если вы бездомный, то просто купите дом

Штирлиц.jpg

О, я такое в армии делала )) тоже скорее в качестве proof of concept чем реального применения - задача была выбрать протокол и незаметно передать через него данные. Мы правда пошли глубже, выбрали ARP, но другие команды выбирали и ICMP.

Sign up to leave a comment.