Обходим файрволлы!

Xakep, номер #041, стр. 041-060-1


Принципы обхода файрволлов

Stalsen (stalsen@real.xakep.ru)

Грамотно сконфигурированный файрволл - реальная проблема для хакера! Как же обойти этого коварного монстра? Реально ли остаться незамеченным в сети? Вот на эти вопросы я и попытаюсь ответить в своей статье.

МЕТОД РЕДИРЕКТА

PORT REDIRECT - один из способов обхода файрволлов, основанный на перенаправлении TCP коннектов от одной машины к другой. Например, ты получил доступ к одному из компьютеров внутренней сети фирмы ААА, локальную сеть и Интернет которой разделяет файрволл. Также, допустим, на главном серваке локалки находится telnet сервер, но доступ к 23 порту блокируется из Интернета и доступен только из локалки, что делать?

Итак, как ты знаешь, каждому файрволлу задаются свои правила. Обычно план таков: пользователи внутренней ЛВС могут полноценно взаимодействовать с Интернетом, но всяческий доступ извне запрещен. Как это осуществить админу? Для взаимодействия со службами Инета (то есть при обычном коннекте) у клиента открывается НЕ ЛЮБОЙ ПОРТ, а больше 1024. Т.к. нижестоящие зарезервированы для всяких служб. То есть админ закрывает доступ к портам 1-1024 извне, и все (ну, также возможно закрытие определенных вышестоящих портов, например, 2105 - Kerberos encrypted rlogin)!

Что делаем мы? Правильно, перенаправляем порт. У тебя есть доступ к внутреннему компу организации, который имеет доступ к telnet серверу. Мы коннектим его на порт 23 сервака и перенаправляем все на, скажем, 15000 порт. Он теперь работает в качестве сервера. Коннектимся на 15000 порт машины из любого конца света и получаем 23-й порт сервака... И тебе больше не придется лезть сначала на машину в ЛВС, а потом к серваку, теперь доступ открыт из любой точки Интернета! Вот мы и обошли файрволл. А теперь следует поговорить о прогах, выполняющих вышеуказанные действия.

СПЕЦСОФТ

RINETD - INTERNET REDIRECTON SERVER by THOMAS BOUTELL.

Конфиг находится в /etc/rinetd.conf, формат его следующий: [машина_перенаправления] [порт] [нужный_сервак] [порт]

Итак, есть машина в локалке организации с адресом 1.1.1.1 (там мы и запускаем rinetd) и сервак 2.2.2.2, нужный порт - 25. Пишем: 1.1.1.1 порт_выше_1024 2.2.2.2 25. Теперь с любой машины из Инета коннектимся на порт_ выше_1024, получаем 25 порт сервака.

Ты, возможно, спросишь, а не спалят ли меня из-за файла /etc/rinetd.conf? Ответ: нахождение файла произвольно, да и по дефолту он не создается, просто набери rinetd -c путь_к_конфигу, и все...

RINETD также поддерживает логирование, вводи logfile /var/log/rinetd и наслаждайся, но не волнуйся, по дефолту этого нет :).

FPIPE - Copyright 2000 (c) by Foundstone, Inc.

Еще одна редирект утилита, только вот заточенная специально под Windows, чтобы и ему не скучно было :). Итак, один экзешник - Fpipe.exe. Формат следующий:

-?/-h - помощь

-c - мак. число коннектов; по дефолту - 32

-l n - слушать на n-ом порту

-r n - номер удаленного порта

-s - номер порта для исходящего коннекта (с remote host'ом)

-v - verbose mode

Ну, как обычно, доступ к машине во внутренней сети, а сервак 2.2.2.2, порт 23. Пишем: Fpipe.exe -l 5000 -s 53 -r 23 2.2.2.2. Теперь подсоединяйся на 5000 порт машины и наслаждайся 23 портом сервака...

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