Я пишу эти руководства по Linux, чтобы заполнить пробел в образовании начинающих хакеров в области операционной системы Linux. Без хороших навыков работы с Linux мир хакинга практически закрыт для вас. Здесь нужно многое знать, и в этом руководстве мы рассмотрим права доступа к файлам в Linux.
В Linux есть система управления доступом к файлам, их чтением, записью и выполнением. Таким образом, владелец файла может решать, кто может читать, записывать или выполнять его файл. Эти права доступа к файлам и каталогам также можно использовать для управления правами доступа групп.
Hashcat — один из моих любимых инструментов для взлома паролей. Подробнее о нём можно прочитать здесь.
Сначала перейдем в его каталог;
кали > cd /usr/share/hashcat
Затем составьте длинный список его каталога.
кали > ls -l
Если мы посмотрим на каждую строку, то увидим довольно много информации о записях в этом каталоге, включая соответственно:
(1) будь то файл или каталог,
(2) разрешения на файл,
(3) количество ссылок,
(4) владелец файла,
(5) групповой владелец файла,
(6) размер файла,
(7) когда он был создан или изменен, и наконец,
(8) имя файла.
Давайте рассмотрим каждый из них.
Итак, давайте посмотрим на каталог правил hashcat (правила hashcat преобразуют ваш список слов таким образом, чтобы он лучше соответствовал целевому паролю, включая combinator.rule, который изменит регистр букв, напримерoccuptheweb –> OccupyTheWeb).
Давайте перейдем в каталог правил и составим длинный список.
кали > cd rules
кали > ls -l
Мы видим, что каждое из них начинается со слов:
-рв-р–р–
Это означает, что это файл (-), владелец которого имеет права на чтение (r) и запись (w), но не на выполнение (-). Обратите внимание: дефис «-» здесь означает отсутствие прав.
Следующий набор разрешений представляет права группы. Здесь мы видим, что у группы есть разрешение на чтение (r), но нет разрешения на запись (-) или выполнение (-).
Наконец, последний набор разрешений предназначен для всех остальных . Мы видим, что все остальные имеют только разрешение на чтение (r) этих файлов.
В Linux есть команда chmod (изменить режим) , которая позволяет изменять права доступа к файлу, если у нас есть права root или владелец файла. Эти права представлены в операционной системе их двоичными эквивалентами.
Итак, когда все три разрешения включены, они выглядят так:
rwx
4 2 1 = 7
Если сложить эти три, получится семь, верно? В Linux, когда все переключатели разрешений включены, мы можем представить это десятичным числом, эквивалентным 7. Таким образом, если мы хотим обозначить, что владелец (7), группа (7) и все пользователи (7) имеют все разрешения , мы можем представить это так:
777
Теперь вернёмся к нашему файлу hashcat combinator.rule. Помните его права доступа? Они были rw-r–r– , так что мы могли бы представить это в числовом виде следующим образом:
рв – | р – – | р – –
4 2 0 | 4 0 0 | 4 0 0
Это можно представить как 644 .
kali > chmod 6 6 4 combinator.rule
В этом утверждении говорится: дайте владельцу права на чтение и запись (4+2=6), группе то же самое (4+2=6), а всем остальным дайте просто право на чтение (4+0+0=4).
Если теперь выполнить команду ls -l, то можно увидеть, что разрешения для combinator.rule теперь следующие:
рв – рв – р – –
Просто, правда?
kali > chmod gw combinator.rule
Эта команда говорит: «для группы (g) вычесть (-) разрешение на запись (w) для combinator.rule».
Теперь, когда я проверяю права доступа к файлу, вводя команду ls -l, вы видите, что файл combinator.rule больше не имеет разрешения на запись для группы.
Если бы я хотел вернуть группе разрешение на запись, я мог бы ввести:
kali > chmod g+w combinator.rule
Эта команда говорит: «для группы добавить разрешение на запись в файл combinator.rule».
На снимке экрана выше мы видим, что наш newhackertool не имеет разрешения на выполнение для кого-либо.
Когда мы создаем длинный листинг для нашего newhackertool, мы видим, что разрешения доступны только для чтения и записи (6) для владельца.
кали > ls -l
Мы можем предоставить себе (пользователю root) разрешение на выполнение newhackertool, написав:
kali > chmod 766 newhackertool
Как вы теперь знаете, это даст нам, владельцу, все права, включая выполнение, а группе и всем остальным — только права на чтение и запись (4+2=6). На скриншоте выше видно, что после выполнения команды chmod мы получаем именно это!
-rwx rw- rw-
В моем следующем уроке по Linux мы рассмотрим управление запущенными процессами, так что обязательно возвращайтесь.
В Linux есть система управления доступом к файлам, их чтением, записью и выполнением. Таким образом, владелец файла может решать, кто может читать, записывать или выполнять его файл. Эти права доступа к файлам и каталогам также можно использовать для управления правами доступа групп.
Шаг 1: Проверка разрешений
Чтобы узнать права доступа к файлу, можно просто использовать команду ls с опцией -l или long. Давайте применим эту команду в каталоге /usr/share/hashcat и посмотрим, что она нам расскажет о файлах в нём.Hashcat — один из моих любимых инструментов для взлома паролей. Подробнее о нём можно прочитать здесь.
Сначала перейдем в его каталог;
кали > cd /usr/share/hashcat
Затем составьте длинный список его каталога.
кали > ls -l
Если мы посмотрим на каждую строку, то увидим довольно много информации о записях в этом каталоге, включая соответственно:
(1) будь то файл или каталог,
(2) разрешения на файл,
(3) количество ссылок,
(4) владелец файла,
(5) групповой владелец файла,
(6) размер файла,
(7) когда он был создан или изменен, и наконец,
(8) имя файла.
Давайте рассмотрим каждый из них.
Идентификация файла или каталога
Самый первый символ строки указывает, файл это или каталог. Если строка начинается с «d», это каталог. Если начинается с «-», это файл.
Определение разрешений
Следующий раздел символов определяет разрешения на доступ к файлу. Существует три набора rwx , которые обозначают чтение, запись и выполнение. Это определяет, есть ли разрешение на чтение файла, запись в файл или выполнение файла. Каждый набор rwx представляет разрешения владельца, группы и всех остальных соответственно.Итак, давайте посмотрим на каталог правил hashcat (правила hashcat преобразуют ваш список слов таким образом, чтобы он лучше соответствовал целевому паролю, включая combinator.rule, который изменит регистр букв, напримерoccuptheweb –> OccupyTheWeb).
Давайте перейдем в каталог правил и составим длинный список.
кали > cd rules
кали > ls -l
Мы видим, что каждое из них начинается со слов:
-рв-р–р–
Это означает, что это файл (-), владелец которого имеет права на чтение (r) и запись (w), но не на выполнение (-). Обратите внимание: дефис «-» здесь означает отсутствие прав.
Следующий набор разрешений представляет права группы. Здесь мы видим, что у группы есть разрешение на чтение (r), но нет разрешения на запись (-) или выполнение (-).
Наконец, последний набор разрешений предназначен для всех остальных . Мы видим, что все остальные имеют только разрешение на чтение (r) этих файлов.
Шаг 2: Изменение разрешений
Представим случай, когда мы хотим, чтобы группа могла писать в файл hashcat combinator.rule . Кто-то в группе разработал улучшение этого правила и хочет записать изменения и поделиться ими со всеми участниками группы.В Linux есть команда chmod (изменить режим) , которая позволяет изменять права доступа к файлу, если у нас есть права root или владелец файла. Эти права представлены в операционной системе их двоичными эквивалентами.
Разрешения в цифрах
Помните, что в базовой операционной системе всё представлено просто нулями и единицами, а эти разрешения представлены переключателями «вкл.» и «выкл.» в системе. Итак, если представить разрешения в виде трёх переключателей «вкл.» и «выкл.» в двоичной системе счисления, то крайний правый переключатель соответствует 1 во включенном состоянии, средний — 2 во включенном состоянии, и, наконец, крайний левый переключатель соответствует 4 во включенном состоянии.Итак, когда все три разрешения включены, они выглядят так:
rwx
4 2 1 = 7
Если сложить эти три, получится семь, верно? В Linux, когда все переключатели разрешений включены, мы можем представить это десятичным числом, эквивалентным 7. Таким образом, если мы хотим обозначить, что владелец (7), группа (7) и все пользователи (7) имеют все разрешения , мы можем представить это так:
777
Теперь вернёмся к нашему файлу hashcat combinator.rule. Помните его права доступа? Они были rw-r–r– , так что мы могли бы представить это в числовом виде следующим образом:
рв – | р – – | р – –
4 2 0 | 4 0 0 | 4 0 0
Это можно представить как 644 .
Изменение фактических разрешений combinator.rule
Теперь, если мы хотим предоставить группе права на запись (2), мы можем использовать команду chmod . Необходимо добавить право на запись (2) в файл combinator.rule. Это можно сделать следующим образом:kali > chmod 6 6 4 combinator.rule
В этом утверждении говорится: дайте владельцу права на чтение и запись (4+2=6), группе то же самое (4+2=6), а всем остальным дайте просто право на чтение (4+0+0=4).
Если теперь выполнить команду ls -l, то можно увидеть, что разрешения для combinator.rule теперь следующие:
рв – рв – р – –
Просто, правда?
Шаг 3: Изменение разрешений с помощью UGO
Хотя числовой метод, пожалуй, самый распространённый для изменения прав доступа в Linux (им может воспользоваться любой уважающий себя гуру Linux), есть и другой метод, который некоторым кажется проще. Его часто называют синтаксисом UGO . UGO расшифровывается как U = пользователь или владелец, G = группа и O = другие . В UGO есть три оператора:- + для добавления разрешения
- – для вычитания разрешения
- = установить разрешение
kali > chmod gw combinator.rule
Эта команда говорит: «для группы (g) вычесть (-) разрешение на запись (w) для combinator.rule».
Теперь, когда я проверяю права доступа к файлу, вводя команду ls -l, вы видите, что файл combinator.rule больше не имеет разрешения на запись для группы.
Если бы я хотел вернуть группе разрешение на запись, я мог бы ввести:
kali > chmod g+w combinator.rule
Эта команда говорит: «для группы добавить разрешение на запись в файл combinator.rule».
Шаг 4: Даем себе разрешение на выполнение нового хакерского инструмента
Очень часто нам, хакерам, приходится загружать или создавать новые хакерские инструменты. После того, как мы скачаем, распакуем, разархивируем, создадим и установим их, нам зачастую потребуется дать себе разрешение на их выполнение. Это не происходит автоматически. Если мы этого не сделаем, мы обычно получим сообщение о том, что у нас недостаточно прав для выполнения.
На снимке экрана выше мы видим, что наш newhackertool не имеет разрешения на выполнение для кого-либо.
Когда мы создаем длинный листинг для нашего newhackertool, мы видим, что разрешения доступны только для чтения и записи (6) для владельца.
кали > ls -l
Мы можем предоставить себе (пользователю root) разрешение на выполнение newhackertool, написав:
kali > chmod 766 newhackertool
Как вы теперь знаете, это даст нам, владельцу, все права, включая выполнение, а группе и всем остальным — только права на чтение и запись (4+2=6). На скриншоте выше видно, что после выполнения команды chmod мы получаем именно это!
-rwx rw- rw-
В моем следующем уроке по Linux мы рассмотрим управление запущенными процессами, так что обязательно возвращайтесь.