Добрый день! Недавно наткнулся на интересный исходник. Организуется передача данных по UDP - протоколу, а внешне это выглядит как поток ICMP - пакетов. Например на своем ipfw я не запрещаю исходящий ICMP - поток, а , как показала практика, зря. Установил снифер SpyNet 3.12, и действительно !!! это ICMP !!! То есть внешне просто идут пинги , а на самом деле - это данные ... Может кто-то еще знает подобные методы использования скрытой передачи данных - поделитесь? Вот только не пойму чего он там нашел на сайте AMD? На мое письмо он не ответил, пока Может кто подскажет что это за "магические пакеты" о которых он говорит? "The documentation for these magic packets can be found on AMD page." Вот ссылка - http://board.win32asmcommunity.net/viewtopic.php?t=387 Вот исходник - ... _434197130__UDP_under_ICMP.rar
Более извращённые примеры есть в книге Таненбаума "Современные операционные системы". Например, можно изменять уровень загруженности сервера каждые десять секунд. А некоторое приложение будет опрашивать сервер с целью узнать его загрузку. Если загрузка больше 90% - это логический 1, а если мешьше - 0. Естественно, что приложения на сервере должны грузить его не более чем на 80% и что этот канал очень медленный. А ещё можно посылать сообщения в определённое время. Если время отправки сообщения записывается в само сообщение, то чётная секунда отправки - логический 1, а нечётная - 0. И т.д. и т.п.
Общее название у этого "туннелирование". Есть тунели через http для обхода firewall. Только какой смысл для скрытия "бутерброд" делать - проще просто по ICMP все передавать. А сложную сетевую программу все равно тяжело спрятать - ей придется внутренний прокси-вервер использовать.
_animaTOR_ ..а внешне это выглядит как поток ICMP - пакетов ..подобные методы использования скрытой передачи данных это не ново. когда-то давно была прога ICMPping ICMP backd00r или что-то вроде, не помню. это готовая и хорошо отлаженная автором программа для скрытой передачи данных. Т.к. фаэры не фильтруют в большинстве своем ICMP траффик. Держала шифрование и прочие примочки. Open Source. Если сильно надо - могу поискать. valterg Общее название у этого "туннелирование" Общее название у этого - стеганография. туннелирование немного не то, хотя может тут и оно имелось в виду. А сложную сетевую программу все равно тяжело спрятать - ей придется внутренний прокси-вервер использовать. не понятно. что значит "сложную" и что значит "внутренний прокси-сервер"?
... спасибо всем за участие. plext0r ... Если Вас не затруднит, бросьте ссылку на страницу с описанием этого "чуда" - ICMP backd00r. Интересно описание заголовков подобного (UDP = ICMP )пакета. Спасибо.
посмотри вот это: http://icmpchat.sourceforge.net http://www.codito.de/prog.html как будет время, посмотрю про инкапсуляцию UDP.
plext0r ... Спасибо за ссылки! Ничего себе у парня интересы, как такой на свободе еще ... (я по поводу http://www.majomu.de/)
Порядок заголовков пакета от физического уровня до ICMP 1. Ethernet 2. IP 3. TCP 4. ICMP 5. А сюда пишите свои данные. Только есть два момента ICMP любят резать всякие фаеры и чтобы реализовать выше описанную схему вам нужно работать с сырым трафиком. Описания протоколов можно найти до кучи, но если хотите я вам могу сбросить на мыло.
Код (Text): 1. Ethernet 2. IP 3. [b]TCP[/b] 4. ICMP 5. А сюда пишите свои данные. - как это у тебя вдруг ICMP поверх TCP получился!? Бред. RFC - читай: http://www.faqs.org/rfcs/rfc792.html
насчет туннелиррвания. 1) программа называется loki2 - уних-шелл по ицмп. 2) насчет примеров использования - у sun microsystems украли таким образом исходники соляры еще в бородотые времена. для мту была софтина, позволяющая юзать инет через гостевой вход путем туннелирования через dns-запросы. 3) насчет защиты - многие системы нынче делают reassembling icmp пакетов. так что твой payload похерится. 4) насчет техники- посмотри ман по юниксовому пингу. в icmp-ping пакет можно вставить свои данные - т.к. стандарт это позволяет - в пинге можно указать размер пакета. до 65к. и в icmp-ответ тоже можно вставить свои данные.
кстати.вполне жизнеспособный нынче вариант - это днс-тоннель. реализуется следующим образом: у зоны ттл равный нулю. т.е. кеширования запросов н происходит. софт запрашивает ип для зоны ffg0ab.salt.your-domain.net сальт нужен для уверенности, что локальный нс прова не закеширует запрос. ну и заодно можно его для передачи ид последавательности использовать. ffg0ab - это собственно данные. если использовать кодирование base32 то можно воткнуть больше данных в один запрос. макс. размер данных = 256-размер служебных даных. ответ возвращать в виде ип-адресов для А-записи -туда протокол позволяет вставить много ипов для поддержки round-robin. плюс метода - пройдет даже прокси и файрволы. сеть сама лтмаршрутезирует запрос. минус -в принципелюбой снорт сможет отследить. т.к. классифицирует как ненормальную днс-активность