Файл: Paul Troncone and Carl AlbingCybersecurity Ops with bashAttack, Defend, and Analyze from the.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 466
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
242 Часть III • Тестирование на проникновение а.stdout.по-прежнему.подключен.к.порту.TCP,.вывод.будет.отображаться.на.экране.
компьютера.злоумышленника.
Есть.ли.другие.способы,.которыми.мы.могли.бы.реализовать.такую.пару.сценари- ев?.Конечно..Но,.рассказав.об.этой.паре.сценариев,.мы.хотели.дать.вам.представ- ление.о.возможностях.bash.и.показать,.насколько.мощной.может.быть.комбинация,.
как.может.показаться.на.первый.взгляд,.простых.шагов.
Выводы
Поддержание.удаленного.доступа.к.целевой.системе.—.важный.шаг.во.время.теста.
на.проникновение..Это.позволяет.вам.при.необходимости.вернуться.в.целевую.сеть..
Отличительной.чертой.хорошего.инструмента.удаленного.доступа.является.то,.что.
ваши.действия.остаются.незамеченными..Учитывайте.это.при.выборе.метода.
Описанные.методы.перестанут.работать,.если.целевая.система.будет.перезагруже- на..Для.решения.этой.проблемы.необходимо.связать.их.запуск.со.сценарием.входа.
в.систему,.процессом.cron.или.другим.механизмом,.который.будет.выполняться.
при.загрузке.системы.
В.следующей.части.мы.рассмотрим,.как.командную.строку.и.bash.можно.исполь- зовать.для.администрирования.сети.и.системы.обеспечения.безопасности.
Упражнения
1.. Напишите.команду.для.установки.обратного.канала.SSH.в.целевой.системе..
Целевая.система.должна.прослушивать.порт.22,.и.злоумышленник.должен.
выполнить.обратное.подключение,.используя.локальный.порт.1337..IP-адрес.
системы-злоумышленника.—.10.0.0.148,.пользователь.—.
root
2.. Зашифруйте.
RemoteRat.sh
.одним.из.способов,.описанных.в.главе.14.
3.. Доработайте.
LocalRat.sh
.так,.чтобы.он.автоматически.отправлял.серию.команд,.
которые.выполнялись.бы.в.целевой.системе.в.то.время,.когда.
RemoteRat.sh устанавливает.соединение..Список.команд.можно.прочитать.из.файла.в.системе.
злоумышленника,.а.вывод.команды.можно.сохранить.в.файл.в.этой.же.системе.
Чтобы.просмотреть.дополнительные.ресурсы.и.получить.ответы.на.эти.вопросы,.
зайдите.на.сайт.
https://www.rapidcyberops.com/
Часть IV
Администрирование систем обеспечения безопасности
Unix.дружественен.к.пользователям;.он.
избирателен.к.тем,.кто.называет.себя.его.
другом.
Автор неизвестен
В.части.IV.мы.рассмотрим,.как.администраторы.могут.исполь- зовать.командную.строку.для.мониторинга.и.поддержания.без- опасности.своих.систем.и.сетей.
17
Пользователи, группы и права доступа
Возможность.управления.правами.доступа.пользователей.очень.важна.при.обеспе- чении.безопасности.любой.системы..Пользователям.должны.быть.предоставлены.
только.те.права.доступа,.которые.необходимы.им.для.выполнения.работы.—.это.
принцип наименьших привилегий.
В.большинстве.случаев.для.изменения.прав.доступа.потребуется,.чтобы.вы.были.
владельцем.файла/каталога.или.имели.права.
root
/
administrator
Будьте осторожны при настройке прав доступа к файлам. При изменении прав доступа снижается безопасность, а система может потерять свою функциональ- ность или стать уязвимой для атаки.
Используемые команды
В.этой.главе.мы.рассмотрим.команды.
chmod
,.
chown
,.
getfacl
,.
groupadd
,.
setfacl
,.
useradd
.и.
usermod
,.предназначенные.для.администрирования.систем.Linux..
Для.администрирования.Windows.используются.команды.
icacls
.и.
net chmod
Команда.
chmod
.применяется.для.изменения.прав.доступа.к.файлам.операционной.
системы.Linux..Она.позволяет.изменять.три.типа.прав.доступа:.на.чтение.(
r
),.за- пись.(
w
).и.выполнение.(
x
)..Полномочия.на.чтение,.запись.и.выполнение.файла.
или.каталога.могут.быть.установлены.для.пользователя.(
u
),.группы.(
g
).и.других.
пользователей.(
o
).
Глава 17. Пользователи, группы и права доступа 245
Общие параметры команды
-f
.—.не.выводить.сообщения.об.ошибках.
-R
.—.рекурсивно.изменять.файлы.и.каталоги.
chown
Команда.
chwon
.используется.в.Linux.для.изменения.владельца.файла.или.каталога.
Общие параметры команды
-f
.—.не.выводить.сообщения.об.ошибках.
-R
.—.рекурсивно.изменять.файлы.и.каталоги.
getfacl
Команда.
getfacl
.отображает.список.разрешений.и.управления.доступом.(ACL).
для.файла.или.каталога.Linux.
Общие параметры команды
-d
.—.просмотреть.предлагаемый.по.умолчанию.список.управления.доступом.
-R
.—.рекурсивно.отображать.списки.управления.доступом.для.всех.файлов.
и.каталогов.
groupadd
Команда.
groupadd
.создает.в.Linux.новую.группу.
Общие параметры команды
-f
.—.выйти,.если.группа.уже.существует.
setfacl
Команда.
setfacl
.предназначена.для.установки.файла.управления.доступом.(ACL).
Linux.или.каталога.
Общие параметры команды
-b
.—.удалить.все.списки.управления.доступом.
-m
.—.изменить.указанные.списки.управления.доступом.
246 Часть IV • Администрирование систем обеспечения безопасности
-R
.—.рекурсивно.установить.списки.управления.доступом.для.всех.файлов.
и.каталогов.
-s
.—.установить.указанный.список.управления.доступом.
-x
.—.удалить.указанный.список.управления.доступом.
useradd
Команда.
useradd
.применяется.для.добавления.пользователя.в.Linux.
Общие параметры команды
-g
.—.добавить.в.указанную.группу.нового.пользователя.
-m
.—.создать.домашнюю.папку.для.пользователя.
usermod
Команда.
usermod
.предназначена.для.изменения.в.Linux.пользовательских.параме- тров,.таких.как.местоположение.домашнего.каталога.и.группы.
Общие параметры команды
-d
.—.установить.домашний.каталог.пользователя.
-g
.—.установить.группу.пользователей.
icacls
Команда.
icacls
.используется.для.настройки.в.операционных.системах.Windows.
списков.управления.доступом.
Общие параметры команды
/deny
.—.явно.запретить.указанному.пользователю.предусмотренные.полно- мочия.
/grant
.—.явно.разрешить.указанному.пользователю.предусмотренные.полно- мочия.
/reset
.—.сбросить.списки.управления.доступом.к.заданным.по.умолчанию.
полномочиям.
Глава 17. Пользователи, группы и права доступа 247
net
Команда.
net
.в.среде.Windows.предназначена.для.управления.пользователями,.
группами.и.другими.конфигурациями.
Общие параметры команды
group
.—.параметр.команды.для.добавления.или.изменения.группы.
user
.—.параметр.команды.для.добавления.или.изменения.пользователя.
Пользователи и группы
Пользователь.—.это.субъект,.которому.разрешено.управлять.определенной.систе- мой..Группы.используются.для.классификации.определенного.набора.пользовате- лей..Группе.назначаются.права,.которые.будут.применяться.ко.всем.членам.группы..
Это.основа.управления.доступом.на.ролевой.основе.
Создание пользователей и групп в Linux
В.Linux.пользователи.создаются.с.помощью.команды.
useradd
..Чтобы.пользователя.
jsmith
.добавить.в.систему,.введите.следующее:
sudo useradd -m jsmith
Опция.
-m
.позволяет.создать.для.пользователя.домашний.каталог,.что.в.большин- стве.случаев.приветствуется..Скорее.всего,.вы.также.захотите.определить.для.
пользователя.предварительный.пароль..Это.можно.сделать.с.помощью.команды.
passwd
,.за.которой.следует.имя.пользователя:
sudo passwd jsmith
После.выполнения.этой.команды.вам.будет.предложено.ввести.новый.пароль..
Группы.создаются.с.помощью.команды.
groupadd
.таким.же.образом:
sudo groupadd accounting
Чтобы.убедиться.в.том,.что.новая.группа.успешно.создана,.просмотрите.файл.
/etc/
group
:
$ sudo grep accounting /etc/group accounting:x:1002:
248 Часть IV • Администрирование систем обеспечения безопасности
Добавить.пользователя.
jsmith
.в.новую.учетную.группу.можно.таким.образом:
sudo usermod -g accounting jsmith
Если.вы.хотите.добавить.пользователя.
jsmith
.сразу.в.несколько.групп,.введите.
команду.
usermod
.с.параметрами.
-a
.и.
-G
:
sudo usermod -a -G marketing jsmith
Параметр.
-a
.указывает.
usermod
.добавить.группу,.а.параметр.
-G
.определяет.группу..
При.использовании.параметра.
-G
.можно.указать.список.добавляемых.групп,.раз- делив.имена.группы.запятыми.
Чтобы.просмотреть.группы,.к.которым.принадлежит.
jsmith
,.используйте.коман- ду.
groups
:
$ groups jsmith jsmith : accounting marketing
Создание пользователей и групп в Windows
Команда.
net
.применяется.в.Windows.для.создания.и.управления.пользователя- ми.и.группами..Чтобы.добавить.пользователя.
jsmith
.в.систему,.введите.сле- дующее:
$ net user jsmith //add
The command completed successfully.
Для успешного выполнения команды вам нужно запустить командную строку
Windows или Git Bash от имени администратора. При запуске в командной строке
Windows перед командой add вам потребуется только один слеш.
Команду.
net
.также.можно.использовать.для.изменения.пароля.пользователя..
Для.этого.просто.введите.имя.пользователя.с.паролем,.который.хотите.установить:
net user jsmith somepasswd
Чтобы.при.запросе.пароля.Windows.не.отображала.его.на.экране,.можете.заменить.
выводимые.символы.пароля.символами.
*
..Обратите.внимание:.в.Git.Bash.или.
Cygwin.эта.функция.должным.образом.не.работает.
Чтобы.просмотреть.список.пользователей.в.системе,.введите.команду.
net user
.без.
каких-либо.дополнительных.параметров:
Глава 17. Пользователи, группы и права доступа 249
$ net user
User accounts for \\COMPUTER
Administrator Guest jsmith
The command completed successfully.
Управление.группами,.связанными.с.доменом.Windows,.осуществляется.с.по- мощью.команды.
net group
..Команда.
net localgroup
.предназначена.для.управле- ния.локальными.системными.группами..Чтобы.добавить.группу.под.названием.
accounting
,.введите.следующее:
net localgroup accounting //add
Чтобы.добавить.пользователя.
jsmith
.в.новую.учетную.группу,.напишите:
net localgroup accounting jsmith //add
Для.подтверждения,.что.
jsmith
.был.добавлен.в.качестве.члена.группы,.используйте.
команду.
net localgroup
:
$ net localgroup accounting
Alias name accounting
Comment
Members jsmith
The command completed successfully.
Кроме.того,.команду.
net user
.можно.использовать.для.просмотра.всех.групп,.в.ко- торые.входит.пользователь.
jsmith
,.и.другой.полезной.информации:
$ net user jsmith
User name jsmith
Full Name
Comment
User's comment
Country/region code 000 (System Default)
Account active Yes
Account expires Never
Password last set 2/26/2015 10:40:17 AM
Password expires Never
Password changeable 2/26/2015 10:40:17 AM
Password required Yes
User may change password Yes
Workstations allowed All
Logon script
250 Часть IV • Администрирование систем обеспечения безопасности
User profile
Home directory
Last logon 12/27/2018 9:47:22 AM
Logon hours allowed All
Local Group Memberships *accounting*Users
Global Group memberships *None
The command completed successfully.
Права доступа к файлам и списки управления доступом
После.создания.пользователей.и.групп.им.можно.назначить.полномочия..Полно- мочия.определяют,.что.пользователь.или.группа.может.делать.в.системе,.а.что.—.
не.может.
Права доступа к файлам Linux
Пользователям.и.группам.могут.быть.назначены.основные.права.доступа.к.файлам.
в.Linux..Существует.три.основных.вида.полномочий:.полномочия.на.чтение.(
r
),.
на.запись.(
w
).и.на.выполнение.(
x
)..Команду.
chown
.можно.применять.для.передачи.
полномочий.на.использование.(владение).файлом.от.одного.пользователя.друго- му..Например,.присвоить.права.на.владение.и.использование.файла.
report.txt пользователю.
jsmith
.можно.так:
chown jsmith report.txt
Команда.
chown
.также.может.использоваться.для.смены.владельца.группы.файла.
report.txt
.на.
accounting
:
chown :accounting report.txt
Следующая.команда.предоставляет.пользователю.права.на.чтение/запись/вы- полнение.файла,.владельцу.группы.—.на.чтение/запись.файла,.а.всем.другим.
пользователям.—.на.чтение/выполнение.файла.
report.txt
:
chmod u=rwx,g=rw,o=rx report.txt
Проще.предоставить.права.с.помощью.команды.
chmod
.и.восьмеричных.значений.
(0–7)..Права,.предоставленные.в.предыдущем.коде,.можно.задать.следующим.об- разом:
chmod 765 report.txt
Глава 17. Пользователи, группы и права доступа 251
Восьмеричное.число.
765
.означает.определенные.права.доступа..Каждая.цифра.
разбивается.на.свое.двоичное.числовое.представление,.где.каждый.бит.соот- ветствует.правам.на.чтение,.запись.и.выполнение..На.рис..17.1.показано,.как.
разбивается.
765
Рис. 17.1. Определяем права доступа chmod в восьмеричной системе счисления
Двоичный.символ.1.в.любой.позиции.указывает,.что.разрешение.предоставлено.
Вы.можете.использовать.команду.
getfacl
.для.отображения.прав.для.доступа.
к.файлу.
report.txt
:
$ getfacl report.txt
# файл: report.txt
# владелец: fsmith
# группа: accounting user::rwx group::rw- other:r-x
Списки управления доступом Linux. К.каталогу.или.файлу.можно.применить.
расширенные.полномочия,.где.отдельным.пользователям.или.группам.могут.быть.
предоставлены.определенные.права.доступа..Как.отмечалось.ранее,.это.называется.
списком управления доступом (ACL)..Списки.управления.доступом.имеют.различ- ные.цели,.но.обычно.используются.для.предоставления.прав.доступа.приложениям.
или.службам.при.ограничении.пользователей.
Для.добавления.или.удаления.полномочий.в.списках.управления.доступом.можно.
использовать.команду.
setfacl
..Чтобы.пользователю.
djones
.предоставить.права.на.
чтение/запись/выполнение.файла.
report.txt
,.напишите.следующее:
setfacl -m u:djones:rwx report.txt
Параметр.
-m
.указывает,.что.в.списках.управления.доступом.требуется.изменить.
или.добавить.запись.
252 Часть IV • Администрирование систем обеспечения безопасности
С.помощью.команды.
getfacl
.можно.проверить,.что.список.управления.доступом.
был.изменен:
$ getfacl report.txt
# файл: report.txt
# владелец: fsmith
# группа: accounting user::rwx user:djones:rwx group::rw- mask::rwx other:r-x
Для.удаления.записи.ACL.добавьте.опцию.
-x
:
setfacl -x u:djones report.txt
Права доступа к файлам Windows
Команда.
icacls
.в.среде.Windows.может.использоваться.для.просмотра.полномо- чий.и.списков.управления.доступом.к.файлу/каталогу.и.управления.ими..Чтобы.
просмотреть.текущие.права.доступа.к.файлу.
report.txt
,.выполните.следующие.
действия:
$ icacls report.txt report.txt NT AUTHORITY\SYSTEM:(F)
BUILTIN\Administrators:(F)
Successfully processed 1 files; Failed processing 0 files
В.табл..17.1.перечислены.пять.простых.полномочий.для.файлов,.используемые.
в.Windows.
Таблица 17.1. Простые полномочия доступа к файлам Windows
Полномочия
Значение
F
Максимальные.(Full)
M
Изменение.(Modify)
RX
Чтение.и.выполнение.(Read.and.execute)
R
Только.чтение.(Read.only)
W
Только.запись.(Write.only)
Глава 17. Пользователи, группы и права доступа 253
Чтобы.предоставить.пользователю.
jsmith
.права.на.чтение.и.запись.файла.
report.txt
,.выполните.следующие.действия.
$ icacls report.txt //grant jsmith:rw
Для.проверки.полномочий.можно.повторно.использовать.команду.
icacls
:
$ icacls report.txt report.txt COMPUTER\jsmith:(R,W)
NT AUTHORITY\SYSTEM:(F)
BUILTIN\Administrators:(F)
Successfully processed 1 files; Failed processing 0 files
Полномочия Windows выходят далеко за рамки простых прав доступа к файлам и могут предоставить вам гораздо более детальный контроль. Дополнительные сведения можно получить в документации по команде icacls (http://bit.ly/2HSJCyU).
Внесение массовых изменений
Теперь,.когда.вы.знаете,.как.с.помощью.командной.строки.изменять.права.доступа,.
для.выполнения.более.сложных.действий.можете.делать.это.в.сочетании.с.другими.
командами..Команда.
find
.особенно.полезна.для.массовых.изменений.прав.доступа.
к.файлам.
Например,.чтобы.найти.в.текущем.рабочем.каталоге.все.файлы,.принадлежащие.
пользователю.
jsmith
,.напишите.следующее:
find . -type f -user jsmith
Чтобы.найти.все.файлы.в.текущей.рабочей.папке,.принадлежащей.пользователю.
jsmith
,.и.изменить.имя.владельца.этих.файлов.на.
mwilson
,.введите:
find . -type f -user jsmith -exec chown mwilson '{}' \;
Чтобы.найти.все.файлы.в.текущем.рабочем.каталоге,.содержащие.слово.secret,.
и.сделать.их.доступными.только.владельцу,.введите.такие.команды:
find . -type f -name '*secret*' -exec chmod 600 '{}' \;
Эти.однострочные.команды.могут.быть.полезны.во.время.криминалистического.
анализа.при.попытке.идентифицировать.файлы,.принадлежащие.конкретному.
пользователю,.или.для.защиты.файловой.системы.при.развертывании.веб-сервера.
и.других.интернет-систем.