Хакер №024. Спецвыпуск

       

Хакер №024. Спецвыпуск


ПРИКЛАДНОЕ ТУННЕЛИРОВАНИЕ



httpTunnel для win32

Спецвыпуск Xakep, номер #024, стр. 024-070-1

Андрей "Дронич" Михайлюк (dronich@real.xakep.ru)

Ну что, комарад, прочел изыскания нашей любимой Матушки Лени на тему туннелирования? Слюнки, поди, потекли? Конечно, имея два компа с никсами по обе стороны файрволла, можно обойти его в два счета. Даже средств дополнительных не понадобится, усе уже включено :). Только вот хрена лысого ты такой расклад получишь в реальном лайфе...

Гораздо чаще встречается более банальная ситуевина: на работе корпоративная сетка под винтукеем, где админ-извращенец запретил все, кроме НТТР, а дома (или не совсем дома) - шельчик на богом забытом сервачке где-то на Гавайях. А хочется-то и аськи, и ирки, и МР3шками в Казее (или еще каком гнутеллоподобном клиенте) покидаться. Вот для решения таких банальных проблем хороший человек накатал забавную прожку - httpTunnel. Умеет она только одно - аккуратно паковать и форвардить чужой трафик, а самое главное... Самое главное в том, что версий этой проги имеется целая куча, под все никсы и винды. Что ноздрями-то зашевелил? Учуял чего? Точно, это же очень неплохой способ решения нашей застарелой проблемы :).

КОГО ИМЕЕМ

Наше патентованное средство для натягивания админа состоит, как водится, из двух независимых частей. Первая работает клиентом и ставится на той тачке, с которой нужен доступ во внешнюю сеть по запрещенному протоколу (проще говоря, на участке сети, защищенном брэндмауэром). Вторая же должна жить снаружи файрволла на шелле или твоем домашнем компе (если он, конечно, перманентно подрублен к нету). Фишка в том, что тебе абсолютно неважно, под какие платформы реализованы отдельные части - клиент под винтукеем вполне ладит с сервером под BSD. Так что проблем с реализацией туннеля в жизни быть не должно.

Давай рассмотрим самый простой вариант - нужно упаковать в протокол НТТР трафик твоего Мирка. То есть нужна связь с сервером irc.haxorz.com, порт 7000, организовать которую путем подпаивания админа не удалось :). Для этого придется конфигурить обе части httpTunnel.

ТЕОРИЯ

Прежде чем браться за консоль, давай прикинем, что именно и как именно мы хотим замутить. Посмотри на рисунок, он наглядно отображает нашу текущую ситуацию. Файрволл сконфигурен так, чтобы пропускать только НТТР-трафик, идущий на восьмидесятый порт. Как ты видишь, гадкий ИЕ без проблем соединяется с веб-сервером и даже качает с него какую-то Клю. А вот запрос от Мирка был нахально отклонен :(, так как его целевой порт 7000.

А теперь в нашей игре участвуют два компонента httpTunnel (на картинке они изображены синими кружочками). Запросы Мирка идут не на irc.haxorz.com, а на клиентскую часть httpTunnel, которая перепаковывает их и засылает на shell.server.com. А там их уже дожидается наш сервер, перенаправляющий весь трафик от клиента на irc.haxorz.com. Вроде все просто, посмотрим, как связать сервер с клиентом и заставить их работать на благо хитрого юзера (т.е. тебя).

СЕРВЕР

На шелле мы запускаем серверную часть в виде демона, заставляя ее ждать коннекта на восьмидесятом порту и форвардить весь поступивший трафик (а также не забывать принимать ответный) на наш ирковый сервак. Выглядит это вот так:

Содержание  Вперед на стр. 024-070-2


 

Содержание раздела