Как обойти интернет фильтр FortiGuard

FortiGuard – это интернет фильтр, файрвол и прокси в одном флаконе. Вообще FortiGuard состоит из целой кучи компонентов таких как: FortiGate, FortiMail, FortiWeb, FortiDB, FortiClient, FortiWifi, FortiAP, FortiAnalyzer, FortiManager, FortiScan, FortiNet, нас интересует его последний компонент FortiNet это глобальный межсетевой экран включающий в себя контент-контроль и интернет фильтр. Сам я с этой штуковиной раньше не сталкивался, но вот не давно, у нас в армии стали внедрять новые линии высокоскоростного 10Mbit/s интернета, а суровые админы из Министерства Обороны решили закрыть доступ к халявной порнухе, фейсбуку и твиттеру с помощью FortiGuard. Сражу скажу, в принципе мне по барабану, так как я являюсь админом и у меня есть права на доступ к халявному порно, но мне стало интересно обойти супер-мега фильтр подручными способами. О том как я это сделал, читайте под катом.

FortiGuard как панацея

Я точно не знаком с принципами работы FortiGuard, но проведя пару простых тестов, стало ясно, что контент-контроль и интернет фильтрация реализуются с помощью централизованного сервера, через который весь интранет ходит в интернет, т.е. они ещё и траффик твой смотреть могут козлы, на сервере установлен межсетевой экран на основе программного обеспечения от FortiGuard.

Базару нет, штука мощная и судя из моих испытаний, она блокирует контент сразу на нескольких уровнях:
1) На уровне протоколов, т.е. разрешен только TCP протокол, все остальные, включая UDP жестоко забанены.
2) На уровне портов, открыт только один единственный порт номер 80, через который браузеры ходят в интернет, всякие там 21 и 443 порты закрыты наглухо.
3) На уровне разрешения файлов, т.е. любой файл с разрешением exe, mp3, mov, mpeg4, jpg, png скачать низя, будешь послан на хуй.
4) По выборке слов, т.е. все запросы типа porno, sex, adult movie режутся моментально и без разговоров.

Возможно есть что-то ещё, но я этого не обнаружил, ибо не сильно то и старался, моей целью было не изучить принцип работы FortiGuard фильтра, а его обойти, и это мне удалось.

Ситуация

Моя конкретная ситуация была такова:

  • Персональный компьютер под управлением Windows 7
  • Выход в интернет на скорости 10Mbit/s
  • На сетевом шлюзе, FortiGuard фильтр который банит всё и вся.
  • Отсутствие администраторских прав, т.е. ничего установить на компьютере низя

Возможности загрузить exe-файлы нет, зайти на сайты youtube, facebook, homeporn невозможно, так же как и забанены сайты Tor Project, Putty, Reminna и сайты прочих утилит удаленного и анонимного доступа. Забанены все анонимазйеры.

Пример попытки попасть в Twitter

Как видите попытка провалилась. Сайт наглухо забанен.

Стратегия обхода FortiGuard фильтра

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

1) С моего iPhone через SSH я иду на свой домашний Hamster’s Debian Server
2) Захожу в lynx и загружаю на сервер программы: putty.exe, winscp.exe, tor-browser.exe
3) Пакую эти файлы в ZIP-архивы
4) Поднимаю HTTP сервер с помощью Python
5) Вешаю SSH сервер слушать 80 порт, так как другие закрыты на локальном компьютере
6) С локального компьютера иду на внешний IP домашнего сервера где в директории upload лежат zip архивы с тремя выше-указанными утилитами
7) Загружаю утилиты на локальный компьютер (загрузка zip открыта)
8) Распаковываю программки, все они работают без установки по этому права админа не нужны
9) Через putty.exe делаю туннель между локальным компьютером и домашним сервером
10) Запускаю tor-browser.exe и получаю доступ к любой парнухе в интернете абсолютно анонимно

Как вариант можно сделать X-проброс, но так как у меня на сервере ИКС’ов нет, то и пробрасывать нечего, хотя как один из вариантов работать будет. Думаю в следующий раз я так и сделаю, так как ИКС’ы есть у меня на Ubuntu-лептопе дома, вот через него можно.

Теперь давайте уделим внимание каждому из пунктов:
1) На iPhone есть 3G-интернет, openSSH и Terminal, но можно, и даже нужно, просто использовать любой другой компьютер со свободным доступом в интернет, конечно это актуально если дома у вас есть сервер или компьютер на Linux который смотрит в сеть, у меня Linux Debian 6.0 RC2 с openssh демоном на борту.

2) Всё в том же iPhone через Terminal и openSSH я подключаюсь на внешний IP-адрес моего домашнего сервера и запускаю там консольный браузер lynx. Создаю директорию uploads и загружаю туда программы:

3) Всё через тот же Terminal в iPhone пакую все три файла в ZIP-архив:

zip data.zip tor-browser-1.3.24_en-US.exe putty.exe winscp432setup.exe
zip data.zip tor-browser-1.3.24_en-US.exe putty.exe winscp432setup.exe

4) Всё через тот же Terminal в iPhone поднимаю очень простой и временный HTTP-сервер в текущей директории с моим архивом, помним что у меня есть возможность работать только с портом номер 80:

sudo python -m  SimpleHTTPServer 80
sudo python -m  SimpleHTTPServer 80

Теперь прошу запущенный сервер слушать мой внешний IP-адрес:

dc = 93.31.313.13
dc = 93.31.313.13

5) Помня про порт номер 80, я иду в /etc/ssh/sshd_config на сервере:

sudo nano /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config

И меняю там порт на 80, сохраняю конфиг и рестартую SSH-демон:

sudo /etc/init.d/ssh restart
sudo /etc/init.d/ssh restart

Теперь SSH-демон слушает соединения на 80-ом порту.

6-7) С локальной машины иду на внешний IP своего домашнего компьютера, где я поднял только что HTTP-сервер и спокойно скачиваю data.zip архив.

8) Все три утилиты работают без установки, а соответственно мне не нужны права админа что-бы их запустить, вот пример того как я успешно зашел на запрещенные сайты (кликабельно):

Facebook through the Tor

Facebook through the Tor

9) Сделать через putty.exe туннель между локальным компьютером и удаленным домашним сервером и получить доступ к SCP/SFTP протоколу для обмена файлами между двумя машинами (кликабельно) и на скринщоте четко видно что я соединение по 80 порту прошло успешно, а вот 21 откровенно забанен, хотя я пытаюсь на него ломиться.

PuTTy Access

PuTTy Access

Запускаю winSCP для обмена файлами (кликабельно)

WinSCP

WinSCP

Шаг №10 уже демонстрировался выше, запускаешь утилиту tor-browser.exe и получаешь через Tor доступ куда угодно в интернете и насрать на FortiGuard. Что-бы там злые админы из Министерства не делали, а путь к халявному порно найден будет!