#30 Kali Linux для начинающих. Работаем с правами пользователей.
Перейдем к правам пользователей. Это очень важная тема. Нужно знать у кого к каким ресурсам есть доступ.
Совет после взлома системы. Как только Вы взломаете ее, Вам нужно будет найти файлы, директории или программы со слабыми правами, к которым Вы сможете получить доступ, и которые мы сможем изменить и запустить. В данном случае мы сможем внести в них так называемый вредоносный код. Во время тестирования на проникновение, мы не внедряем вредоносный код. Мы внедряем код, который дает нам преимущества или позволяет повысить права. Это имитация плохих действий хакеров. Вот как выглядят различные права:
Нас интересует левая колонка, в которой содержатся директории и файлы. Директории начинаются с буквы «d», а файлы с «—».
Мы будем копать глубже и рассмотрим обозначения после буквы «d», а именно «rwx».
Буква «r» означает Read или чтение. Для файлов это означает, что можно рассмотреть их содержимое, а вот для директории это означает, что можно отобразить список содержимого директории.
Буква «w» — означает Write или запись. Для файла это означает, что его можно изменить, а для директории это означает, что можно создавать, перемещать или удалять файлы и директории, внутри этой директории.
Буква «x» — означает Execute, что означает выполнение. Для файла это означает, что он может быть запущен как программа. Для директории – это означает, что есть доступ к файлам внутри директории.
Права можно разбить на категории. Мы уже видели права «rwx».
Первая «u» – это права пользователя или владельца, т.е. права владельца, который создал этот файл или директорию.
«g» — это права файлов или директорий группы пользователей.
«o» — это права всех остальных пользователей.
«a» — это права для всех, т.е для «u», «g», и «o».
Изменить права можно с помощью трех операций.
«+» используется для добавления права.
«—» для удаления.
«=» используется для указания конкретных прав.
Для изменения прав используется команда «chmod» — это сокращение для change mode – изменения режима. Она используется для предоставления прав другим пользователем, и в частности, чтобы сделать файл исполняемым.
Синтаксис команды выглядит следующим образом: «chmod», затем указываем категорию «ugoa», затем операцию «+-=», после этого разрешение на чтение, запись и исполнение «rwx», и вводим имя файла, у которого нужно изменить права. Вот так выглядит команда в итоге: «chmod ugoa +-= rwx filename».
Разрешение к файлу для всех пользователей является очень критичным в плане безопасности. Давайте перейдем к практическим примерам, и я открою три окна терминала.
Сначала посмотрим директории под рутом:
Первая часть «rwx», относится ко мне (к рут пользователю). Вторая часть «r-x» — это права группы «root». Третья часть «r-x» — это права остальных пользователей.
Переходим во второй шелл, который называется «bob»:
В этой учетной записи у меня есть директория «bob», и если мы посмотрим на правую часть прав, то увидим имя владельца и группы. В моем случае «bob» — это владелец этой директории, а аналогичное название «bob» — это группа.
Я создал файл в директории /home/:
Если рассматривать более подробнее, то первая часть прав слева «rw-» — это права владельца. Далее идет «r—» — это права группы. И если некоторые пользователи будут находиться в группе «bob», то у них будут только права на чтение.
Последняя часть «r—» — это права остальных пользователей. У любого другого пользователя, даже вне группы, будут права на чтение.
Изменим содержимое файла tom.txt в текстовом редакторе nano:
Сохраним данную запись в файле и перейдем в третий шел пользователя «mat» и далее идем в домашнюю директорию пользователя «bob»:
Иными словами, пользователь mat имеет такие же права на чтение, что и bob. Однако mat не может ничего записать в этот файл, и я хочу это изменить. Нужно дать права на запись через пользователя «bob».
Еще лучшим решением будет наличие прав на запись у всех пользователей.
Выполним команду «chmod g+w tom.txt»:
Как видим, вторая часть прав изменилась со чтения, на чтение и запись. Мы можем изменять содержимое файла «tom.txt».
Теперь я попробую удалить этот файл:
Не получилось, так как у пользователя «mat» нет прав на удаление этого файла.
Домашнее задание
Вам нужно найти в интернете программы, которые можно запустить с root-правами, и выяснить, есть ли в этих программах уязвимости. Если не получилось, то попробуйте получить доступ к другим аккаунтам.
Для того, чтобы узнать, какие программы можно запустить под рутом, то выполните команду «sudo -l». Она отображает программы, которые можно запустить с рут-правами.
В качестве примера, можно посмотреть привилегии у рута:
Видим, что рут запускает все программы «ALL».
#1 Kali Linux для начинающих. Урок 1 — Основы сетей.
#2 Kali Linux для начинающих. Урок 2 — Горячие клавиши. Часть 1
#3 Kali Linux для начинающих. Урок 2 — Горячие клавиши. Часть 2
#4 Kali Linux для начинающих. Терминал Kali Linux. Часть 1
#5 Kali Linux для начинающих. Терминал Kali Linux. Часть 2
#6 Kali Linux для начинающих. Урок 4 — Root Kali Linux. Часть 1
#7 Kali Linux для начинающих. Root Kali Linux — Часть 2
#8 Kali Linux для начинающих. Основные команды. Часть 1.
#9 Kali Linux для начинающих. Основные команды. Перемещение по директориям. Часть 2.
#10 Kali Linux для начинающих. Основные команды. Создание директорий. Часть 3
#11 Kali Linux для начинающих. Основные команды. Часть 4 — Просмотр содержимого директорий.
#12 Kali Linux для начинающих. Основные команды. Часть 5 — Просмотр содержимого файлов.
#13 Kali Linux для начинающих. Основные команды. Часть 6 — Копируем файлы и директории.
#14 Kali Linux для начинающих. Основные команды. Часть 7 — Перемещаем файлы и директории.
#15 Kali Linux для начинающих. Основные команды. Часть 8 — Удаляем файлы и директории.
#16 Kali Linux для начинающих. Управление пакетами.
#17 Kali Linux для начинающих. Откуда Kali скачивает софт.
#18 Kali Linux для начинающих. Изменения в Kali 2019 относительно APT.
#19 Kali Linux для начинающих. Архивация и сжатие. Часть 1.
#20 Kali Linux для начинающих. Архивация и сжатие. Часть 2.
#21 Kali Linux для начинающих. Архивация и сжатие. Часть 3.
#22 Kali Linux для начинающих. Специальные символы. Часть 1.
#23 Kali Linux для начинающих. Специальные символы. Часть 2
#24 Kali Linux для начинающих. Основы сетей.
#25 Kali Linux для начинающих. Администрирование. Редактирование файлов с помощью Nano.
#26 Kali Linux для начинающих. Превращаем Kali Linux в веб-сервер.
#27 Kali Linux для начинающих. Изменения в файлах конфигурации Kali Linux.
#28 Kali Linux для начинающих. Превращаем Kali Linux в SSH-сервер.
#29 Kali Linux для начинающих. Управление пользователями и группами.