АТАКА проходим сквозь фаерволл

GREEN (green@rootshell.ru)

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


Итак, разведка дала свои результаты, пора проверить на прочность саму огнестену. Ты в курсе, что иногда стену легче обойти, чем стучаться в нее головой и яйцами :)?

АТАКА НА ФАЕРВОЛЛ

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

ДУРИМ СТЕНКУ ИЗНУТРИ

А имея локальный шелл, уже можно собрать редиректор, который будет переправлять наши пакеты внутрь "защищенной" сети, как будто эти пакеты исходят от самого фаерволла, ну и, само собой, переправлять нам ответы изнутри. Фишка в том, что фаерволл частенько выполняет функции перенаправления пакета внутрь сети, после того как его просмотрит. А если мы сидим внутри фаерволла, то, естественно, имеем его IP'шник, а значит, имеем сетку, расписываясь от имени тачки-фаерволла.

В случае получения рутового акцесса все еще проще, можно изменить настройки фаерволла так, как нам нужно. Стоит также обратить внимание на наличие уже запущенных редиректоров, призванных помогать внутренней сети получать доступ в Инет, но в результате админских глюков не закрытых от доступа снаружи. Нам вполне подойдет открытый socks или https-прокси. Если имеется ftp-сервер, то также можно выяснить кое-что для себя полезное.

ВЫЦЕПЛЯЕМ ВНУТРЕННИЕ АДРЕСА

Для успешного использования редиректора пакетов неплохо бы узнать используемые внутри сети адреса. Не слать же запросы наудачу! Так можно истратить лучшие годы жизни на ожидание. Если ты уже получил локальный шелл, то самое время запустить /sbin/ifconfig, который покажет все работающие сетевые интерфейсы, связанные с ними адреса и сетевые маски. Отбрось тот, через который ты пришел, а также другие внешние каналы (если их больше одного), и все остальное - внутренняя сеть. Самое время ее сканировать.

ЗАСЛАННЫЕ КАЗАЧКИ

Без шелла все не так тривиально, и придется попросить помощи у тех, кто живет внутри. Например, если известно, что внутри защищенной сети кто-то постоянно отвисает в irc, то самое время зайти в ту же irc-сеть и завязать с этим челом разговор. Наша цель в данном случае - чтобы он открыл к нам DCC соединение, будь то DCC-chat или просто файлик, который мы у него попросим. Стоит предвидеть, что чел начнет плакаться на неработу DCC :). Самое время вспомнить про НЛП и свой дар убеждения. Результатом успешной работы будет запрос, выглядящий примерно так:

*** DCC CHAT (chat) request received from green-- [172.17.10.90:40251]

В данном случае 172.17.10.90 - это и есть один из адресов во внутренней сети, по которому можно понять, что, скорее всего, используется сеть 172.17.10.0/24. Естественно, это работает только в том случае, если используемый фаерволл ничего не знает про irc-протокол. Если же в запросе приехал нормальный адрес и DCC нормально работает, то у нас есть три варианта: адрес совпадает с одним из адресов фаервольного компа, чел либо имеет шелл на фаервольном компе и ходит оттуда, либо фаерволл знает про DCC и правильно подменяет адреса в проходящих через него пакетах. Все эти варианты представляют для нас практическую ценность, и их стоит запомнить. Еще один вариант - это использование во внутренней сети обычных IP-адресов, просто прикрытых фаерволлом от доступа снаружи. В таком случае мы также получаем данные об используемых внутри сети адресах.

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