{ Tunnelling using SSH: во благо и во зло }

 
   Эта статья описывает использование т.н. техники туннелирования и может быть полезна как хакерам, так и системным администраторам и разработчикам ПО, а так же всем рядовым пользователям. То, что я опишу ниже, не является неким "секретом суперхакера", скорее - это очень простой рецепт, который иногда бывает очень необходим и его незнание вызывает большой дискомфорт. Это примерно как незнание техники завязывания галстука - можно, конечно, и бантиком завязать, но лучше знать, как это делается правильно.

Хакерам

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

Да, именно SSH порт системные администраторы обычно оставляют открытым, закрывая все остальные порты. Почему? Ну а вдруг нужно что-то быстро починить? А вдруг это что-то случилось в выходной? И что придется на работу ехать? Ну уж нет! Я из дома или еще откуда-нибудь ssh-ем зайду и все поправлю.

Итак, мы имеем стандартную корпоративную сеть: десятки Windows машин и пару unix станций с открытым наружу 22м портом. Брутфорсом ли, или еще каким способом вы получаете логин+пароль пользователя на unix машине. Тут я немного отступлю от темы и остановлюсь подробнее на способе получения пароля. Многие мне возразят: какой такой брутфорс-шмуртфорс? Не катит. - Ан, нет. Ошибаетесь. В Интернете дикое кол-во ботов, которые занимаются одной простой задачей - сканят 0.0.0.0-255.255.255.255 на простые пароли. Я поставил эксперимент и создал на unix машине пользователя kb с паролем kb. Через 28 часов "некто" снаружи сменил пароль и поставил irc-бота. Так что, при желании и везении все возможно.

Продолжим, пароль у нас есть. Мы понаставили всяческого софта, но нам интересно полазать по виндовым машинкам и покопаться на чужих жестких дисках. Как сделать это удобней всего? Хочу заметить, что если среднестатистическая корпоративная сеть, как правило, хорошо защищена от атак снаружи, то от атак изнутри она практически не защищена. Вот почему попавший в сеть через почту вирус, как правило, парализует не одну машину, а гораздо больше.

Ну что же, пароль у нас есть и мы собираемся залезть на какую-нибудь виндовую машину внутри сети, используя этот логин пароль. Что мы делаем? Во-первых, если вы этого еще не сделали, скачиваем мой любимый ssh-клиент PuTTY с оффсайта http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Далее, запускаем и набираем удаленный хост в поле Host Name (or IP address)

Далее идем в Tunnels и устанавливаем значение Source port и Destination
В данном случае, Source port - это порт, который будет использован для туннелирования на вашей локальной машине. УБЕДИТЕСЬ, ЧТО ПОРТ СВОБОДЕН!

А также помните, что большинство операционных систем "бронируют" порты ниже 1024. Самым оптимальным будет выбор порта типа "пятизначный рандомайз" < 65000. Не ленитесь и посмотрите, какие порты используются на вашей машине, используя хотя бы Ваш локальный фаервол. Следующий параметр - Destination. Он определяет куда нужно перенаправлять поток данных. Используем сервис Remote Desktop Connection, который висит обычно на 3389 порту. Итак, вводим в Destination host:port и нажимаем Add и потом Open. Вводим имя пользователя и пароль.

После успешного логина на Вашей локальной машине откроется новый порт для прослушки.

Теперь открываем Remote Desktop Connection и вводим localhost:33333

О чудо, нас пустили на машину!

Вуаля! Теперь лазаем по виндовым шарам да и вообще, делаем все что захотим.

Пользователям

Зачастую Вы оказываетесь в ситуации когда приходится использовать Интернет в сети или месте, которому вы не доверяете. Это может быть или Интернет кафе, в котором каждый второй админ снифит ваши пароли, или просто компьютер друга хакера, который то и дело наровит скомуниздить Ваш пароль. Но тем не менее, Вам бывает необходимо воспользоваться чужим Интернетом. Рассмотрим пример проверки почты используя соединение, которое может прослушиваться.

Итак нам нужно соединиться с почтовым сервером mail.yourdomain.ru по небезопасному протоколу POP3 и забрать почту. При этом почтовый пароль могут перехватить с помощью снифера. Ну что же, проделаем описанную выше процедуру, но зайдем ssh-ем на машину которой вы доверяете и создайте туннель с mail.yourdomain.ru:110 (порт на котором обычно находится сервис pop3) В качестве Source порта укажем к примеру 44444. Далее, идем в ваш почтовый клиент и изменяем параметры доступа к почте. Теперь сервером входящей почты будет localhost:44444. Замечу, что весь трафик внутри тоннеля шифруется и сниферры в данной ситуации ничего не смогут сделать. А Вы спокойно получите свою почту, не опасаясь, что Вас кто-то слушает.

 
  [с.т.а.л.к]