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

АЗКСоВВ лаб 3

.docx
Скачиваний:
0
Добавлен:
21.05.2026
Размер:
1.06 Mб
Скачать

Министерство цифрового развития, связи И массовых коммуникаций российской федерации

    1. Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

    2. МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

    3. СВЯЗИ И ИНФОРМАТИКИ

Кафедра «Математическая кибернетика и информационные технологии»

(МКиИТ)

Лабораторная работа №3

по дисциплине «Анализ защищенности корпоративных сетей от внешних вторжений»

Выполнила:

Студент группы: БВТ2151

ФИО:

Проверил:

Москва, 2025

Лабораторная работа № 3

Техника повышения привилегий

Цель работы - узнать, где хранятся пароли, а также научиться извлекать хеши паролей из памяти машины Linux.

1.1 Постановка задачи

  • Извлечение хешей паролей из памяти машины Linux;

  • Уязвимость Dirty COW;

  • John the Ripper.

1.2 Теоретические сведения

Техника повышения привилегий – это процесс получения злоумышленником root-доступа при помощи уязвимости в операционной системе.

Уязвимость Dirty COW – это уязвимость, позволяющая злоумышленнику, не имеющему прав root, редактировать любой файл, эксплуатируя ошибку, связанную с тем, как ядро Linux управляет памятью. С помощью этой уязвимости злоумышленник может создать нового суперпользователя, редактируя файл /etc/shadow.

Уязвимость Dirty COW заставляет операционную систему позволить пользователю редактировать файл, которым он не владеет, злоупотребляя механизмом копирования при записи (COW). Это достигается за счёт эксплуатации состояния гонки в ядре Linux. Состояние гонки возникает в тех случаях, когда два или более потока пытаются получить доступ к переменной, а работа программы зависит от порядка завершения этих потоков. Злоумышленники могут воспользоваться этим состоянием, выполняя множество чувствительных к такому порядку операций вплоть до достижения нужного результата.

John the Ripper – это свободная программа, полезный инструмент для расшифровки нескольких типов хешей и восстановления паролей. John the Ripper используется для аудита безопасности, проверки надежности паролей и обнаружения слабых паролей.

ХОД РАБОТЫ

ОС Linux хранит имена пользователей в файле /etc/passwd, который может прочитать любой пользователь системы. Из этого файла можно извлечь полезную информацию, например, требуется ли пароль для получения доступа к той или иной учетной записи. Выполним команду cat /etc/passwd, чтобы просмотреть содержимое данного файла.

Рис. 1 – Вывод содержимого файла /etc/passwd

ОС Linux хранит сгенерированные алгоритмом HMAC-SHA256 хеши паролей в файле /etc/shadow. Злоумышленник может извлечь хеши паролей, прочитав данный файл. Для прочтения файла /etc/shadow необходимо обладать правами суперпользователя (root). Выполним команду ls с параметром –l, чтобы проверить права доступа к файлу.

Рис. 2 – Просмотр прав доступа к файлу /etc/shadow

Заданные для файла /etc/shadow/ разрешения указывают на то, что прочитать его могут лишь владелец (root) и группа (shadow), а осуществлять запись в него может только пользователь root.

Выполним технику повышения привилегий на сервере Metasploitable, используя уязвимость Dirty COW, чтобы получить доступ к файлу /etc/shadow. Для выявления уязвимости сервера войдём в систему и выполним команду whoami, чтобы получить имя текущего пользователя, а также команду uname -a для выяснения текущей версии Linux.

Рис. 3 – Получение имени текущего пользователя и выяснение текущей версии Linux

Выяснив версию ОС Linux, используемую сервером, применим инструмент searchsploit для поиска свойственных этой версии уязвимостей:

Рис. 4 – Выявление уязвимостей сервера

Будем использовать эксплойт Dirty COW PTRACE, так как он стабильно функционирует в версии ОС Linux, работающей на сервере Metasploitable и код этого эксплойта доступен на виртуальной машине Kali Linux. Укажем номер эксплойта 40839.c и воспользуемся параметром -p, чтобы выяснить путь к его коду с помощью инструмента searchsploit.

Рис. 5 – Вывод пути к коду эксплойта 40839.c

Скопируем код эксплойта на машину Metasploitable.

Рис. 6 – Копирование кода эксплойта на машину Metasploitable

Запустим эксплойт на машине Metasploitable и создадим нового пользователя root (firefart) с паролем abc123.

Рис. 7 – Запуск эксплойта, создания нового суперпользователя

Переключимся на нового созданного суперполльзователя firefart и прочитаем файл /etc/shadow, содержащий хеши паролей.

Рис. 8 – Переключение на созданного суперпользователя

Рис. 9 – Выполнение команды cat /etc/shadow, прочтение файла, содержащего хеши паролей

Расшифруем хеши паролей с помощью с помощью инструмента Kali – John the Ripper. Клонируем Git-репозиторий SecLists на рабочий стол Kali Linux.

Рис. 9 – Клонирование Git-репозитория SecLists на рабочий стол Kali

Создадим папку HashCrack для хранения файла hashes.txt с хешем пароля. Взломаем с помощью программы John the Ripper хеш, который сохранён в текстовом файле hashes.txt. Запустим процесс взлома и по завершении просмотрим список взломанных паролей.

Рис. 10 – Запуск процесса взлома и просмотр списка успешно взломанных паролей

ВЫВОД

В данной лабораторной работе я узнала где и как хранятся пароли в OC Linux, а также научилась извлекать хеши паролей из памяти машины Linux. В ходе выполнения работы я успешно извлекла хеши паролей из памяти машины Linux, изучила и воспользовалась уязвимостью Dirty COW с целью повышения привилегий на сервере Metasploitable и использовала специальную программу John the Ripper для расшифровки хешей и восстановления паролей.

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

ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Где и как хранятся пароли в OC Linux?

Ответ: Пароли хранятся в виде сгенерированных алгоритмом HMAC-SHA256 хешей в файле /etc/shadow и не хранятся в виде открытого текста в OC Linux.

2. Объясните, как работает уязвимость "повышение привилегий"?

Ответ: Уязвимость "повышение привилегий" позволяет пользователю редактировать файл, которым он не владеет за счёт эксплуатации состояния гонки в ядре Linux. С помощью этой уязвимости злоумышленник может создать нового суперпользователя, редактируя файл /etc/shadow, в следствии чего он получает root-доступ.

3. Почему считается безопасным хранить пароли в хешированном виде?

Ответ: Хеш довольно трудно преобразовать обратно в исходный пароль. Хранение паролей в хешированном виде значительно снижает риск компрометации пользовательских данных при утечках и затрудняет злоумышленнику восстановление исходных паролей.

4. Каким требованиям должен удовлетворять безопасный пароль?

Ответ: Безопасный пароль должен быть длинным, сложным, должен содержать различные символы – заглавные и строчные буквы, цифры и специальные символы. Пароль должен быть уникальным, нужно избегать использования личной информации. Также рекомендуется регулярно менять пароль.

5. Как происходит авторизация пользователя в системе Linux?

Ответ: Когда пользователь авторизуется в системе, OC Linux хеширует его пароль, сравнивает результат с сохраненным ранее хешем и в случае их совпадения предоставляет пользователю доступ.