• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья "модель OSI" нормальным языком

Dread Pirate Roberts

Премиум
Premium
Регистрация
16.02.2023
Сообщения
2 161
Решения
3
Реакции
2 011
Гарант сделки
4
Депозит
0.1337
я решил развеять распространённые заблуждения о торе и носках.

подавляющее большинство статей о "модели OSI" содержит примерно такую картинку:

osi_model_bullshit.png


которая является ерундой, так как не сортирует протоколы более высокого уровня относительно используемых протоколов более низкого уровня.
правильное описание модели OSI, которое почти никто не объясняет, выглядит примерно так:


osi_model_real.png


© https://networking.ringofsaturn.com/Protocols/sevenlayer.php


немного изменю эту картинку для наглядности, и добавлю пару популярных программ:


osi_model_my.png


(хз что за "r.utils" в оригинале)


интересное:
DNS запросы по умолчанию используют UDP, и повторяются по TCP, если ответ не влезает в 4 килобайта.
BitTorrent по умолчанию использует и TCP, и UDP.
Telegram чаты работают по TCP, но звонки работают по UDP.
Tox по умолчанию использует и TCP, и UDP.
Windows RDP по умолчанию использует TCP, но может использовать и UDP.

теперь обратите внимание на правый столбец: есть ещё один широко используемый протокол, в простонародье называемый "ping". пинги идут ни по TCP, ни по UDP, а по ICMP.

теперь ещё раз дополню картинку, чтобы стало понятно, почему одни программы красные, а другие зелёные:


osi_model_my_2.png



- Tor может проксировать только TCP трафик, как и прокси типа socks4.
UDP трафик могут проксировать только прокси типа socks5 (и то не все), и частично I2P.
пинги не может проксировать ничто (кроме VPN, но это уже другая история)

что из всего этого следует: если вы проксируете какой-то софт с помощью torify или proxychains, то проксируется только TCP трафик. если этот софт вдруг решит подключиться куда-то по UDP, то в лучшем случае подключение не сработает, а в худшем - подключение пойдёт с вашего реального IP адреса! я лично сталкивался с этим при использовании proxychains, но примеров софта не помню.

также если этот софт выполнит команду типа "ping unique-specially-generated-domain-123456.telegram.org" то на удалённом сервере также засветится ваш реальный IP.


решение: пользоваться VPN (а лучше цепочкой из VPN и socks5) - так как VPN работают на втором или третьем уровне модели OSI, то они способны проксировать и TCP, и UDP, и ICMP трафик.


osi_model_real_vpn.png



всем спасибо, все свободны.
автор я, распространять разрешаю только при указании ссылки на этот топик.
 
спасет ли от утечки по юдп whonix? он же по сути (в теории) должен заворачивать весь трафик
я не пользовался Whonix и не знаю точно, как он работает.
первые строчки гугла пишут, что Whonix разрешён только TCP трафик, по умолчанию блокируется весь UDP трафик кроме DNS запросов, а DNS проксируется через Tor (DNS - это единственный тип UDP трафика, который поддерживается тором)


кстати, во Whonix вообще работает пинг? у кого есть Whonix и сервер с линуксом - поднимите на сервере tcpdump:
Код:
tcpdump -vvv -nnn -i eth0 'icmp'
(вместо eth0 - название основного интерфейса)
и попингуйте этот сервер из Whonix-а. трафик будет приходить? и если будет, то с какого IP?
 
Последнее редактирование:
По поводу DoD я вам расскажу анекдот, что бы перед тем как вам захватят воображаемые джедайи-додики из тайной модели стэка протоколов. )) Шучу.
Нашел в архивах цитату 1996 года и речь идет о прототипе поисковика, милитари и они отмазывались что молодцы. Это первое упоминание. Миллион страниц индексированных не очень ясно о каком периоде речь, но полагаю что 1996-1999 не позже, т.к. этот пошло отчетом в Конгресс к 2000 году, а там тысячи с млн. слишком дорого обойдется спутать.
«The search engine www.searchmil.com specializes in indexing sites with a .mil domain name. It claims to have indexed over 1 million pages of military sites in order to facilitate searches for military information. Department of Defense (DoD) has been among the first government departments to take the lead in spelling out rules for what should and should not go on a web site and how information should be reviewed before it is posted on a web site
Источник Defense Investigative Service, Counterintelligence Awareness Bulletin #2-97, дата 21 October 1996
Просто для общего понимания что к чему. Я не фанат «додиков» и вообще state.gov. Но давайте без конспирологии. )) Они проебали это, о чем речь о какой DoD OSI? Помилосердствуйте.

В чем интрига? Я не очень понимаю зачем все тащат DoD сюда, это всё равно что к http добавлять ftp потому что историческое наследие, или NCP почему забыли? ))
10 лет пилили и год пересаживались с 1982 по 1983 и IBM с AT&T и коллегами из глобального консорциума имела свой план порабощения человечества котиками и тик-током. Известные русичи из IBM Research Джей Элински и Олег Вишнепольски (Elinsky & Vishnepolsky) к 1984-1985 реализовали стэк в соавторстве. Это совершенно разные модели вообще. Есть хорошая статья на английском об этом. Хороша она универсальностью ссылок. Вот в ней есть пути к ответам на все вопросы, этим она хороша. Говоря в историческом ракурсе, в ней исконный замысел web можно сказать удался, я вас удивлю, но изначально web как система ссылок и линкования связей задумывался другим, в Википедии хорошо видно проблематика политики, языков и перевода, особенно при визуализации ссылок. Но это совсем другая история.
 
теперь немножко практики: я проверил хождение трафика через тор с использованием proxychains:

1. ICMP трафик (пинги).
сначала я посмотрел, какой у меня IP - ".184"
потом я запустил на сервере с IP "9." логгер трафика tcpdump и попинговал этот сервер напрямую со своего IP ("ping 1" на скриншоте), и потом попинговал через proxychains, в конфиге которого указал socks прокси своего сервера Tor ("ping 2" на скриншоте).
вместо того, чтобы дропнуть трафик по протоколу ICMP, proxychains пропустил его напрямую, спалив мой белый IP.

icmp.png



2. TCP трафик (HTTP, SSH и т.п.)

сначала я подключился к серверу 9. с моего прямого IP ("ncat 1" на скриншоте), потом через Tor с помощью proxychains ("ncat 2" на скриншоте).
как и ожидалось, TCP трафик пошёл через Tor - вместо моего .184 коннект пришёл с другого IP, который является одним из exit нод тора.

tcp.png

(не обращайте внимания, что там 10.ххх вместо 127.0.0.1 - просто Tor стоит на другом сервере)


3. UDP трафик (WebRTC в браузере, видео/аудио звонки т.п.)

сначала я подключился к серверу 9. с моего прямого IP ("ncat 1" на скриншоте), потом через Tor с помощью proxychains ("ncat 2" на скриншоте).
вместо того, чтобы дропнуть трафик по протоколу UDP, proxychains пропустил его напрямую, спалив мой белый IP.

udp.png

(fdfdf пришлось писать из-за особенностей UDP - чтобы ncat хоть что-то отправил на сервер)

так что не полагайтесь особо на proxychains.



TODO: на досуге погуглить, какие ещё есть сетевые функции протокола TCP, которые proxychains не перехватывает, и написать PoC для утечки реального IP адреса даже по протоколу TCP.

из исходников proxychains (src/libproxychains.c):

Код:
DYLD_HOOK(connect);
DYLD_HOOK(sendto);
DYLD_HOOK(gethostbyname);
DYLD_HOOK(getaddrinfo);
DYLD_HOOK(freeaddrinfo);
DYLD_HOOK(gethostbyaddr);
DYLD_HOOK(getnameinfo);
DYLD_HOOK(close);
 
я не пользовался Whonix и не знаю точно, как он работает.
первые строчки гугла пишут, что Whonix разрешён только TCP трафик, по умолчанию блокируется весь UDP трафик кроме DNS запросов, а DNS проксируется через Tor (DNS - это единственный тип UDP трафика, который поддерживается тором)


кстати, во Whonix вообще работает пинг? у кого есть Whonix и сервер с линуксом - поднимите на сервере tcpdump:
Код:
tcpdump -vvv -nnn -i eth0 'icmp'
(вместо eth0 - название основного интерфейса)
и попингуйте этот сервер из Whonix-а. трафик будет приходить? и если будет, то с какого IP?
Работает , при чем каждый пинг приходит с нового IP (и все эти ипы принадлежат амазону хмм)
 
Работает , при чем каждый пинг приходит с нового IP (и все эти ипы принадлежат амазону хмм)
странно, гугл говорит, что тор не поддерживает ICMP, по крайней мере в 2019ом ещё не поддерживал.
какие хостнеймы у этих IP? что-нибудь про tor exit node указано?
 
Статья верная, автор, в качестве ликбеза полезно разбираться в отличиях TCP/UDP.
Есть кстати куда более продвинутые тулзы взамен proxychains-ng

странно, гугл говорит, что тор не поддерживает ICMP, по крайней мере в 2019ом ещё не поддерживал.
какие хостнеймы у этих IP? что-нибудь про tor exit node указано?
Whonix не запускает браузер через proxychains. Там весь трафик заворачивается через интерфейс на гейт, который его пропускает через Tor.


Также рекомендую обратить внимание на еще один протокол QUIC в стеке IP, который начал использоваться в браузере

решение: пользоваться VPN (а лучше цепочкой из VPN и socks5) - так как VPN работают на втором или третьем уровне модели OSI, то они способны проксировать и TCP, и UDP, и ICMP трафик.

всем спасибо, все свободны.
автор я, распространять разрешаю только при указании ссылки на этот топик.

Вы уверены это приводите надежное решение, давайте продолжим вашу заметку и может получится полноценная статья?

Просто сравните объемы трафика, не вникая в протоколы
Поставьте на денек у себя мониторинг

sudo iftop -i <real-tun>
sudo iftop -i <vpn-tun>

Где real-tun это ваш wifi, ethernet, usb модем или bridge, откуда у вас интернет приходит
А vpn-tun это вирутальный интерфейс для VPN, куда якобы заворачиватся весь трафик и никуда больше не течет
Посмотреть интерфейсы можно:

ip a

И пришлите RX, TX, TOTAL в output у iftop. Ну конечно надо ее поставить
 
Последнее редактирование:
Есть кстати куда более продвинутые тулзы взамен proxychains-ng
какие?

Whonix не запускает браузер через proxychains. Там весь трафик заворачивается через интерфейс на гейт, который его пропускает через Tor.
я это понимаю, но не понимаю, как там работает ICMP, если весь IP трафик кроме TCP должен дропаться.

Вы уверены это приводите надежное решение, давайте продолжим вашу заметку и может получится полноценная статья?
сорян, мне лень проводить полноценное исследование и писать подробную статью. просто заметил, что тут часто рекомендуют proxychains или tor, и решил вкратце расставить точки над ï.
 
ï
Я еще после ресерча по BMC, начал подозревать, что ты сверх-человек. Вот и пруфы подъехали.
 
Я еще после ресерча по BMC, начал подозревать, что ты сверх-человек. Вот и пруфы подъехали.
да эта буква у половины форума на клавиатуре есть, а как тебе вот такое, илон маск: ị :D
 
да эта буква у половины форума на клавиатуре есть, а как тебе вот такое, илон маск: ị :D
эта есть у всего форума, а вот ï - это уровень :D
 
эта есть у всего форума, а вот ï - это уровень :D
видимо, у тебя не отобразилось. там такое:
i.png
 
какие?

я это понимаю, но не понимаю, как там работает ICMP, если весь IP трафик кроме TCP должен дропаться.

сорян, мне лень проводить полноценное исследование и писать подробную статью. просто заметил, что тут часто рекомендуют proxychains или tor, и решил вкратце расставить точки над ï.

Понимание либо оно есть либо его нет, другого не дано

Никакое исследование не надо, запустил в начале дня и в конце дня отписал результ, мне же не лень было стартпост ;)
 
странно, гугл говорит, что тор не поддерживает ICMP, по крайней мере в 2019ом ещё не поддерживал.
какие хостнеймы у этих IP? что-нибудь про tor exit node указано?
udp перепроверил ,не работает . Походу впн был включен или бес попутал. Если трафик заворачивается в тор через хуникс то пинга нет , выдыхаем.
 
на заметку пользователям firejail: не забывайте, что запуская "proxychains wget http://..." происходит "proxychains firejail wget http://..." и библиотека proxychains удаляется из LD_PRELOAD.
актуально не только для wget, конечно же.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх