Полная версия
Безопасность вычислительных сетей. Практические аспекты
Безопасность вычислительных сетей
Практические аспекты
Иван Андреевич Трещев
Игорь Александрович Кожин
Общий анализ Анастасия Сергеевна Ватолина
© Иван Андреевич Трещев, 2020
© Игорь Александрович Кожин, 2020
ISBN 978-5-4498-9454-0
Создано в интеллектуальной издательской системе Ridero
Введение
Использование средств вычислительной техники сегодня не ограничивается выполнением математических расчетов для нужд различных отраслей народного хозяйства.
В настоящее время сложно найти семью в которой не было бы компьютера или другого устройства подключенного ко «всемирной паутине». Вопрос защиты данных в информационных сетях общего пользования является достаточно актуальным и обеспечение конфиденциальности информации сегодня выходит на первый план.
Конфиденциальная переписка, дистанционные технологии взаимодействия в рамках корпоративного общения, проведения семинаров, деловых встреч.
Данная книга скорее содержит общую информацию об обеспечении информационной безопасности в распределенных информационных системах, чем представляет из себя практическое руководство к действию.
Глава 1. Техника и технология сниффинга пакетов
2 Применение сниффера
2.1 Перехват трафика при использовании в сети концентратора
Наиболее опасны снифферы в сетях где циркулирует незашифрованный траффик. Сегодня использование сетей с коммутаторами существенно затрудняет перехват чужого траффик. Коммутатор в зависимости от МАС адреса устройства на его порту не производит широковещание пакетов а целенаправленно отправляет их адресату. сетевой пакет, принадлежащий сети, которая спроектирована с использованием концентраторов. Порой при анализе сетей все же используют концентраторы.
Для проверки уязвимости соберем лабораторный стенд по топологии, представленный на рисунке 1. На атакующем компьютере был установлен сниффер Wireshark, позволяющий перехватывать сетевой трафик для дальнейшего анализа.
Рисунок 1 – Лабораторный стенд для проверки уязвимости
Компьютеры жертв имеют IPv4-адреса 10.10.1.3 и 10.10.1.4 (рисунки 2 и 3). Между ними будет проходить Echo-запрос посредством ввода команды ping «адрес». Атакующий с запущенным Wireshark должен обнаружить Echo-запросы по пакетам протокола ICMP (Internet Control Message Protocol – протокол межсетевых управляющих сообщений). Это продемонстрировано на рисунке 4.
Рисунок 2 – Echo-запрос от компьютера с адресом 10.1.3.4
Рисунок 3 – Echo-запрос от компьютера с адресом 10.1.3.3
Рисунок 4 – Обнаружение Echo-запросов
2.2 Перехват мультимедийных файлов
Организация атаки на незащищённые серверы SMB является одной из наиболее привлекательных среди злоумышленников. Так, например, с помощью использования уязвимостей протокола SMB были осуществлены взлом серверов Sony Pictures Entertainment и распространение вредоносного ПО DoublePulsar, WannaCry (уязвимость EternalBlue) и Petya.
Сначала настроем протокол SMB2 на компьютерах жертв. Для этого на рабочем столе жертв создали папку «Сетевая папка 1». Вызываем ПКМ контекстное меню папки и выбираем «Свойства». В открывшемся окне во вкладке «Доступ» выбрать «Общий доступ», выбрать пользователя «Все», выставить уровень разрешений «Чтение и запись». Теперь папка будет доступна всем в данной локальной сети (рисунки 5 – 8).
Рисунок 5 – Свойства сетевой папки
Рисунок 6 – Выбор пользователей для открытия общего доступа
Рисунок 7 – Завершение настройки общего доступа
Рисунок 8 – Настроенная сетевая папка
На рисунках 9 и 10 показан текстовый файл «222222222223.txt» с набором цифр.
Рисунок 9 – Текстовый файл «222222222223.txt»
Рисунок 10 – Содержимое текстового файла «222222222223.txt»
Добавим в сетевую папку текстовый файл с некой информацией. Атакующий с запущенным Wireshark видит передающуюся информацию от PC1 к PC2 по протоколу SMB2 (рисунок 11). Проверив данный пакет, мы находим передаваемую в файле информацию (рисунок 12).
Рисунок 11 – Передающаяся информация от PC1 к PC2
Рисунок 12 – Передаваемая в файле информация
Аналогично происходит и для файлов расширения. png и. rar. Найти нужные пакет можно по фильтру «smb2.write_length> 0». Полученную информацию можно восстановить из всех перехваченных пакетов любым HEX-редактором. Для этого кликнем ПКМ по найденному пакету с информацией и выберем «Export Packet Bytes…» Пример указан на рисунках 13 – 14. Аналогично выполняется и для. rar-файлов.
Рисунок 13 – Пример восстановления из всех перехваченных пакетов
Рисунок 14 – Восстановленные данные
2.3 Перехват информации, используя протокол FTP
FTP (File Transfer Protocol) – протокол передачи файлов по сети. В отличие от TFTP, гарантирует передачу (либо выдачу ошибки) за счёт применения квитируемого протокола TCP. Типичное применение FTP-протокола – загрузка сайтов и других документов с частного устройства разработки на общедоступные сервера хостинга.
Для создания FTP-сервера требуется перейти в Пуск → Панель управления, выбираем «Программы и компоненты», выбираем «Включение или отключение компонентов Windows», в открывшемся окне выбираем «Расширяемость FTP», «Служба FTP» и «Консоль управления IIS». Жмем ОК и дожидаемся завершения процесса.
После этого переходим в Панель управления → Администрирование, выбираем «Диспетчер служб IIS». Нажимаем правую кнопку мыши и в выпадающем меню выбираем «Добавить FTP сайт». Указываем название сайта и его расположение. Нажимаем «Далее». В разделе «SSL» устанавливаем «Без SSL». Нажимаем «Далее». Проверку подлинности делаем обычную. Весь процесс настройки сайта показан на рисунках 15 – 19.
Рисунок 15 – Процесс настройки сайта
Рисунок 16 – Процесс настройки сайта
Рисунок 17 – Процесс настройки сайта
Рисунок 18 – Процесс настройки сайта
Рисунок 19 – Процесс настройки сайта
Сайт создан. Далее переходим в Панель управления → Брандмауэр → Дополнительные параметры → Правила для входящих соединений. Выбираем и активируем пункты FTP Server Passive (чтобы можно было подключиться к FTP в пассивном режиме) и FTP сервер. Переходим в раздел «Правила для исходящих соединений» и активируем пункт «FTP Server».
Далее переходим Панель управления → Администрирование → Управление компьютером → Локальные пользователи → Группы → ПКМ → Создать группу. Указываем название группы и нажимаем «Создать». Далее переходим в Пользователи. ПКМ → Новый пользователь. Указываем имя пользователя, пароль (не менее 8 символов). Устанавливаем галочки напротив «Запретить смену пароля пользователем» и «Срок действия пароля неограничен». Далее выбираем пользователя, правый клик мыши, «Свойства», «Членство в группах». Нажимаем «Добавить» и выбираем группу «FTP», нажимаем «ОК».
Переходим в каталог, который мы указали для FTP сервера. ПКМ → Свойства → Безопасность → Изменить. Далее «Добавить», указываем название группы и «ОК». Устанавливаем разрешения «Разрешить все».
Переходим в Панель управления → Администрирование → Диспетчер служб IIS и выбираем наш FTP. Переходим в «Правила авторизации FTP». Выбираем «Добавить разрешающее правило» и указываем нашу группу «FTP». Ставим галочки напротив «Чтение» и «Запись». Нажимаем «ОК». Устанавливаем максимальный размер лога или отключаем вообще (по желанию).
Данные настройки продемонстрированы на рисунках 20 – 27.
Рисунок 20 – Процесс настройки FTP
Рисунок 21 – Процесс настройки FTP
Рисунок 22 – Процесс настройки FTP
Рисунок 23 – Процесс настройки FTP
Рисунок 24 – Процесс настройки FTP
Рисунок 25 – Процесс настройки FTP
Рисунок 26 – Процесс настройки FTP
Рисунок 27 – Процесс настройки FTP
Сервер установлен. В папку помещаем файлы, которые будут хранится на этом сервере и к которому будут иметь доступ авторизированные пользователи. Подключится к серверу можно с помощью любого FTP-клиента (например, с помощью FileZilla) или непосредственно с помощью браузера, введя в адресную строку IPv4-адрес нашего FTP-сервера (который соответствует IPv4-адресу PC1).
В браузере, в адресную строку вводим IPv4-адрес нашего FTP-сервера. Он запросит логин и пароль. Вводим их и попадаем на сервер с хранящейся там информацией. Данные, используемые для входа можно также увидеть на рисунке 27, а на рисунке 28 показаны файлы, находящиеся на сервере.
Рисунок 28 – Информация на FTP-сервере
Атакующий компьютер с Wireshark находит нужные пакеты по протоколу FTP. В них указаны наши логин и пароль (рисунки 29- 30).
Рисунок 29 – Пакеты с логином и паролем
Рисунок 30 – Пакеты с логином и паролем
2.4 Перехват информации, с использованием протокола Telnet
Telnet – сетевой протокол для реализации текстового интерфейса по сети. Вся информация, отображаемая и вводимая на консольный интерфейс, передается по сети в виде открытого текста.
Для установки Telnet требуется открыть Панель управления. По умолчанию, Telnet не будет установлен на Windows 7. Надо его активировать вручную, чтобы использовать. Вы можете сделать это через Панель управления, к которой можете получить доступ через меню Пуск. После открыть «Программы и Компоненты» и «Включение или отключение компонентов Windows».
В компонентах Windows следует выбрать Telnet-сервер (рисунок 31).
Рисунок 31 – Выбор Telnet-сервера
Дальше запускаем службы Windows. В командной строке вводим «net start tlntsvr» (рисунок 32).
Рисунок 32 – Команда в командной строке
Теперь к компьютеру можно будет подключатся через протокол Telnet, используя соответствующие программы, например, PuTTY. В качестве логина и пароля используем логин и пароль пользователя, который есть на компьютере (рисунки 33 – 34).
Рисунок 33 – Подключение через протокол Telnet
Рисунок 34 – Данные, полученные при подключении
Атакующий компьютер с Wireshark находит нужные пакеты по протоколу TCP. Выберем один из перехваченных пакетов, ПКМ → Follow → TCP Stream. Теперь мы видим все, что было в консольном интерфейсе PuTTY (рисунки 35 – 36).
Рисунок 35 – Перехваченные пакеты
Рисунок 36 – Перехваченные пакеты
2.5 Перехват информации, используя протокол HTTP
HTTP (HyperText Transfer Protocol – «протокол передачи гипертекста») – протокол прикладного уровня передачи различных мультимедийных данных. Главное отличие от аналогичного протокола HTTPS – отсутствие шифрования, из-за чего вся информация, отображаемая и вводимая на консольный интерфейс, передается по сети в виде открытого текста.
Откроем сайт, работающем на протоколе HTTP, например, http://olymp.knastu.ru. Вводим любой логин/пароль (рисунок 37).
Рисунок 37 – Ввод логина и пароля
Атакующий компьютер с Wireshark находит нужные пакеты по протоколу HTTP. Анализируем их. Видим пару логин/пароль, которая вводила жертва.
3. Сетевые атаки
3.1 MAC-флудинг
Флудинг МАС – возможность неправомерного просмотра трафика в сети. Все МАС адреса хранятся на коммутаторах. Если переполнить сеть большим количеством поддельных МАС, то память коммутатора переполняется, и тогда коммутатор «превращается» в концентратор.
Для проверки уязвимости соберем лабораторный стенд по топологии, представленный на рисунке 38. На атакующем компьютере с помощью виртуальной машины был развернут дистрибутив GNU/Linux «Kali Linux». По умолчанию на нем установлена утилита «macof», совершающая MAC-флудинг на коммутатор.
Рисунок 38 – Схема лабораторного стенда
На атакующем компьютере с Kali Linux через терминал запускаем утилиту командой «macof». Через несколько минут после начала флудинга таблица маршрутизации коммутатора переполняется и коммутатор становится концентратором, который передает пакеты всем подключенным узлам в сети.
После этого подключаем к коммутатору две жертвы: PC1 и PC2, между котороми будет проходить Echo-запрос с помощью команды «ping адрес».
В нашем случае IPv4-адрес атакующего имел вид 10.10.1.1, IPv4-адреса жертв: 10.10.1.3 и 10.10.1.6 соответственно. После произведенного MAC-флудинга атакующий компьютер с помощью Wireshark смог перехватить пакеты, предназначенные для других узлов (рисунок 39).
Рисунок 39 – Перехват пакетов
3.2 ARP-спуфинг
Классический пример атак типа «человек посредине». Протокол ARP является уязвимым – отсутствует проверка подлинности ARP-запросов и ARP-ответов. А
Для проверки уязвимости соберем лабораторный стенд по топологии, представленный на рисунке 40. Для ARP-спуфинга воспользуемся программой Cain & Abel.
Рисунок 40 – Лабораторный стенд
В программе (рисунок 41) активируем кнопку «Start/Stop Sniffer».
Рисунок 41 – Активация программы
Перейдем во вкладку Sniffer. Нажмем кнопку «Add to list» (изображение плюса) и укажем диапазон нужных IP-адресов, которые находятся в сети. После этого в списке будут видны IPv4-адрес маршрутизатора (10.10.1.254) и IPv4-адрес жертвы (10.10.1.13). Это показано на рисунке 42.
Рисунок 42 – IPv4-адрес маршрутизатора и жертвы
Перейдем во вкладку ARP. Нажмем кнопку «New ARP Poison Routing» (изображение плюса). В нем необходимо выбрать IPv4-адрес жертвы (рисунок 43). Активируем кнопку «Start/Stop ARP».
Рисунок 43 – Вкладка ARP
На компьютере жертвы откроем сайт, работающем на протоколе HTTP, например, http://olymp.knastu.ru. Вводим любой логин/пароль (рисунок 44). Атакующий получает логин/пароль от жертвы (рисунок 45).
Рисунок 44 – Ввод логина и пароля
Рисунок 45 – Получение логина и пароля жертвы
2 Применение сетевых атак
2.1 Истощение ресурсов DHCP и подмена DHCP-сервера
Идея состоит в получении пакетов клиента для конфигурации сетевых параметров и подмены шлюза. Таким образом неавторизованный DHCP-сервер может прослушивать весь трафик.
Для проверки уязвимости соберем лабораторный стенд по топологии, представленный на рисунке 46.
Рисунок 46 – Схема лабораторного стенда
На атакующем компьютере с помощью виртуальной машины был развернут дистрибутив GNU/Linux «Kali Linux». Атаку будем выполнять при помощи утилиты «dhcpstarv». Прежде эту программу необходимо установить при помощи команды в терминале – apt-get install dhcpstarv. Для запуска утилиты, необходимо ввести команду – dhcpstarv —i eth0 (где eth0 – порт для выхода в сеть, его узнать можно с помощью команды ifconfig). Данная программа записывает на себя все доступные адреса, поставляемые DHCP сервером. Как результат – сервер не может выполнять свою функцию. На рисунке 47 показана работа программы, а на рисунке 48 продемонстрировано, как заполняются все доступные IPv4-адреса в DHCP-сервере.
Рисунок 47 – Работа программы
Рисунок 48 – Заполнение всех доступных IPv4-адресов в DHCP-сервере
На Kali Linux разворачиваем DHCP-сервер. Для установки вводим команду apt-get install isc-dhcp-server.
После установки производим настройки DHCP-сервера. Перейдем по адресу: /etc/network/interfaces. Пропишем (рисунок 49):
auto eth0
iface eth0 inet dhcp
Рисунок 49 – Настройка DHCP-сервера
Перейдем по адресу: /etc/default/isc-dhcp-server. В строке «#INTERFACESv4=«"» уберем «#» и в скобках впишем eth0. Конечный результат будет выглядеть как на рисунке 50.
Рисунок 50 – Настройка DHCP-сервера
Перейдем по адресу: /etc/dhcp/dhcpd.conf. Ищем строку # This is a very basic subnet declaration. Настраиваем как на рисунке 51.
Рисунок 51 – Настройка DHCP-сервера
В нашем случае для правильной работы следует прописать следующие значения:
• subnet – IPv4-адрес сети;
• netmask – маска сети;
• range – пул адресов, которые будут выдаваться устройству при подключении к DHCP-серверу;
– option routers 10.10.1.10 – шлюз по умолчанию. В нашем случае необходимо указать IPv4-адрес устройства, в котором устанавливается DHCP-
сервер. Эту информацию можно посмотреть в ifconfig;
– option broadcast-address 10.10.1.255 – широковещательный адрес.
Для запуска DHCP-сервера вводим команду /etc/init. d/isc-dhcp-server start (рисунок 52).
Рисунок 52 – Ввод команды для запуска DHCP-сервера
После этого DHCP-сервер функционирует и может выдавать IPv4-адреса узлам, которые пытаются подключится к роутеру.
Подключаем другое устройство к роутеру. В нашем случае – это смартфон. После подключения он получает IPv4-адрес из пула адресов, назначенных на DHCP-сервере атакующего (рисунок 53).
Рисунок 53 – Получение IPv4-адреса из пула адресов
IPv4-адрес смартфона в нашем случае: 10.10.1.191 (адрес получен от DHCP-сервера атакующего). IPv4-адрес компьютера, к которому отправляются Echo-запросы для проверки соединения имеет адрес 10.10.1.70, как на рисунке (IPv4-адрес получен от настоящего DHCP-сервера, который был на роутере). На рисунках 54—55 показаны Echo-запросы от одного устройства к другому.
Рисунок 54 – Echo-запросы
Рисунок 55 – Echo-запросы
Во время Echo-запросов Wireshark, запущенный под управлением Kali Linux, получает пакеты, которые передавались от одного устройства к другому. Следовательно, правильно произвести атаку нам удалось.
3. DoS
Основная идея, что большой наплыв пользователей приводит к отказу в обслуживании части из них. Расширение данной атаки – DDOS.
Для реализации нескольких типов DDoS-атак соберем лабораторный стенд по рисунку 56. Атакующих компьютеров необязательно должно быть 10 – можно ограничиться 2—3 компьютерами, которые будут атаковать сервер.
Рисунок 56 – Схема лабораторного стенда
3.1 HTTP-флуд
HTTP-флуд – это наиболее распространенная flood-атака. В ее основе – отсылка HTTP-запросов GET на 80-й порт и, как следствие, переполнение и невозможность обрабатывать новые запросы.
Для реализации этой и последующих типов атак мы воспользуемся программой Low Orbit Ion Cannon. LOIC – программа с открытым исходным кодом, предназначенная для осуществления DDoS-атак, написанная на языке программирования C#.