Файл: Paul Troncone and Carl AlbingCybersecurity Ops with bashAttack, Defend, and Analyze from the.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 454
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Глава 15..Инструмент:.Fuzzer.........................................................................................................226
Реализация......................................................................................................................................227
Выводы.............................................................................................................................................231
Упражнения...................................................................................................................................232
Глава 16..Создание.точки.опоры...................................................................................................233
Используемые.команды.............................................................................................................233
Бэкдор.одной.строкой.................................................................................................................234
Пользовательский.инструмент.удаленного.доступа........................................................237
Выводы.............................................................................................................................................242
Упражнения...................................................................................................................................242
Часть IV. Администрирование систем обеспечения безопасности
Глава 17..Пользователи,.группы.и.права.доступа...................................................................244
Используемые.команды.............................................................................................................244
Пользователи.и.группы..............................................................................................................247
Права.доступа.к.файлам.и.списки.управления.доступом..............................................250
Внесение.массовых.изменений................................................................................................253
Выводы.............................................................................................................................................254
Упражнения...................................................................................................................................254
Глава 18..Добавление.записей.в.журнал....................................................................................255
Используемые.команды.............................................................................................................255
Запись.событий.в.журнал.Windows.......................................................................................256
Создание.журналов.Linux.........................................................................................................257
Выводы.............................................................................................................................................258
Упражнения...................................................................................................................................258
Глава 19..Инструмент:.мониторинг.доступности.системы..................................................259
Используемые.команды.............................................................................................................259
Реализация......................................................................................................................................260
Выводы.............................................................................................................................................262
Упражнения...................................................................................................................................262
10 Оглавление
Глава 20..Инструмент:.проверка.установленного.программного.обеспечения............263
Используемые.команды.............................................................................................................264
Реализация......................................................................................................................................266
Определение.остального.программного.обеспечения.....................................................267
Выводы.............................................................................................................................................269
Упражнения...................................................................................................................................269
Глава 21..Инструмент:.проверка.конфигурации.....................................................................270
Реализация......................................................................................................................................270
Выводы.............................................................................................................................................275
Упражнения...................................................................................................................................276
Глава 22..Инструмент:.аудит.учетных.записей........................................................................277
Меня.взломали?............................................................................................................................277
Проверяем,.не.взломан.ли.пароль..........................................................................................278
Проверяем,.не.взломан.ли.адрес.электронной.почты......................................................280
Выводы.............................................................................................................................................285
Упражнения...................................................................................................................................285
Глава 23..Заключение........................................................................................................................286
Эрин.и.Киере..Вы.приносите.радость.каждую.
минуту.моей.жизни.
Пол
Синтии.и.нашим.сыновьям.Грегу,.Эрику.и.Эндрю.
Карл
Введение
В.войне.самое.главное.—.быстрота:.нельзя.упускать.
возможности
1
Сунь-цзы. Искусство войны
В.наше.время.о.командной.строке.часто.забывают..Новых.специалистов.по.кибербе- зопасности.манят.инструменты.с.ярким.графическим.интерфейсом..Более.опытные.
работники.или.не.знают.о.возможностях.командной.строки,.или.недооценивают.
их..При.этом.командная.строка.предоставляет.множество.функций.и.должна.быть.
в.наборе.инструментальных.средств.каждого.специалиста..К.примеру,.кажущаяся.
простой.команда.
tail
,.выводящая.последние.несколько.строк.конкретного.файла,.
состоит.более.чем.из.2000.строк.кода.на.С..Похожий.инструмент.можно.создать.с.ис- пользованием.Python.или.другого.языка.программирования,.но.зачем,.если.доступ.
к.этим.возможностям.можно.получить,.просто.введя.одно.слово.в.командной.строке?
Вдобавок.ко.всему,.изучив.принципы.и.методы.применения.командной.строки.для.
решения.сложных.задач,.вы.сможете.лучше.понять,.как.функционирует.операци- онная.система..Гуру.кибербезопасности.понимают.не.только.то,.как.использовать.
инструменты,.но.и.как.они.работают.на.фундаментальном.уровне.
Прочитав.эту.книгу,.вы.научитесь.грамотно.использовать.сложные.команды.Linux.
и.оболочку.bash,.чтобы.улучшить.свои.навыки,.необходимые.специалистам.по.
безопасности..С.этими.навыками.вы.сможете.быстро.создавать.и.моделировать.
сложные.функции.с.помощью.лишь.одной.строки.конвейерных.команд.
Хотя.изначально.оболочка.bash.и.команды,.которые.мы.рассмотрим.в.книге,.были.
созданы.для.семейства.операционных.систем.Unix.и.Linux,.теперь.они.стали.уни- версальными.и.их.можно.применять.и.в.Linux,.и.в.Windows,.и.в.macOS.
1.
Приведенная.автором.цитата.звучит.так:.What.is.of.the.greatest.importance.in.war.is.
extraordinary.speed:.one.cannot.afford.to.neglect.opportunity..
Надежность скриптов 13
Для кого эта книга
Книга.«Bash.и.кибербезопасность».предназначена.для.тех,.кто.желает.научиться.ра- ботать.с.командной.строкой.в.контексте.компьютерной.безопасности..Наша.цель.—.
не.заменить.существующие.инструменты.скриптами.для.командной.строки,.а,.ско- рее,.научить.вас.эффективно.использовать.командную.строку.для.улучшения.
существующего.функционала.
На.протяжении.всей.книги.мы.приводим.примеры.таких.методов.безопасности,.
как.сбор.данных,.их.анализ.и.тестирование.на.проникновение.в.систему..Цель.этих.
примеров.—.продемонстрировать.возможности.командной.строки.и.познакомить.
вас.с.некоторыми.фундаментальными.методами,.используемыми.в.инструментах.
более.высокого.уровня.
Мы.предполагаем,.что.вы.уже.знакомы.с.интерфейсом.командной.строки,.знаете.
основы.кибербезопасности,.программирования.и.операционных.систем.Linux.
и.Windows..Предварительное.знание.bash.приветствуется,.но.не.обязательно.
Эта.книга.не.является.введением.в.программирование,.хотя.в.части.I.и.освещены.
некоторые.общие.понятия.
Bash или bash
В.книге.мы.придерживаемся.такого.правила:.если.предложение.не.начинается.со.
слова.bash.и.это.слово.не.относится.к.программе.Windows.Git.Bash,.название.обо- лочки.bash.пишем.со.строчной.буквы.b..Тем.самым.мы.опираемся.на.руководство.от.
Чета.Реми.(Chet.Ramey),.который.в.данный.момент.поддерживает.это.программное.
обеспечение..Чтобы.больше.узнать.о.bash,.посетите.сайт.bash.(
http://bit.ly/2I0ZqzU
)..
Чтобы.получить.информацию.о.различных.релизах.bash,.посмотреть.справочную.
документацию.и.примеры,.зайдите.на.страницу.
http://bit.ly/2FCjMwi
Надежность скриптов
Скрипты,.приведенные.в.книге.в.качестве.примеров,.написаны.с.обучающей.целью..
Они.могут.быть.недостаточно.эффективными.или.надежными.для.применения.
на.промышленном.уровне..Будьте.осторожны,.если.решите.использовать.их.в.ре- альной.среде..Убедитесь,.что.следуете.передовым.методикам.программирования,.
и.перед.размещением.протестируйте.скрипты.
14 Введение
Рабочая среда
Для.развития.навыков.в.области.безопасности,.работы.с.командной.строкой.
и.bash.в.конце.каждой.главы.вас.ждут.вопросы.и.практические.задания..Решения.
для.некоторых.заданий.и.дополнительные.ресурсы.можно.найти.на.сайте.
https://
www.rapidcyberops.com/
Условные обозначения
В.книге.применяются.следующие.типографские.обозначения.
Курсив
Обозначает.новые.термины.и.слова,.на.которых.сделан.акцент.
Рубленый шрифт
Им.выделены.URL,.адреса.электронной.почты,.названия.элементов.интер- фейса.
Моноширинный шрифт
Обозначает.программные.элементы:.названия.команд.переменных.или.функ- ций,.типы.данных,.операторы.и.ключевые.слова..Им.также.выделены.имена.
и.расширения.файлов,.названия.папок.
Этот элемент обозначает совет, подсказку или предложение.
Такой элемент обозначает примечание.
Данный элемент обозначает предупреждение.
Использование примеров кода
Эта.книга.призвана.помочь.вам.в.работе..Примеры.кода.из.нее.вы.можете.исполь- зовать.в.своих.программах.и.документации..Если.объем.кода.несущественный,.
связываться.с.нами.для.получения.разрешения.не.нужно..Например,.для.написания.
программы,.использующей.несколько.фрагментов.кода.из.этой.книги,.разрешения.
не.требуется..А.вот.для.продажи.или.распространения.компакт-диска.с.примерами.
из.книг.издательства.O’Reilly.нужно.получить.разрешение..Ответы.на.вопросы.
с.использованием.цитат.из.этой.книги.и.примеров.кода.разрешения.не.требуют..
Но.для.включения.объемных.примеров.кода.из.этой.книги.в.документацию.по.
вашему.программному.продукту.разрешение.понадобится.
Мы.приветствуем.указание.ссылки.на.источник,.но.не.делаем.это.обязательным.тре- бованием..Такая.ссылка.обычно.включает.имя.автора,.название.книги,.название.из- дательства.и.ISBN..Например:.«Тронкон П., Олбинг К..Bash.и.кибербезопасность:.атака,.
защита.и.анализ.из.командной.строки.Linux..—.СПб.:.Питер,.2019..978-5-4461-1514-3».
Если.вам.покажется,.что.использование.кода.примеров.выходит.за.рамки.оговорен- ных.выше.условий.и.разрешений,.свяжитесь.с.нами.по.адресу.
permissions@oreilly.com
Благодарности
Мы.хотели.бы.поблагодарить.основных.научных.редакторов.за.их.знания.и.по- мощь.в.уточнении.информации,.содержащейся.в.данной.книге..Тони.Ли.(Tony.
Lee),.главный.технический.директор.Cylance.Inc.,.—.энтузиаст.в.области.безопас- ности..Тони.регулярно.делится.своими.знаниями.на.LinkedIn.(
http://bit.ly/2HYCIIw
).
и.SecuritySynapse.(
http://bit.ly/2FEwYka
)..Чет.Реми.(Chet.Ramey),.Senior.Technology.
Architect.на.факультете.информационных.технологий.Университета.Кейс.Вестерн.
Резерв.(Case.Western.Reserve.University).(
http://bit.ly/2HZHaGW
),.в.данный.момент.
является.специалистом.по.сопровождению.ПО.в.bash.
Мы.также.благодарим.Билла.Купера.(Bill.Cooper),.Джосайю.Дикстра.(Josiah.
Dykstra),.Рика.Мессиера.(Ric.Messier),.Кэмерона.Ньюхема.(Cameron.Newham),.
Сандру.Скьяво.(Sandra.Schiavo).и.Дж..П..Воссена.(JP.Vossen).за.советы.и.крити- ческие.замечания.
И.наконец,.мы.хотели.бы.поблагодарить.всю.команду.O’Reily,.в.частности.Нан.Бар- бер.(Nan.Barber),.Джона.Девинса.(John.Devins),.Майка.Лукидеса.(Mike.Loukides),.
Шерон.Уилки.(Sharon.Wilkey),.Эллен.Траутмэн-Зейг.(Ellen.Troutman-Zaig),.
Кристину.Эдвардс.(Christina.Edwards).и.Вирджинию.Уилсон.(Virginia.Wilson).
Благодарности 15
От издательства
Ваши.замечания,.предложения,.вопросы.отправляйте.по.адресу.
comp@piter.com
(.издательство.«Питер»,.компьютерная.редакция).
Мы.будем.рады.узнать.ваше.мнение!
На.веб-сайте.издательства.
www.piter.com
.вы.найдете.подробную.информацию.о.на- ших.книгах.
Часть I
Основы
Дайте.мне.шесть.часов.на.то,.чтобы.срубить.
дерево,.и.первые.четыре.я.буду.точить.
топор.
Автор неизвестен
В.части.I.мы.начнем.с.азов.работы.с.командной.строкой,.обо- лочкой.bash.и.регулярными.выражениями,.а.также.рассмотрим.
фундаментальные.принципы.кибербезопасности.
1
Работа с командной строкой
Интерфейс.командной.строки.компьютера.предоставляет.вам.тесную.связь.с.опе- рационной.системой.(ОС)..Командная.строка.содержит.огромное.количество.
функций,.отточенных.и.отшлифованных.за.десятилетия.использования..К.со- жалению,.способность.взаимодействовать.с.ОС.с.помощью.командной.строки.
стремительно.утрачивается.—.все.чаще.применяют.графические.пользовательские.
интерфейсы.(graphical.user.interfaces,.GUI),.которые.за.счет.скорости.и.гибкости.
зачастую.облегчают.работу,.но.не.дают.возможности.пользователю.задействовать.
скрытые.функции.
Умение.эффективно.работать.с.командной.строкой.—.важнейший.навык.для.специа- листов.по.безопасности.и.администрированию..Он.важен.для.работы.со.многими.
инструментами.в.этой.сфере,.такими.как.Metasploit,.Nmap.и.Snort..Во.время.тести- рования.на.возможность.проникновения.в.систему.при.взаимодействии.с.целевой.
ОС.вашим.единственным.вариантом.может.оказаться.использование.интерфейса.
командной.строки,.в.особенности.на.ранних.стадиях.вторжения.
Чтобы.создать.прочный.«фундамент»,.мы.начнем.с.общей.информации.о.команд- ной.строке.и.ее.составляющих,.а.затем.посмотрим,.как.ею.можно.воспользоваться.
для.улучшения.характеристик.кибербезопасности.
Определение командной строки
В.этой.книге.термином.«командная строка».мы.будем.обозначать.специальную.
программу,.назначение.которой.—.управление.операционной.системой.с.помо- щью.текстовых.команд,.вводимых.в.окне.приложения.(интерфейсе.командной.
строки).без.применения.графического.пользовательского.интерфейса.(GUI).
и.встроенных.вкладок..Интерфейс.командной.строки.дает.возможность.написа- ния.скриптов.(сценариев,.script).
Глава 1. Работа с командной строкой 19
Чтобы.эффективно.использовать.командную.строку,.вам.нужно.понимать.особен- ности.и.варианты.существующих.команд,.а.также.уметь.с.помощью.языка.сцена- риев.упорядочить.эти.команды.вместе.
В.книге.мы.познакомим.вас.более.чем.с.40.командами,.работающими.как.в.ОС.Linux,.
так.и.в.Windows,.а.также.с.различными.встроенными.функциями.и.ключевыми.сло- вами.оболочки..Большая.часть.команд.появилась.в.среде.Linux,.но,.как.вы.увидите.
далее,.существует.множество.способов.запустить.их.и.на.базе.Windows.
Почему именно bash
Для.создания.скриптов.мы.выбрали.оболочку.bash.и.язык.команд..Оболочка.bash.
существует.уже.несколько.десятилетий,.доступна.почти.в.каждой.версии.Linux.
и.даже.появилась.в.Windows..Таким.образом,.оболочка.bash.стала.идеальным.
инструментом.для.операций.по.обеспечению.безопасности,.поскольку.у.нее.меж- платформенные.методы.и.сценарии..Распространенность.bash.также.дает.опре- деленное.преимущество.специалистам,.тестирующим.на.устойчивость.к.атакам.
и.вторжениям,.поскольку.во.многих.случаях.им.не.нужно.устанавливать.в.системе.
дополнительную.инфраструктуру.поддержки.или.интерпретатор.
Примеры использования командной строки
В.книге.часто.приводятся.примеры.использования.командной.строки..Примеры.
однострочных.команд.будут.выглядеть.следующим.образом:
ls -l
Если.в.примере.с.однострочной.командой.показывается.также.и.результат,.он.будет.
выглядеть.так:
$ ls –l
-rw-rw-r-- 1 dave dave 15 Jun 29 13:49 hashfilea.txt
-rwxrw-r-- 1 dave dave 627 Jun 29 13:50 hashsearch.sh
Обратите.внимание:.в.примере.с.результатом.присутствует.символ.
$
..Символ.
$
,.ко- торый.вы.видите.в.начале.команды,.не.является.частью.этой.команды,.а.показывает.
простой.фрагмент.командной.строки.оболочки..Это.позволит.вам.различать.команду.
(в.том.виде,.в.каком.ее.надо.ввести).и.ее.результат.в.терминале..Пустая.строка,.отделя- ющая.в.примерах.команду.от.результата,.при.реальном.запуске.команды.появляться.
не.будет..Опять-таки.она.нужна.для.разделения.команды.и.ее.результата.
Реализация......................................................................................................................................227
Выводы.............................................................................................................................................231
Упражнения...................................................................................................................................232
Глава 16..Создание.точки.опоры...................................................................................................233
Используемые.команды.............................................................................................................233
Бэкдор.одной.строкой.................................................................................................................234
Пользовательский.инструмент.удаленного.доступа........................................................237
Выводы.............................................................................................................................................242
Упражнения...................................................................................................................................242
Часть IV. Администрирование систем обеспечения безопасности
Глава 17..Пользователи,.группы.и.права.доступа...................................................................244
Используемые.команды.............................................................................................................244
Пользователи.и.группы..............................................................................................................247
Права.доступа.к.файлам.и.списки.управления.доступом..............................................250
Внесение.массовых.изменений................................................................................................253
Выводы.............................................................................................................................................254
Упражнения...................................................................................................................................254
Глава 18..Добавление.записей.в.журнал....................................................................................255
Используемые.команды.............................................................................................................255
Запись.событий.в.журнал.Windows.......................................................................................256
Создание.журналов.Linux.........................................................................................................257
Выводы.............................................................................................................................................258
Упражнения...................................................................................................................................258
Глава 19..Инструмент:.мониторинг.доступности.системы..................................................259
Используемые.команды.............................................................................................................259
Реализация......................................................................................................................................260
Выводы.............................................................................................................................................262
Упражнения...................................................................................................................................262
10 Оглавление
Глава 20..Инструмент:.проверка.установленного.программного.обеспечения............263
Используемые.команды.............................................................................................................264
Реализация......................................................................................................................................266
Определение.остального.программного.обеспечения.....................................................267
Выводы.............................................................................................................................................269
Упражнения...................................................................................................................................269
Глава 21..Инструмент:.проверка.конфигурации.....................................................................270
Реализация......................................................................................................................................270
Выводы.............................................................................................................................................275
Упражнения...................................................................................................................................276
Глава 22..Инструмент:.аудит.учетных.записей........................................................................277
Меня.взломали?............................................................................................................................277
Проверяем,.не.взломан.ли.пароль..........................................................................................278
Проверяем,.не.взломан.ли.адрес.электронной.почты......................................................280
Выводы.............................................................................................................................................285
Упражнения...................................................................................................................................285
Глава 23..Заключение........................................................................................................................286
Эрин.и.Киере..Вы.приносите.радость.каждую.
минуту.моей.жизни.
Пол
Синтии.и.нашим.сыновьям.Грегу,.Эрику.и.Эндрю.
Карл
Введение
В.войне.самое.главное.—.быстрота:.нельзя.упускать.
возможности
1
Сунь-цзы. Искусство войны
В.наше.время.о.командной.строке.часто.забывают..Новых.специалистов.по.кибербе- зопасности.манят.инструменты.с.ярким.графическим.интерфейсом..Более.опытные.
работники.или.не.знают.о.возможностях.командной.строки,.или.недооценивают.
их..При.этом.командная.строка.предоставляет.множество.функций.и.должна.быть.
в.наборе.инструментальных.средств.каждого.специалиста..К.примеру,.кажущаяся.
простой.команда.
tail
,.выводящая.последние.несколько.строк.конкретного.файла,.
состоит.более.чем.из.2000.строк.кода.на.С..Похожий.инструмент.можно.создать.с.ис- пользованием.Python.или.другого.языка.программирования,.но.зачем,.если.доступ.
к.этим.возможностям.можно.получить,.просто.введя.одно.слово.в.командной.строке?
Вдобавок.ко.всему,.изучив.принципы.и.методы.применения.командной.строки.для.
решения.сложных.задач,.вы.сможете.лучше.понять,.как.функционирует.операци- онная.система..Гуру.кибербезопасности.понимают.не.только.то,.как.использовать.
инструменты,.но.и.как.они.работают.на.фундаментальном.уровне.
Прочитав.эту.книгу,.вы.научитесь.грамотно.использовать.сложные.команды.Linux.
и.оболочку.bash,.чтобы.улучшить.свои.навыки,.необходимые.специалистам.по.
безопасности..С.этими.навыками.вы.сможете.быстро.создавать.и.моделировать.
сложные.функции.с.помощью.лишь.одной.строки.конвейерных.команд.
Хотя.изначально.оболочка.bash.и.команды,.которые.мы.рассмотрим.в.книге,.были.
созданы.для.семейства.операционных.систем.Unix.и.Linux,.теперь.они.стали.уни- версальными.и.их.можно.применять.и.в.Linux,.и.в.Windows,.и.в.macOS.
1.
Приведенная.автором.цитата.звучит.так:.What.is.of.the.greatest.importance.in.war.is.
extraordinary.speed:.one.cannot.afford.to.neglect.opportunity..
Надежность скриптов 13
Для кого эта книга
Книга.«Bash.и.кибербезопасность».предназначена.для.тех,.кто.желает.научиться.ра- ботать.с.командной.строкой.в.контексте.компьютерной.безопасности..Наша.цель.—.
не.заменить.существующие.инструменты.скриптами.для.командной.строки,.а,.ско- рее,.научить.вас.эффективно.использовать.командную.строку.для.улучшения.
существующего.функционала.
На.протяжении.всей.книги.мы.приводим.примеры.таких.методов.безопасности,.
как.сбор.данных,.их.анализ.и.тестирование.на.проникновение.в.систему..Цель.этих.
примеров.—.продемонстрировать.возможности.командной.строки.и.познакомить.
вас.с.некоторыми.фундаментальными.методами,.используемыми.в.инструментах.
более.высокого.уровня.
Мы.предполагаем,.что.вы.уже.знакомы.с.интерфейсом.командной.строки,.знаете.
основы.кибербезопасности,.программирования.и.операционных.систем.Linux.
и.Windows..Предварительное.знание.bash.приветствуется,.но.не.обязательно.
Эта.книга.не.является.введением.в.программирование,.хотя.в.части.I.и.освещены.
некоторые.общие.понятия.
Bash или bash
В.книге.мы.придерживаемся.такого.правила:.если.предложение.не.начинается.со.
слова.bash.и.это.слово.не.относится.к.программе.Windows.Git.Bash,.название.обо- лочки.bash.пишем.со.строчной.буквы.b..Тем.самым.мы.опираемся.на.руководство.от.
Чета.Реми.(Chet.Ramey),.который.в.данный.момент.поддерживает.это.программное.
обеспечение..Чтобы.больше.узнать.о.bash,.посетите.сайт.bash.(
http://bit.ly/2I0ZqzU
)..
Чтобы.получить.информацию.о.различных.релизах.bash,.посмотреть.справочную.
документацию.и.примеры,.зайдите.на.страницу.
http://bit.ly/2FCjMwi
Надежность скриптов
Скрипты,.приведенные.в.книге.в.качестве.примеров,.написаны.с.обучающей.целью..
Они.могут.быть.недостаточно.эффективными.или.надежными.для.применения.
на.промышленном.уровне..Будьте.осторожны,.если.решите.использовать.их.в.ре- альной.среде..Убедитесь,.что.следуете.передовым.методикам.программирования,.
и.перед.размещением.протестируйте.скрипты.
14 Введение
Рабочая среда
Для.развития.навыков.в.области.безопасности,.работы.с.командной.строкой.
и.bash.в.конце.каждой.главы.вас.ждут.вопросы.и.практические.задания..Решения.
для.некоторых.заданий.и.дополнительные.ресурсы.можно.найти.на.сайте.
https://
www.rapidcyberops.com/
Условные обозначения
В.книге.применяются.следующие.типографские.обозначения.
Курсив
Обозначает.новые.термины.и.слова,.на.которых.сделан.акцент.
Рубленый шрифт
Им.выделены.URL,.адреса.электронной.почты,.названия.элементов.интер- фейса.
Моноширинный шрифт
Обозначает.программные.элементы:.названия.команд.переменных.или.функ- ций,.типы.данных,.операторы.и.ключевые.слова..Им.также.выделены.имена.
и.расширения.файлов,.названия.папок.
Этот элемент обозначает совет, подсказку или предложение.
Такой элемент обозначает примечание.
Данный элемент обозначает предупреждение.
Использование примеров кода
Эта.книга.призвана.помочь.вам.в.работе..Примеры.кода.из.нее.вы.можете.исполь- зовать.в.своих.программах.и.документации..Если.объем.кода.несущественный,.
связываться.с.нами.для.получения.разрешения.не.нужно..Например,.для.написания.
программы,.использующей.несколько.фрагментов.кода.из.этой.книги,.разрешения.
не.требуется..А.вот.для.продажи.или.распространения.компакт-диска.с.примерами.
из.книг.издательства.O’Reilly.нужно.получить.разрешение..Ответы.на.вопросы.
с.использованием.цитат.из.этой.книги.и.примеров.кода.разрешения.не.требуют..
Но.для.включения.объемных.примеров.кода.из.этой.книги.в.документацию.по.
вашему.программному.продукту.разрешение.понадобится.
Мы.приветствуем.указание.ссылки.на.источник,.но.не.делаем.это.обязательным.тре- бованием..Такая.ссылка.обычно.включает.имя.автора,.название.книги,.название.из- дательства.и.ISBN..Например:.«Тронкон П., Олбинг К..Bash.и.кибербезопасность:.атака,.
защита.и.анализ.из.командной.строки.Linux..—.СПб.:.Питер,.2019..978-5-4461-1514-3».
Если.вам.покажется,.что.использование.кода.примеров.выходит.за.рамки.оговорен- ных.выше.условий.и.разрешений,.свяжитесь.с.нами.по.адресу.
permissions@oreilly.com
Благодарности
Мы.хотели.бы.поблагодарить.основных.научных.редакторов.за.их.знания.и.по- мощь.в.уточнении.информации,.содержащейся.в.данной.книге..Тони.Ли.(Tony.
Lee),.главный.технический.директор.Cylance.Inc.,.—.энтузиаст.в.области.безопас- ности..Тони.регулярно.делится.своими.знаниями.на.LinkedIn.(
http://bit.ly/2HYCIIw
).
и.SecuritySynapse.(
http://bit.ly/2FEwYka
)..Чет.Реми.(Chet.Ramey),.Senior.Technology.
Architect.на.факультете.информационных.технологий.Университета.Кейс.Вестерн.
Резерв.(Case.Western.Reserve.University).(
http://bit.ly/2HZHaGW
),.в.данный.момент.
является.специалистом.по.сопровождению.ПО.в.bash.
Мы.также.благодарим.Билла.Купера.(Bill.Cooper),.Джосайю.Дикстра.(Josiah.
Dykstra),.Рика.Мессиера.(Ric.Messier),.Кэмерона.Ньюхема.(Cameron.Newham),.
Сандру.Скьяво.(Sandra.Schiavo).и.Дж..П..Воссена.(JP.Vossen).за.советы.и.крити- ческие.замечания.
И.наконец,.мы.хотели.бы.поблагодарить.всю.команду.O’Reily,.в.частности.Нан.Бар- бер.(Nan.Barber),.Джона.Девинса.(John.Devins),.Майка.Лукидеса.(Mike.Loukides),.
Шерон.Уилки.(Sharon.Wilkey),.Эллен.Траутмэн-Зейг.(Ellen.Troutman-Zaig),.
Кристину.Эдвардс.(Christina.Edwards).и.Вирджинию.Уилсон.(Virginia.Wilson).
Благодарности 15
От издательства
Ваши.замечания,.предложения,.вопросы.отправляйте.по.адресу.
comp@piter.com
(.издательство.«Питер»,.компьютерная.редакция).
Мы.будем.рады.узнать.ваше.мнение!
На.веб-сайте.издательства.
www.piter.com
.вы.найдете.подробную.информацию.о.на- ших.книгах.
Часть I
Основы
Дайте.мне.шесть.часов.на.то,.чтобы.срубить.
дерево,.и.первые.четыре.я.буду.точить.
топор.
Автор неизвестен
В.части.I.мы.начнем.с.азов.работы.с.командной.строкой,.обо- лочкой.bash.и.регулярными.выражениями,.а.также.рассмотрим.
фундаментальные.принципы.кибербезопасности.
1
Работа с командной строкой
Интерфейс.командной.строки.компьютера.предоставляет.вам.тесную.связь.с.опе- рационной.системой.(ОС)..Командная.строка.содержит.огромное.количество.
функций,.отточенных.и.отшлифованных.за.десятилетия.использования..К.со- жалению,.способность.взаимодействовать.с.ОС.с.помощью.командной.строки.
стремительно.утрачивается.—.все.чаще.применяют.графические.пользовательские.
интерфейсы.(graphical.user.interfaces,.GUI),.которые.за.счет.скорости.и.гибкости.
зачастую.облегчают.работу,.но.не.дают.возможности.пользователю.задействовать.
скрытые.функции.
Умение.эффективно.работать.с.командной.строкой.—.важнейший.навык.для.специа- листов.по.безопасности.и.администрированию..Он.важен.для.работы.со.многими.
инструментами.в.этой.сфере,.такими.как.Metasploit,.Nmap.и.Snort..Во.время.тести- рования.на.возможность.проникновения.в.систему.при.взаимодействии.с.целевой.
ОС.вашим.единственным.вариантом.может.оказаться.использование.интерфейса.
командной.строки,.в.особенности.на.ранних.стадиях.вторжения.
Чтобы.создать.прочный.«фундамент»,.мы.начнем.с.общей.информации.о.команд- ной.строке.и.ее.составляющих,.а.затем.посмотрим,.как.ею.можно.воспользоваться.
для.улучшения.характеристик.кибербезопасности.
Определение командной строки
В.этой.книге.термином.«командная строка».мы.будем.обозначать.специальную.
программу,.назначение.которой.—.управление.операционной.системой.с.помо- щью.текстовых.команд,.вводимых.в.окне.приложения.(интерфейсе.командной.
строки).без.применения.графического.пользовательского.интерфейса.(GUI).
и.встроенных.вкладок..Интерфейс.командной.строки.дает.возможность.написа- ния.скриптов.(сценариев,.script).
Глава 1. Работа с командной строкой 19
Чтобы.эффективно.использовать.командную.строку,.вам.нужно.понимать.особен- ности.и.варианты.существующих.команд,.а.также.уметь.с.помощью.языка.сцена- риев.упорядочить.эти.команды.вместе.
В.книге.мы.познакомим.вас.более.чем.с.40.командами,.работающими.как.в.ОС.Linux,.
так.и.в.Windows,.а.также.с.различными.встроенными.функциями.и.ключевыми.сло- вами.оболочки..Большая.часть.команд.появилась.в.среде.Linux,.но,.как.вы.увидите.
далее,.существует.множество.способов.запустить.их.и.на.базе.Windows.
Почему именно bash
Для.создания.скриптов.мы.выбрали.оболочку.bash.и.язык.команд..Оболочка.bash.
существует.уже.несколько.десятилетий,.доступна.почти.в.каждой.версии.Linux.
и.даже.появилась.в.Windows..Таким.образом,.оболочка.bash.стала.идеальным.
инструментом.для.операций.по.обеспечению.безопасности,.поскольку.у.нее.меж- платформенные.методы.и.сценарии..Распространенность.bash.также.дает.опре- деленное.преимущество.специалистам,.тестирующим.на.устойчивость.к.атакам.
и.вторжениям,.поскольку.во.многих.случаях.им.не.нужно.устанавливать.в.системе.
дополнительную.инфраструктуру.поддержки.или.интерпретатор.
Примеры использования командной строки
В.книге.часто.приводятся.примеры.использования.командной.строки..Примеры.
однострочных.команд.будут.выглядеть.следующим.образом:
ls -l
Если.в.примере.с.однострочной.командой.показывается.также.и.результат,.он.будет.
выглядеть.так:
$ ls –l
-rw-rw-r-- 1 dave dave 15 Jun 29 13:49 hashfilea.txt
-rwxrw-r-- 1 dave dave 627 Jun 29 13:50 hashsearch.sh
Обратите.внимание:.в.примере.с.результатом.присутствует.символ.
$
..Символ.
$
,.ко- торый.вы.видите.в.начале.команды,.не.является.частью.этой.команды,.а.показывает.
простой.фрагмент.командной.строки.оболочки..Это.позволит.вам.различать.команду.
(в.том.виде,.в.каком.ее.надо.ввести).и.ее.результат.в.терминале..Пустая.строка,.отделя- ющая.в.примерах.команду.от.результата,.при.реальном.запуске.команды.появляться.
не.будет..Опять-таки.она.нужна.для.разделения.команды.и.ее.результата.