13.1. «Уязвимости и атаки на информационные системы»
- Кузин Максим
Домашнее задание к занятию Инструкция по выполнению домашнего задания
Домашнее задание выполните в Google Docs или в md-файле в вашем репозитории GitHub.
Для оформления вашего решения в GitHub можете воспользоваться шаблоном.
Название файла Google Docs должно содержать номер лекции и фамилию студента. Пример названия: «13.1. Уязвимости и атаки на информационные системы — Александр Александров».
Перед тем как выслать ссылку, убедитесь, что её содержимое не является приватным, то есть открыто на просмотр всем, у кого есть ссылка. Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs.
Любые вопросы по решению задач задавайте в чате учебной группы.
Желаем успехов в выполнении домашнего задания.

Задание 1
Скачайте и установите виртуальную машину Metasploitable: https://sourceforge.net/projects/metasploitable/.
Это типовая ОС для экспериментов в области информационной безопасности, с которой следует начать при анализе уязвимостей.
Просканируйте эту виртуальную машину, используя nmap.
Попробуйте найти уязвимости, которым подвержена эта виртуальная машина.
Сами уязвимости можно поискать на сайте https://www.exploit-db.com/.
Для этого нужно в поиске ввести название сетевой службы, обнаруженной на атакуемой машине, и выбрать подходящие по версии уязвимости.
Ответьте на следующие вопросы:
- Какие сетевые службы в ней разрешены?
- Какие уязвимости были вами обнаружены? (список со ссылками: достаточно трёх уязвимостей)
Приведите ответ в свободной форме.
Ответ. Какие сетевые службы в ней разрешены? Metasploitable - имеет множество открытых сетевых служб:
-
SSH
- протокол удаленного управления компьютером через зашифрованный туннель. В Metasploitable открыт порт 22 для SSH. -
FTP
- протокол передачи файлов, который позволяет пользователям копировать файлы между удаленными системами. В Metasploitable открыт порт 21 для FTP. -
Telnet
- протокол удаленного управления компьютером без шифрования трафика. В Metasploitable открыт порт 23 для Telnet. -
Apache
- веб-сервер, который обслуживает веб-страницы и другой контент. В Metasploitable открыты порты 80 и 443 для Apache. -
Samba
- набор программ, который позволяет обмениваться файлами и печатать на удаленных системах. В Metasploitable открыты порты 139 и 445 для Samba. -
PostgreSQL
- система управления реляционными базами данных. В Metasploitable открыт порт 5432 для PostgreSQL. -
MySQL
- другая система управления реляционными базами данных. В Metasploitable открыт порт 3306 для MySQL. -
SNMP
- протокол управления сетевыми устройствами. В Metasploitable открыт порт 161 для SNMP. -
Rlogin
- протокол удаленного управления компьютером без шифрования трафика. В Metasploitable открыт порт 513 для Rlogin. -
Finger
- протокол, который позволяет получать информацию о пользователях на удаленной системе. В Metasploitable открыт порт 79 для Finger. -
Portmap
- служба, которая помогает клиентам находить нужныеRPC-сервисы
. В Metasploitable открыт порт 111 для Portmap. Это далеко не полный список открытых служб в Metasploitable, но это некоторые из наиболее распространенных служб, которые могут быть найдены при сканировании сети.
Какие уязвимости были вами обнаружены? (список со ссылками: достаточно трёх уязвимостей)
- vsftpd 2.3.4 - Backdoor Command Execution Metasploit
- ProFTPd IAC 1.3.x - Remote Command Execution
- ISC BIND 9 - TKEY (PoC)
https://github.com/Andreev-Vladimir-Igorevich/dz_netology/blob/main/13-01-AndreevVI.md
Задание 2
Проведите сканирование Metasploitable в режимах SYN, FIN, Xmas, UDP.
Запишите сеансы сканирования в Wireshark.
Ответьте на следующие вопросы:
- Чем отличаются эти режимы сканирования с точки зрения сетевого трафика?
- Как отвечает сервер?
Приведите ответ в свободной форме.
Ответ.
- Чем отличаются эти режимы сканирования с точки зрения сетевого трафика?
Эти режимы сканирования используются в технологии сканирования портов сетевых устройств с целью выявления открытых портов и уязвимостей.
-
SYN-сканирование
: это наиболее распространенный метод сканирования, при котором сканер отправляет запросSYN
на целевой порт. Если порт закрыт, то целевой хост отсылает ответRST
, а если порт открыт, то хост отсылает ответSYN/ACK
. ОтветSYN/ACK
является сигналом для сканера, что порт открыт, и он заносит это в свой список. -
FIN-сканирование
: при этом методе сканирования сканер отправляет пакетFIN
на целевой порт. Если порт закрыт, то хост игнорирует пакет, а если порт открыт, то хост отсылает пакетRST
, что также указывает на открытый порт. -
Xmas-сканирование
: это расширение методаFIN-сканирования
, при котором сканер отправляет пакет, включающий флагиFIN
,URG
иPSH
. Если порт закрыт, то хост игнорирует пакет, а если порт открыт, то хост отсылает пакетRST
, что также указывает на открытый порт. -
UDP-сканирование
: этот метод сканирования используется для сканирования портов, которые работают с протоколомUDP
. В отличие отTCP
, протоколUDP
не поддерживает установление соединения, поэтому при сканировании портаUDP
сканер отправляет запрос на целевой порт, а если порт закрыт, то хост отсылает ответICMP port unreachable
.
В целом, все эти методы сканирования используются для обнаружения уязвимостей и открытых портов на сетевых устройствах, но они отличаются по способу отправки запросов и обработке ответов. Кроме того, существуют различные методы защиты от таких атак, например, могут быть настроены файрволы и системы обнаружения вторжений, которые могут блокировать подозрительный трафик.
- Как отвечает сервер?
При сканировании в режиме SYN отправляется серия пакетов с установленным только флагом SYN, без установки флагов ACK и FIN. Если порт открыт, то сервер должен ответить пакетом с установленными флагами SYN и ACK.
При сканировании в режиме FIN отправляется пакет с установленным флагом FIN. Если порт закрыт, то сервер должен ответить пакетом с установленным флагом RST (сброс соединения).
При сканировании в режиме Xmas отправляется пакет с установленными флагами FIN, PSH и URG. Если порт закрыт, то сервер должен ответить пакетом с установленным флагом RST.
При сканировании UDP отправляются пакеты с произвольным содержимым на случайный порт. Если порт закрыт, то сервер должен ответить пакетом с установленным флагом ICMP Destination Unreachable. Однако, если порт открыт, то сервер может не отвечать на такие пакеты вообще.