📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Linux for Hackers Tutorial (And Free Courses)

David Bombal1:11:50

Transcription

OccupyTheWeb, вы говорили это много раз, и именно поэтому я думаю, что вы написали эту книгу. Linux — это один из тех навыков, которые вы должны иметь, верно? Да, Linux — это один из тех фундаментальных навыков, которые должен иметь каждый хакер. Я также открываю книгу первой строкой: «Хакерство — это самый важный набор навыков 21-го века». Хакерство играет ключевую роль в геополитических событиях, оно играет роль в шпионаже, оно играет роль в преступной деятельности — все это часть хакерства.

Теперь это то, что мне нравится видеть. Я имею в виду, какой прекрасный вид, но не только это. Мне нравится, когда компании помогают людям изменить свою жизнь посредством бесплатного образования и программ сертификации по низкой цене. И я действительно хочу поблагодарить Juniper за это. Они предоставляют множество бесплатных тренингов: тренинги по безопасности, тренинги по сетям, тренинги по DevOps. Вы можете использовать мою ссылку ниже: https://juniper.net/davidbombal. Зарегистрируйтесь и получите бесплатный доступ к их обучению. Но не только это: если вы пройдете их оценку, вы можете получить свой экзамен по сниженной цене на уровне Associate. Например, вы можете получить экзамен за 50 долларов. Большое спасибо Juniper за поддержку сообщества, предоставляя бесплатное обучение и недорогие сертификаты, которые помогают людям изменить свою жизнь. Так что идите и зарегистрируйтесь на их бесплатное обучение, получите сертификат и измените свою жизнь.

Всем привет, это Дэвид Бомбал снова с OccupyTheWeb. OccupyTheWeb, добро пожаловать. Спасибо, Дэвид. Всегда большая честь снова быть на лучшем IT-канале по кибербезопасности на YouTube. Я ценю это, и просто для всех, кто смотрит, мы сделали много видео. Мы только что обсуждали в офлайне сериал «Мистер Робот», который OccupyTheWeb сделал со мной. OccupyTheWeb, это один из ваших любимых сериалов, верно? О, это определенно одно из моих любимых телешоу. И если говорить о том, как Голливуд изображает хакеров, это, вероятно, самое точное. У Голливуда нет хорошей репутации в плане изображения хакеров такими, какие они есть на самом деле. И в этом шоу, что большинству из нас нравится в этом шоу, это то, что это настоящее хакерство. Это вы, Мистер Робот, Эллиот в шоу, вы знаете, он настоящий хакер. Он занимается настоящим хакерством с настоящими инструментами из Kali и других мест, поэтому мы его и любим. Так что я оставлю ссылку ниже для всех, кто хочет посмотреть эти видео. Но прежде чем мы начнем сегодняшнее видео, я хочу еще раз упомянуть ваши книги. И я очень взволнован сегодняшним видео, потому что мы будем говорить об основах Linux для хакеров. Но у OccupyTheWeb также есть «Основы сетей для хакеров», а также «Начало работы: как стать мастером-хакером». И я всегда говорю это, и снова, я скажу это миллион раз. Мне очень нравится, как вы пишете свои книги. Вы пишете их с точки зрения хакера, с мышлением хакера. И с моим опытом в сетях очень приятно видеть ваш взгляд на сети. Но OccupyTheWeb, вы говорили это много раз, и именно поэтому я думаю, что вы написали эту книгу. Linux — это один из тех навыков, которые вы должны иметь, верно? Да, Linux — это один из тех фундаментальных навыков, которые должен иметь каждый хакер. Книга выросла из моего опыта обучения хакеров для армии США и разведывательного сообщества. И когда я этим занимался, а это было довольно давно, по крайней мере 10 лет назад, я собирал комнату очень талантливых людей, которые хотели обучаться хакерству. И значительная часть из них никогда раньше не пользовалась Linux. И поэтому я не мог их обучать, не потратив некоторое время на обучение их сначала Linux. И поэтому я разработал для них небольшое руководство, и мы проводили первый день или около того, изучая основы Linux, чтобы они могли перейти к более продвинутым вещам. А затем это превратилось в книгу. И когда я впервые разработал руководство для военных, оно было очень маленьким. Поэтому одной из наших целей с «Основами Linux для хакеров» было сохранить его небольшим. Знаете, я сказал издателю, что хочу, чтобы оно было менее 250 страниц, и мы это сделали. Оно довольно маленькое, оно лаконичное, оно краткое. Оно охватывает то, что вам нужно знать, чтобы начать. Знаете, мы не вдаемся в большую глубину и детали, потому что, знаете, есть много книг, которые являются отличными книгами, которые охватывают Linux в большой глубине и деталях, но никто не читает эти книги. Точно, точно. Поэтому я хотел книгу, которая была бы доступной, которую люди действительно прочитали бы от корки до корки. И это то, что произошло. Она стала самой продаваемой книгой по Linux за последние 5 лет. И поэтому она продолжает продаваться исключительно хорошо спустя 5 лет. И именно поэтому книга была написана: чтобы люди начали, чтобы они освоили Linux, потому что очень часто мы обучали людей, которые всю свою жизнь провели в среде macOS или Windows и просто не были знакомы с командной строкой в Linux. Так что это то, для чего предназначена книга. Конечно, я также открываю книгу первой строкой: «Хакерство — это самый важный набор навыков 21-го века». И я вновь подчеркну, что хакерство — это самый важный набор навыков 21-го века. Если вы посмотрите на то, что происходит в мире сегодня, это снова подтверждается, что хакерство играет ключевую роль в геополитических событиях, оно играет роль в шпионаже, оно играет роль в преступной деятельности. Все это часть хакерства. Я не говорю, что все это обязательно хорошо. Я говорю, что это самый важный набор навыков 21-го века. Так что, если вы хотите сыграть роль в самом важном наборе навыков, знаете, это место, где стоит начать — это «Основы Linux для хакеров». Сначала освойте свои навыки Linux, а затем вы сможете перейти к более интересным и продвинутым материалам. Но вам сначала нужны эти навыки Linux. Я думаю, я вижу это часто, и вы имеете дело с большим количеством новичков. Я полагаю, вы видите это все время. Они хотят бежать, прежде чем смогут даже ползать, верно? Точно. И снова, я видел это много-много лет, и именно в этом заключалась вся цель книги — дать вам возможность начать работу, чтобы вы могли делать все, что собираетесь делать с хакерством. Но если у вас нет навыков Linux, вы действительно, знаете, вы ставите, знаете, старую поговорку, телегу впереди лошади. Вам нужны навыки Linux, вам нужны навыки работы в сети. Это два фундамента, которые вы должны иметь, чтобы функционировать в этом мире.

Почему, почему использовать Linux? Я имею в виду, вы дали нам хорошую причину написать книгу, но почему, почему Linux так важен? Ну, Linux отличается от других операционных систем тем, что он, по сути, весь открыт. Это открытый исходный код, он открыт. Вы можете видеть весь исходный код. И именно поэтому люди разработали свои инструменты для Linux. Я имею в виду, есть инструменты, разработанные для Windows, и есть некоторые для Mac, и есть некоторые для Unix. Но большинство, вероятно, 90-95% инструментов для хакерства разработаны для Linux. Почему Linux? Потому что это открытый исходный код. Люди, разрабатывающие инструменты, могут видеть исходный код и использовать его. Linux — это открытый исходный код, он прозрачен. Он позволяет вам иметь детальный контроль над системой, чего вы не увидите в системах macOS или Windows. И, вероятно, лучшая причина для новичка, помимо этих эзотерических причин, заключается в том, что большинство инструментов написано для Linux, верно? Я имею в виду, они почти все написаны для Linux. Почти все. Так что, если вы не знаете Linux, вы упустите. Вы просто не будете иметь возможности, которую вы получите, если будете пытаться делать это в среде Windows. И одна из моих претензий, скажем, к сертификации Certified Ethical Hacker, заключается в том, что они не делают акцент на Linux. Они пытаются обучать хакерству с точки зрения Windows и не требуют знания Linux. И это медвежья услуга любому, кто пытается получить эту сертификацию, потому что если вы не знаете Linux, вы не хакер. Давайте будем очень ясны, хорошо? Если вы не знаете Linux, вы не хакер. Вы можете называть себя хакером, вы можете называть себя сертифицированным этичным хакером, вы можете называть себя кем угодно, пентестером. Но если вы не знаете Linux, вы на самом деле не хакер. Мне это нравится. Я думаю, вы только что резюмировали это. В первом вступлении, вступлении к «Основам Linux для хакеров» мы говорим о том, как скачать и установить Kali Linux. Но Дэвид сделал отличные видео о том, как это сделать, поэтому мы не будем это повторять. И Дэвид, вы можете дать им ссылки на ваши видео, и у вас есть отличные видео для этого. Так что мы не будем тратить ваше время, ребята, на это. Вы можете перейти к отличным видео Дэвида о том, как скачать и установить его либо на физическую машину, либо на виртуальную машину. Я использую виртуальные машины. Почему я использую виртуальные машины? Ну, есть много преимуществ использования виртуальных машин. Но одна из вещей, которую знают люди в моих классах, это то, что я использую несколько виртуальных машин. Так что у меня будут разные виртуальные машины для разных операционных систем, чтобы я мог переключаться между ними. Я также могу использовать свои виртуальные машины как цель и атакующего, не выходя за пределы своей собственной системы. Так что есть много хороших причин использовать виртуальные машины. Вы можете видеть верхнюю вкладку здесь, у меня есть Ubuntu здесь, у меня есть куча других систем здесь. У меня есть несколько версий Kali, потому что, знаете, разные версии Kali делают разные вещи лучше других. Так что я постоянно использую виртуальные машины. Есть некоторые области, где виртуальные машины работают не так хорошо, как физическая машина. И одна из таких областей — радиохакерство. Знаете, SDR для хакеров. Есть действительно некоторые трудности с возможностью поддерживать это SDR-оборудование на виртуальной машине. Это работает, но не очень хорошо. И это один из недостатков. Помимо этого, и в нескольких других местах, виртуальные машины отлично подходят для обучающей среды и учебной среды.

Итак, OccupyTheWeb, два вопроса: порекомендовали бы вы новичкам начать с виртуальных машин? И нужно ли мне иметь последнюю версию Kali Linux, или подойдет более старая версия? Ну, во-первых, я рекомендую виртуальные машины. Виртуальные машины — это здорово. Вам нужно иметь немного знаний о виртуальных машинах, чтобы хорошо функционировать как новичок, как ученик. Вы можете поддерживать закрытую среду, где вы одновременно и атакующий, и цель, и вам не нужно беспокоиться о каких-либо юридических проблемах, связанных с атакой на цели, на которые вы не должны нападать, или на которые вам незаконно нападать. Так что это одна из причин. Вторая — я могу поддерживать несколько операционных систем на своей единственной системе. Если вы собираетесь поддерживать несколько операционных систем, чем больше оперативной памяти у вас в системе, тем лучше она будет работать для вас. И тогда, знаете, есть много новичков, которые хотят использовать самое новое и лучшее. И я только что закончил преподавать класс, и одна из вещей, которая произошла в этом классе на прошлой неделе, заключается в том, что я использую годовую версию Kali, и вещи, которые мы делали, на самом деле работали лучше в этой старой версии, чем в новой версии у всех в классе. Так что им пришлось фактически понизить версию своих систем, чтобы сделать то, что мы делали в классе. Так что не обманывайтесь, знаете ли, последним Kali или последним, в этом отношении, Windows или чем-либо еще. Иногда старые вещи, если они работают, нет необходимости их обновлять, кроме, возможно, из соображений безопасности, верно? Но я поддерживаю версии Kali, начиная с дней Backtrack. Так что очень давно, многие зрители могут этого не знать, но раньше это называлось BackTrack. И поэтому у меня есть версии BackTrack, начиная с BackTrack 1, и у меня есть BackTrack 2, BackTrack 3, BackTrack 4. И тогда, я думаю, я думаю, что на BackTrack 4 произошел переход на Kali, и это было где-то около 2012 года, я думаю, или 2013 года, где-то в этой области. И поэтому некоторые из этих старых систем на самом деле делают то, что я хочу, лучше, чем новые системы. В результате у меня есть образы всех этих старых операционных систем, и иногда мне приходится к ним возвращаться. Но когда у меня есть Kali, которая делает то, что я хочу, зачем мне получать самую новую? Мне нужно иметь, мне нужно иметь причину, не просто потому, что она новее. Мне нужна причина, чтобы пойти и перейти к самому новому и лучшему. Так что, как вы увидите в этом видео, я использую 2022.3. Почему? Потому что это делает то, что я хочу, а некоторые из изменений, которые произошли с тех пор, не обязательно хороши для того, что я делаю. Но с точки зрения Linux это не имеет значения, верно? Потому что, как будто команды существуют вечно? Да, ядро Linux существует с 1993, 92 года, когда Линус Торвальдс впервые выпустил его. И большинство команд одинаковы. Так что основы Linux, будь то Kali, Arch, Ubuntu, Parrot, Red Hat, вы проходите через все дистрибутивы. Основные команды будут одинаковы во всех этих операционных системах. Так что не имеет значения, какую версию вы используете. Вы действительно можете делать то, что хотите делать в плане хакерства, из Ubuntu, хорошо, из Red Hat. Эти, эти можно использовать. Единственная реальная сила Kali заключается в том, что она основана на Debian. Хорошо, и Debian лучше обрабатывает многие инструменты. Debian — это дистрибутив Linux. Так что Kali построена на Debian, как и Ubuntu. Но они как бы ответвляются от Debian по-разному. Но вы можете использовать Ubuntu, вы можете использовать Lubuntu, вы можете использовать Red Hat, вы можете использовать любой из них. Поэтому, когда люди часто спрашивают меня, какой лучший дистрибутив Linux, ответ — они все хороши. Так что сила Kali в том, что она построена на Debian, который часто работает немного лучше с некоторыми инструментами, и в ней есть все инструменты. И Parrot, Parrot также имеет встроенные инструменты. Black Arch также имеет инструменты. В целом, вы можете перемещать инструменты из любого дистрибутива Linux. Вы можете запускать их практически на любом дистрибутиве Linux. Так что это не такая уж большая проблема, это скорее вопрос удобства, а не функциональности, верно?

Итак, одна из вещей, которую люди, не из среды Linux или Unix, должны знать, это несколько терминов и несколько идей, которые важно представить здесь. Один из терминов, о котором люди в Linux всегда говорят, — это бинарные файлы, верно? Это, по сути, то, что люди в других средах, таких как Windows, называют исполняемыми файлами. Это файлы, которые можно запускать, и они включают в себя простые вещи, такие как, знаете ли, команда `ps`, команда `cat`, команда `ls`, команда `cd`. Это все бинарные файлы, а также некоторые инструменты, которые мы используем для хакерства. Это бинарные файлы. Так что, когда вы слышите этот термин, не расстраивайтесь. Это просто означает, что это как исполняемый файл, это файл, который можно запустить. Вторая концепция, которая действительно важна для привыкания к Linux, заключается в том, что Linux чувствителен к регистру. Это означает, что заглавная буква «C» и строчная буква «c» — это две разные вещи, верно? Так что, например, если вы наберете `desktop` строчными буквами, это отличается от заглавных букв. Например, давайте посмотрим на наш Kali здесь. Мы можем перейти в каталог с именем `desktop`. И если я наберу `cd desktop` вот так, он вернет сообщение «нет такого файла или каталога». Почему? Потому что я не начал его с заглавной буквы «D». Так что, если я сделаю это вот так, верно, как это на самом деле должно быть, вы увидите, что он переходит в `desktop`. Так что, если вы получите это сообщение «нет такого файла или каталога», одна из первых вещей, которую вы захотите сделать, — это проверить, правильно ли вы ввели регистр. В этом случае я бы, знаете ли, если бы я был новичком, я мог бы посмотреть на это и сказать: «Боже мой, я знаю, что там есть рабочий стол, должен быть рабочий стол в этой системе. Что не так с моим Linux?» И на самом деле все, что было, это то, что вы не начали его с заглавной буквы «D». Это применимо почти ко всему в Linux: он чувствителен к регистру. Windows не чувствительна к регистру. Так что к этому придется немного привыкнуть. Каталог — это то же самое, что некоторые другие операционные системы могут называть папкой. Так что это каталог. Это означает, что здесь я храню все свои файлы, верно? Знаете, одна из вещей, которая также важна, чтобы подумать о Linux, это то, что у него файловая система немного отличается. Давайте посмотрим на это. Я размещу здесь диаграмму файловой системы Linux. Для тех, кто приходит из среды Windows или других, это может быть новая информация. Итак, в среде Windows на самом верху у вас может быть C: или D: или E: или F:. Это могут быть физические диски. Linux работает на логической файловой системе, и на самом верху есть косая черта (`/`). И эта косая черта часто называется корневой файловой системой. Это верхняя часть файловой системы. Под корнем у вас есть ряд подкаталогов. И, вероятно, самые важные из них — это один здесь под названием `root`. И это пользователи root. Хорошо, пользователь root — это как системный администратор в Linux. У нас есть `boot`, `etc`. `etc` — это обычно место, где хранятся ваши конфигурационные файлы. Теперь, когда мы говорим «конфигурационные файлы», люди, приходящие из среды Windows, когда вы настраиваете приложение, обычно должны пройти через серию кликов: клик, клик, клик, клик, клик, клик, клик, клик. Так что, чтобы настроить его в Linux, вся настройка выполняется через текстовые файлы. Так что есть текстовый файл, вы открываете его, вносите изменения, сохраняете, а затем перезапускаете службу, и тогда вы перенастроили его. Эти файлы обычно находятся в каталоге `etc`, как правило. Есть `home`, и это то, где вы, как пользователь, находитесь, хорошо? Например, я вернусь сюда. Чтобы вернуться на уровень выше в Linux, я набираю `cd ..`. Это возвращает меня на один уровень. Я могу набрать `pwd` (present working directory). Это говорит мне, где я нахожусь в файловой системе. Это очень полезная команда. Так что, если вы не привыкли использовать командную строку в файловой системе Linux, вы всегда можете просто ввести `pwd`, и она скажет вам, где вы находитесь. И вы можете видеть, где я нахожусь. Я в `home` и затем мое имя пользователя. И мое имя пользователя здесь — `kali`. Это может быть что-то другое, но именно там хранятся все мои вещи — в моем домашнем каталоге. Давайте вернемся к нашей диаграмме. Затем вы видите каталог `mnt`. Хорошо, это место, где ваши внешние, например, если вы подключаете физический диск к своей системе, новый жесткий диск, новый SSD, он будет смонтирован в этом каталоге. Это место, где он будет подключен к файловой системе. И это на самом деле своего рода термин, который является отсылкой к 70-м и 80-м годам, когда люди физически монтировали, они брали ленту. Знаете, тогда данные хранились на ленте, и они физически брали ленту и монтировали ее на компьютер, большую, большую ленту. Так что отсюда и происходит этот термин, потому что помните, что Linux — это, по сути, клон Unix. Unix датируется 70-ми годами. И поэтому некоторая терминология возвращается из той эпохи. Процессы, `proc` — это место, где у нас много наших процессов. У нас там есть файлы, которые управляют ими. Я пропущу этот. Поговорим о `dev`. Это устройства. Это означает такие вещи, как клавиатуры и мыши, и все устройства в вашей системе управляются здесь в файле. А затем у нас есть `bin` и `sbin`. Это бинарные файлы. Это тот термин, о котором я только что говорил — бинарные файлы. Это место, где вы увидите хранимые файлы, которые являются исполняемыми. А `sbin` — это системные бинарные файлы. А затем вы увидите здесь `lib`, что означает библиотеки. Это то, что в мире Windows часто называют DLL (Dynamic Link Library). Это просто код, который можно повторно использовать. Так что, если я пишу инструмент, пишу приложение, я могу зайти туда, взять и использовать, вызвать фрагмент кода из библиотек, которые мне нужны, чтобы мое приложение работало. Вместо того, чтобы каждый переписывал один и тот же код снова и снова, например, как мне, как мне создать окно в моем приложении? Я могу просто вызвать код. И это играет большую роль в хакерстве, потому что вам часто нужны правильные библиотеки для фактического использования инструмента. И поэтому одна из вещей, которую вы увидите, развиваясь как хакер, заключается в том, что для определенных инструментов вам нужно загружать конкретные файлы библиотек, от которых зависит приложение. И, наконец, у нас есть `usr`, и здесь мы увидим других пользователей в системе, которые будут находиться под этим каталогом. Мы можем видеть эти каталоги, если вернемся, наберем `cd`, а затем перейдем прямо к самому верху файловой системы, наберем `cd /`. Это перенесет нас. Вы можете видеть здесь, это показывает мне косую черту, что означает, что я нахожусь на самом верху файловой системы. Теперь я могу просмотреть, что там есть, просто используя `ls`, что является сокращением от «list» (список), верно? Список. Я могу просто набрать `list`, и это покажет мне все эти каталоги и несколько других, которых не было на нашей диаграмме. И один из важных здесь — это `media`. Так что в той диаграмме я говорил о монтировании жесткого диска к системе. Но в современных системах Linux у нас теперь есть то, что называется `media`, где ваш флэш-накопитель и другие устройства подключаются или монтируются к файловой системе. И мы поговорим об этом больше в будущих видео. Но теперь они монтируются в `media`, а не в `mnt`. И вы видите там несколько других вещей. Так что это одна из ключевых команд — `ls`. Мне нравится использовать `ls -l`. Давайте сделаем `ls -l`, и это даст мне немного другой вид той же информации. Итак, что это делает сейчас, это дает мне некоторую информацию о разрешениях. Хорошо, это разрешения. Мы поговорим больше о разрешениях в будущем видео. А затем оно говорит мне, сколько ссылок у него есть. Это то, что это — ссылки. И мы поговорим больше о ссылках в будущем. Одна из вещей, которую я не включил в «Основы Linux для хакеров», — это много обсуждений ссылок. Так что это, вероятно, что-то, о чем мы поговорим на следующем занятии. Это владелец файла или каталога. Обратите внимание здесь, давайте поговорим об этой самой первой букве. Она говорит нам, что это ссылка. Так что это означает, что это файл, который связан с другим файлом, он подключен. Так что, когда я использую, когда я нажимаю или использую эту конкретную команду, она переносит меня к другой команде. Вот что такое ссылка. Она показывает мне здесь, что бинарный файл также связан с бинарным файлом пользователя. Так что, когда я использую бинарный файл или каталог, он перенесет меня к бинарному файлу пользователя. Бинарные файлы, как я сказал, это просто исполняемые файлы. Эта первая буква здесь, «D», говорит нам, что это каталог. Когда он начинается с тире, как этот, это означает, что это просто файл. Хорошо. Так что вы видите, большинство из них здесь — это все каталоги. Мы, вероятно, увидим некоторые, да, вот здесь у нас есть файл, файл подкачки, прямо здесь. Если он начинается с «D», это каталог. Если он начинается с тире, это файл. Если он начинается с «L», это ссылка. И я оставлю это здесь, что выглядит как тарабарщина, выглядит как тарабарщина для большинства людей, которые новички в Linux. Но, по сути, это определяет, кто имеет право читать, записывать и выполнять каталог или файл, верно? Это важно в безопасности Linux. Так что вот как выглядит верхняя часть нашей файловой системы, верно? Мы представили несколько команд там. Еще пара терминов, которые я хочу представить, — это идея скрипта. И люди, знаете ли, хакеры всегда говорят о скриптах, верно? И обычно, обычно хакеры используют скрипты Python. Верно? Python — это своего рода язык инструментов для хакерства сейчас. Означает ли это, что все инструменты для хакерства написаны на Python? Нет. Это означает, что значительная их часть написана, и Python является нативным, он уже установлен в вашем Linux. Хорошо, так что вам не нужно устанавливать интерпретатор для него. Но есть много других языков, которые используются для написания скриптов. Конечно, есть то, что называется Bash-скриптингом, который является написанием скриптов в этой оболочке. У нас есть, это, на самом деле, оболочка или терминал, верно? Это то, на что здесь ссылается. Иногда называется эмулятором терминала, потому что в старые времена Linux и Unix работали с терминала, где у вас не было компьютера, у вас был только терминал, который давал вам доступ к компьютеру. Так что это иногда называется эмулятором терминала или оболочкой. И большинство Linux, в этом отношении, используют оболочку Born Again Shell или Bash Shell. Новые Linux, новые Kali переключились на другую оболочку под названием Z Shell. И мы можем поговорить об этом в будущем видео, когда начнем говорить о Bash-скриптинге. Но есть и другие оболочки, которые, по сути, являются этой средой, в которой мы здесь работаем. Это, возможно, некоторые новые термины, особенно если вы никогда не работали из командной строки. Очевидно, это очень похоже на командную оболочку или PowerShell в Windows. Хотя я бы сказал, что это превосходит обе. Это превосходит обе, верно? Я имею в виду, PowerShell — это попытка Windows, попытка Microsoft предоставить функциональность Linux в Windows. Вот как я это вижу. Они ввели PowerShell в последние годы, потому что люди были недовольны возможностями командной строки Windows. Так что дайте им должное, но это не так элегантно. Я думаю, это на самом деле довольно неуклюже по сравнению с элегантной оболочкой в среде Linux. Но, знаете, я, очевидно, имею некоторый предвзятость. Я разговаривал с кем-то, у кого многолетний опыт работы в индустрии кибербезопасности, и он сейчас работает в Cisco. Он как бы большой шишка в Cisco. И он сказал: «PowerShell — корень всего зла», потому что именно так большинство атак, именно так совершается множество атак. Я не должен говорить «все атаки», но многие атаки совершаются таким образом. Так что, знаете ли, просто чтобы скрыть PowerShell еще больше. Простите, продолжайте. Да, я имею в виду, это очень верно. Многие атаки используют PowerShell, особенно после эксплуатации, или когда кто-то проник в систему, они могут использовать PowerShell для поддержания и выполнения всевозможных злонамеренных действий в системе. PowerShell. И также стоит отметить, что многие команды, которые мы используем в Linux, были псевдонимированы в PowerShell. Так что, если вы пытаетесь использовать некоторые из этих команд, о которых мы здесь говорим, вы можете использовать их в PowerShell. Хорошо, они не являются нативными в PowerShell, но они являются псевдонимами, что означает, что они связаны с PowerShell. Так что вы можете использовать свои команды Linux в PowerShell.

Давайте, вот команда, которая довольно важна, и она называется `clear`. Так что, так что, так что мы сделаем, это очистим наш экран. Это дает мне, и я все еще, обратите внимание, я все еще в своем корневом каталоге. Давайте перейдем, давайте перейдем к навигации. `cd` — это изменение каталога, начиная с верхнего корня, затем переходя в `home`, затем переходя к моему пользователю, который `kali`. Хорошо, так что теперь, когда я там, конечно, я могу, я показал вам, что мы можем использовать `pwd`, чтобы всегда знать, где я нахожусь, верно? Это говорит мне, это говорит мне, где я нахожусь. Я в `home/kali`. Еще одна действительно полезная и простая команда, которая всегда важна знать, это `whoami`. Теперь это не раскроет вашу личность, верно? Да, мы хотим знать, мы хотим, чтобы вы выполнили эту команду. Это скажет вам, под кем вы вошли в систему. Почему это важно? Ну, потому что в Linux, особенно когда вы говорите об использовании Linux в качестве хакера, есть определенные вещи, которые можно сделать только тогда, когда вы являетесь root, или root — это то же самое, что системный администратор. Это всемогущий пользователь. Теперь люди часто говорят вам, что вы, вероятно, не хотите постоянно запускать свою систему от имени root. Почему? Потому что если вас взломают, то пользователь, человек, который вас взломал, будет иметь все привилегии root, что означает, что у него есть все привилегии, он может делать все, что захочет, так же, как и root. Так что Kali приняла это во внимание. Хорошо, люди из Offensive Security, и в основном вы работаете как обычный пользователь с ограниченными привилегиями, когда вы находитесь в Kali сегодня. Так не было в прошлом. И поэтому для таких, как я, потребовалось некоторое время, чтобы привыкнуть к этому. Но в любом случае, я нажимаю `whoami`, вы можете видеть, что я `kali`. Это мой обычный пользователь, у которого нет всех привилегий. Если я хочу запустить многие инструменты, хорошо, в Kali, мне часто приходится предшествовать этой команде `sudo`. `sudo` — это, и это то, чего нет в «Основах Linux для хакеров», потому что тогда это не требовалось. Так что это то, что появилось с момента написания книги. Я написал книгу в 2017 году, она была опубликована в 2018 году. Так что примерно вскоре после этого новые Kali начали требовать, чтобы вы фактически использовали `sudo`. И `sudo` позволяет вам перейти к пользователю root для одной команды. Хорошо, для одной команды, если у вашего пользователя есть эти разрешения. И мы разберем это в более позднем видео. Но есть группа пользователей, которые находятся в списке `sudoers`. И если вы находитесь в этом списке, вы можете использовать `sudo`. То, как настроена Kali, если вы входите как, как только вы, если вы создаете пользователя при установке, вы находитесь в этом списке. Так что вы можете использовать `sudo`, чтобы переключиться на пользователя root и запустить это, и это даст вам всю мощь операционной системы. Вы не будете ограничены ничем. Это команда, которая действительно важна в новых версиях Kali. Я показал вам `cd`, это изменение каталога. Хорошо, так что это важная команда. Так что, если я хотел изменить каталог, скажем, в каталог `etc`, помните, это место, где находятся все конфигурационные файлы. Хорошо, теперь я в `etc`, а затем я могу набрать `ls -l`, и я увижу все различные каталоги. Вот этот `sudoers`, о котором я говорил. Хорошо, конфигурация `sudo` и `sudoers`. И мы поговорим об этом больше. Это своего рода более продвинутые вещи. Вы также можете видеть здесь, вот `snort`. Некоторые люди, которые читали мою книгу, я думаю, это во главе 2 или 3, мы используем `snort` в качестве примера приложения, которое мы можем использовать. Я показываю вам, как использовать его, используя Linux в нем. И он больше не поставляется с Kali. Так что в более позднем видео я покажу вам, как установить его в Kali. Это не так уж сложно сделать. Но я получаю много вопросов об этом, потому что он больше не установлен по умолчанию и больше не находится в репозитории. Но, как я покажу вам на следующем занятии, вы можете фактически извлекать приложения, бинарные файлы из любых репозиториев, из любого репозитория Linux. Так что вы не ограничены репозиторием Kali, если вы знаете, как это сделать. И я покажу вам, как это сделать. Вы можете видеть, что он установлен в моей системе. Если вы не знаете `snort`, `snort` — это IDS (система обнаружения вторжений). Он позволяет вам обнаруживать вредоносные атаки на вашу систему. Это одна из тех вещей, которые вам нужны, если вы хотите защитить свою сеть и защитить свою систему. `snort` разработан для этого. Он теперь принадлежит Cisco с 2014 года, так что почти 10 лет. Он начинался как небольшой проект с открытым исходным кодом около 20 лет назад. Он был куплен компанией под названием Sourcefire, а затем Sourcefire была куплена Cisco. Так что это часть линейки продуктов Cisco. Поскольку он начинался как проект с открытым исходным кодом, он по-прежнему является проектом с открытым исходным кодом, но у них также есть коммерческая версия. Вы увидите это во многих проектах с открытым исходным кодом, которые покупаются коммерческими компаниями. У них по-прежнему есть версия с открытым исходным кодом, а затем у них есть коммерческая версия. `snort` — один из таких хороших примеров. Версия с открытым исходным кодом по-прежнему отлично работает. Знаете, мы, возможно, сделаем это в будущем видео. Но по крайней мере, я покажу вам, как установить его в вашей системе. И в будущем видео, когда мы начнем говорить о том, как устанавливать новое программное обеспечение в Linux. И, конечно, это действительно ключевой набор навыков в Linux. Знаете, у вас уже есть все эти инструменты, встроенные в Kali, но вы неизбежно столкнетесь с ситуацией, когда вам нужно будет установить новые инструменты. И я покажу вам, как это сделать. И я думаю, это глава 4 «Добавление нового программного обеспечения». Так что мы сделаем это в главе 4, как добавить новое программное обеспечение.

Итак, просто, просто, просто, я попытаюсь задать вопросы новичка. Итак, почему вы использовали косую черту, а не просто `cd etc`? Хорошо, это важный вопрос. Итак, что происходит, когда я, когда я меняю каталоги, хорошо, есть концепция абсолютного пути и относительного пути в, ну, в любой операционной системе, это не только в Linux. Это применимо к Windows, это применимо к Mac, это применимо к Unix. Так что, когда я говорю системе здесь, я вхожу с абсолютным путем. Я говорю «изменить каталоги, начиная с верха файловой системы, косой черты, это корень, а затем перейти оттуда в `etc`. Так что это, давайте вернемся к нашей диаграмме. Хорошо, давайте, это наш, что я делаю здесь, это я говорю «получить, правильно, перейти прямо сюда, косая черта, а косая черта — это верх файловой системы». Хорошо, это на самом деле, это, это обозначает верх файловой системы. А затем перейти в `etc`, хорошо. Так что, если бы я, давайте вернемся, давайте вернемся на один уровень. Это возвращается к `pwd`. Давайте сделаем это. Это действительно важная концепция. И давайте перейдем, наберем `cd` в мой домашний каталог, который `kali`, хорошо, вот так. Обратите внимание, что я набрал его с абсолютным путем, начиная с косой черты, затем `home`, а затем `kali`. Теперь, если бы я сказал `cd etc`, это называется относительным путем. Хорошо, это «изменить каталог на `etc`». Это говорит «перейдите и найдите каталог `etc` после корня, `home`, `kali`. Так что, по сути, мы ищем `root/home/kali/etc`. И когда я делаю это, верно, я получаю ошибку, потому что там нет, там нет такого каталога. Это называется относительным путем к каталогу. Теперь, если я наберу `cd etc`, я говорю «перейдите и начните с самого верха, а затем перейдите в `etc`. Это будет абсолютный путь, и это приведет меня туда. Так что концепция заключается в том, что вы можете написать абсолютный путь, начиная с самого верха файловой системы, а затем проходя через каждую структуру каталогов. Абсолютный путь. Относительный путь говорит «начните с того места, где я сейчас нахожусь, а затем ищите подкаталог с таким именем». Так что часто, когда люди начинают, они получают это сообщение об ошибке «нет такого файла или каталога», потому что они не полностью понимают концепцию между абсолютным путем и относительным путем, верно? Так что это две важные концепции. И это, вероятно, что-то, что я, я не думаю, что я полностью разработал в «Основах Linux для хакеров». Так что это хороший вопрос. И я получаю много вопросов, подобных этому. Также, когда мы говорим о выполнении команды `ls`, и я сказал вам использовать `ls -l`. Это то, что я использую, и это дает мне гораздо больше информации, чем просто команда `ls`. Команда `ls` просто показывает мне файлы и каталоги, не дает мне всей информации о том, кто владелец, и какие разрешения есть на них. Но есть еще одно изменение в `ls`, которое важно, и это `ls -la`. Разница здесь в том, что «a» даст мне скрытые каталоги и файлы. Часто вы увидите файлы, которые скрыты, и они не будут отображаться с помощью `ls`, но они будут отображаться с помощью `ls -a`. Я снова очищу свой экран, `clear`, чтобы получить общую картину.

Теперь давайте поговорим о способах получения помощи в Linux. Знаете, когда вы начинаете работать с Linux, вы не будете знать всего обо всем. Никто из нас не знает. Вы можете использовать Linux с первого дня, 30 лет назад. И именно столько лет Linux — сейчас 30 лет, и вы не будете знать всего. И всегда появляются новые инструменты, и вы не будете знать, как их использовать. И поэтому один из лучших способов найти информацию о любом инструменте, который вы пытаетесь использовать, — это просто использовать помощь. Один из лучших инструментов для хакерства, вероятно, оригинальный инструмент и лучшие инструменты для хакерства Wi-Fi — это `aircrack`. `aircrack` — это прародитель инструментов для хакерства, хорошо, инструментов для хакерства Wi-Fi. И вы видите `aircrack-ng`. `ng` означает «новое поколение». Это означает, что оно отличается от старого поколения `aircrack`. И мы просто набираем `help`. Обратите внимание, что я получаю очень полезный экран, который дает мне всю ключевую информацию, которая мне нужна об этом конкретном инструменте. Теперь одна из вещей, которую я хочу отметить, это то, что, во-первых, как и любой другой интерфейс командной строки, вы можете просто нажать стрелку вверх. Если я нажму стрелку вверх, посмотрите, что происходит. Это дает мне последнюю команду. Иногда вы хотите, знаете ли, вы не хотите набирать одну и ту же команду снова и снова. Просто нажмите стрелку вверх, и она выведет некоторые, пройдитесь по ней, и вы увидите все мои старые команды. Это своего рода важная вещь. Также, давайте вернемся и нажмем стрелку вверх. Хорошо, давайте перейдем к нашему, ну, давайте снова перейдем к `aircrack`. Это наш, это `aircrack` — прародитель. Надо правильно написать. И я собираюсь, я собираюсь сделать кое-что. Я собираюсь использовать свою клавишу Tab. Вы можете использовать клавишу Tab для автозаполнения. Хорошо, так что, если вы ввели достаточно символов, чтобы сделать его уникальным, вы можете просто нажать и автозаполнить. Хорошо, видимо, есть люди, которые смотрят эти видео и жалуются, что я не использую автозаполнение. Я рад, что вы это сделали, потому что да, это довольно забавно, когда люди говорят это. Так что автозаполнение, вы используете это, вы можете использовать Tab для автозаполнения. Итак, вот, здесь `aircrack`. Обратите внимание, что я использовал двойное тире. Хорошо, это своего рода, это своего рода важная концепция. Так что это переключатели или опции в Linux. Обычно есть два типа, верно? Есть переключатели, которые имеют опции, или переключатели, как их называют. Обратите внимание здесь, что если это одна буква, есть одно тире. Если это слово, это двойное тире. Теперь это своего рода конвенция в Linux, но не все ее придерживаются, но это общее правило, которого придерживается большинство людей. Смотрите здесь, все это одиночные опции, так что это одиночное тире. Когда мы используем слово как опцию, мы используем двойное тире. Это общее правило, которого придерживается, возможно, 80% приложений, не всех. И вы можете видеть здесь, что вот наша помощь. Иногда вы можете получить помощь, просто используя `-h`. В этом случае это не так. Он говорит мне, что помощь на самом деле находится по адресу `--help`. Разные приложения используют разные опции для получения помощи. Иногда вы можете получить помощь, даже не вводя «help», вы можете просто ввести команду, верно? И я собираюсь сделать автозаполнение с помощью клавиши Tab. А затем вы можете видеть, что я просто набрал `aircrack`, и я получил экран помощи. Это часто бывает с инструментами, вы можете просто получить экран помощи, просто введя название инструмента, бинарного файла, приложения, и он выведет весь экран помощи для вас. `aircrack` — отличный инструмент. Он существует уже давно. Давайте посмотрим на самый верх. Мы можем видеть, что он существует с 2006 года. Так что `aircrack` — один из тех инструментов, с которыми вы должны быть знакомы. И если вы с ним не знакомы, вы можете узнать больше о нем, просто посмотрев экран помощи. Я собираюсь сделать `clear`, чтобы открыть пространство на экране. Еще один из тех инструментов, с которыми мы, вероятно, должны быть знакомы как хакер, когда вы начинаете, это `nmap`. Так что `nmap`. Он использует `-h` для получения помощи, как я сказал. В `aircrack` мы можем получить помощь, просто введя команду и затем `--help`. `-h` не работает с `nmap`. `-h` работает для помощи. И поэтому мы получаем весь `nmap`. `nmap` — это сканер портов. Он позволяет нам сканировать целевую систему, чтобы увидеть, какие порты открыты, какие службы работают на ней. Это способ получить представление о том, как выглядит цель. Одна из вещей, которую я подчеркиваю всем своим студентам, заключается в том, что вы не можете быть успешны во взломе системы, если вы не знаете, что это за система. Вы должны провести надлежащую разведку своей цели, чтобы быть успешным. Вы не будете успешны, если не проведете надлежащую разведку. Один из первых шагов в проведении надлежащей разведки — это знание того, какие порты открыты, какие операционные системы работают, какие службы работают на этой системе. Если у вас нет информации, вы не будете успешны. NMAP — один из тех инструментов. И, возможно, мы сделаем что-то в будущем, или у вас есть другие видео о NMAP. Но то, что я просто хотел показать здесь, это то, что есть разные способы получить экран помощи. В некоторых случаях это будет `--help`, в некоторых случаях это будет просто `-h`. А затем есть так называемые Man-страницы. Это сокращение от «manual» (руководство). Это не имеет никакого отношения к полу, это относится к руководству. И вы набираете `man`, а затем говорите `nmap`, и появится экран, который даст вам экран помощи. Он даст вам гораздо больше информации, чем помощь. Он даст вам много, вы можете просто нажать Enter и пройти через это длинное описание NMAP. И поэтому, если вы никогда не использовали NMAP и хотите узнать о нем, вот способ сделать это. Хорошо, и это расскажет вам все о том, как работает NMAP. И это применимо к большинству инструментов, хорошо, к большинству ваших бинарных файлов. Затем мы видим внизу: «Нажмите h для справки или q для выхода». Так что нажмите q для выхода. Я собираюсь сказать, что было бы здорово, если бы вы также могли сделать NMAP. Всегда приятно получить вашу точку зрения, так что вы

знаем, мы можем это сделать, я вижу, это в вашей книге, верно, так что мы всегда можем добавить это как часть серии. Да, мы можем использовать NMAP, NMAP — это отличный инструмент, и NMAP стал намного мощнее в последние годы, поскольку добавил больше скриптов, которые вы можете использовать, так что он фактически стал, он начинался как простой инструмент, который в основном открывал порты, а теперь он стал, это своего рода фреймворк для взлома, теперь, возможно, я преувеличиваю, но он стал намного мощнее, чем раньше. Тогда давайте очистим мой экран, хорошо, так что все, что я пытаюсь найти информацию, я могу просто использовать команду man, чтобы получить руководство, иногда, когда выходят новые скрипты, большинство выходящих инструментов — это скрипты, они часто написаны как скрипты на Python, и, как правило, разработчики создают страницу руководства, страницу руководства, но не всегда, но, как правило, они это делают. Один из следующих навыков, о которых мы хотим поговорить, это как найти вещи, внутри моего Linux так много всего, как мне найти вещи? И есть ряд инструментов, которые я могу использовать, чтобы находить вещи. Первое место, с которого стоит начать, я думаю, это использование ключевого слова locate, хорошо, так что locate, locate, по сути, пройдет по всей файловой системе и будет искать это ключевое слово, которое я собираюсь ввести следующим. Так что, если я введу aircrack вот так, он найдет каждое упоминание, и их много, так что он найдет каждое место, где находится aircrack. Теперь это много информации, и это может быть полезно, верно, особенно если есть только одно или два упоминания, но если их много, это может быть больше информации, чем вы хотите, и поэтому часто мы ищем двоичный файл, двоичный файл, то есть приложение, верно, и поэтому здесь много файлов, которые мне на самом деле не интересны, и поэтому то, что я действительно хочу, это где находится эта команда, которую я хочу запустить, верно, и я могу просто сделать whereis, верно, эти два должны быть довольно легко запомнить: locate, whereis, а затем я ввожу air, а затем нажимаю tab, и автозаполнение, и тогда он говорит мне, где находится aircrack. Двоичные файлы, и это первый из них, хорошо, usr bin, хорошо, это двоичный файл пользователя, aircrack. Хорошо, user include aircrack и user share, и это страница руководства, вы можете видеть, что мы только что смотрели на нее, это страница руководства для aircrack, и поэтому это действительно полезно для того, чтобы найти, где находится двоичный файл. Теперь есть еще один способ, пара способов, которые я хочу показать, и это то, что иногда есть вещь, есть вещь, есть функция в Linux, есть функция в Linux, она также применяется к машинам Windows и Mac, и она называется path, хорошо, и большинство людей, использующих систему Windows или Mac, никогда не обращают внимания на path, но нам часто приходится обращать внимание на path в Linux, потому что он определяет, где система будет искать вашу команду, хорошо, где она будет искать вашу команду, и это определяется переменной path. Так что, если я введу echo, хорошо, и echo — это еще одна из тех команд, которая, по сути, говорит: "Покажи мне, отобрази для меня содержимое переменной", она есть в моей системе, мы поговорим об переменных окружения на следующем занятии. Это, это path — это переменная окружения, которая хранит, где система будет искать мои команды автоматически, она не будет искать в каждом каталоге, потому что это не будет эффективно, что она будет искать, она будет искать, скажем, команду aircrack в одном из тех каталогов, где есть двоичные файлы, зачем ей искать в каталоге etc или каталоге dev, потому что там нет двоичных файлов, верно, так что здесь система определяет, где она будет искать их, и это наш path. Так что переменная path говорит: "Хорошо, когда я набираю что-то вроде aircrack, верно, просто набираю это как команду, она будет искать в user local bin, user local в данном случае sbin user local bin user local sbin, user local bin, это все места, где она будет искать, и если она не найдет там, она вернет сообщение, что такого файла или каталога нет, это не значит, что его там нет, это просто означает, что его нет в одном из этих мест, и это может быть очень запутанно для новичка, хорошо. Я устанавливаю новый инструмент, верно, и пытаюсь его использовать, я просто набираю команду, но двоичный файл этого инструмента не находится в одном из этих каталогов. Так что, если я ищу, например, где находится двоичный файл в каталоге path, я знаю, что это немного запутанно, я могу использовать команду which, и я собираюсь, и я собираюсь сделать tab и автозаполнение, и вот что я сделал, я использовал команду which. Теперь это отличается от whereis, whereis говорит мне, где находится двоичный файл aircrack, хорошо, он показывает мне все места, which показывает мне, где находится двоичный файл aircrack среди каталогов в переменной path, немного отличается, немного отличается, любой из этих может быть очень полезен для поиска двоичного файла, если я установил новый инструмент, двоичный файл может не быть в path, так что вот где я бы искал, я бы использовал whereis, если он находится в path, и вы использовали его в прошлом, он покажет вам здесь, где он находится. Ну, я просто приведу пример, я установил инструмент на этой системе вчера, и он называется kite runner, и поэтому я собираюсь использовать его для каждого, и я собираюсь использовать kr, это имя файла, и он возвращает много примеров, некоторые из которых не имеют ничего общего с Kite Runner, это слишком много информации, это мне ничего не помогает. Я могу использовать whereis, и whereis покажет мне, где находится Kite Runner, где находится двоичный файл, и вот он, он находится в user local bin, а затем, если я использую which KR, он возвращает ничего, почему? Потому что это не в моем каталоге path, так что я получил разные результаты для каждой из этих команд. Так что тот, который, вероятно, самый полезный для меня, хорошо, это команда прямо здесь, whereis, он показывает мне, где находится двоичный файл, чтобы запустить эту команду, мне нужно быть в этом каталоге прямо здесь, это не сработает, так что если я просто введу command not found, верно, это то, с чем новички часто сталкиваются, верно, команда, которую я только что установил, я только что установил, я знаю, что она там, почему она возвращает command not found, верно? Почему она возвращает, я знаю, что она у меня есть, она там, верно, да, и да, она там, но она не найдет ее, потому что когда вы набираете ее так, она ищет в каталогах, которые находятся в команде path, но этот конкретный каталог не находится в переменной path. Я сказал команда path, я имел в виду переменная path, и я показал вам эту переменную path мгновение назад. Так что давайте вернемся и просто... меня всегда спрашивают, и вас тоже могут спросить, люди хотят знать, где хранятся пароли в Kali, потому что они слышали о RockYou или хотят сделать что-то вроде брутфорс-атаки против, извините, словарной атаки против пароля Wi-Fi или чего-то еще, и они хотят знать, где хранятся пароли? Хорошо, одна из вещей, которую вы можете сделать в Kali, чтобы найти все списки слов, это найти locate word lists, хорошо, и большинство списков слов, списков паролей находятся под ними, они помечены как wordless, и вы можете видеть, что там есть RockYou прямо там, и в Kali будет сотни списков слов, так что одна из... знаете, есть искусство и наука взлома паролей, наука — это скрипты и инструменты, которые мы используем, искусство — это выбор или создание правильного списка паролей для попытки взломать пароль, и это то, что приходит с опытом, и не обязательно, это не то, что вы можете просто взять инструмент для взлома паролей, добавить конкретный пароль или хэш пароля и быть успешным, выбор правильного списка паролей является частью искусства делать это правильно. RockYou — это... знаете, это старый список, он существует уже давно, то, что я предпочитаю, кроме RockYou, это у меня есть пара списков на hackers arise, один из них — топ-10000 самых распространенных паролей, а другой — топ-1 миллион самых распространенных паролей. Я предпочитаю использовать их первыми, они более успешны. Топ-10000 паролей покроют около 10% всех возможностей, другими словами, мы собрали те пароли, которые чаще всего встречаются в утечках данных в даркнете, и есть около 10000 паролей, которые используются снова и снова, вы можете представить, какие это, верно, 1 2 3 4 5 6 7 8, знаете, я люблю тебя, а также некоторые вульгарные, верно, и поэтому эти пароли люди думают, о, знаете, не имеет значения, какой пароль я использую, пока это определенное количество символов, что угодно, но люди, знаете, люди похожи и думают похоже, и используют похожие пароли, и поэтому вы можете зайти в даркнет, и мы уже сделали это для вас, и мы собрали те пароли, которые наиболее распространены, так что вы можете просто использовать наш список из 10000 паролей, и это даст вам около 10% всех паролей, используемых людьми по всему миру. У нас также есть другой список из топ-1 миллиона, и это даст вам около 30% всех паролей. Теперь, конечно, 30% — это не 100%, но я всегда рекомендую, когда вы занимаетесь взломом паролей, начинать с простого, хорошо, начинать с малого, хорошо, начинать с простого, и это, вероятно, применимо к жизни в целом, начинать с простого, а затем переходить от простого к более сложному. Вы не хотите запускать список паролей RockYou, когда пароль — это 1 123456, верно, знаете, начните с простого, маленького списка паролей, посмотрите, есть ли он там, если нет, продолжайте переходить к более крупным и сложным паролям. И одна из вещей, с которыми я всегда сталкиваюсь, это то, что люди используют RockYou и некоторые из этих других списков паролей, и они говорят: "Я не смог найти", я запускал его часами, днями, что угодно, и я не смог найти пароль, и я сказал: "Ну, в какой вы стране?", о, я, я, я во Франции, верно, ну, вы используете английский список паролей во Франции, верно, пароль, вероятно, не будет на английском языке, может быть, но, вероятно, нет. Так что вам нужен французский список паролей, и вы можете провести некоторые поиски, провести некоторые поиски в Google и найти некоторые французские, испанские, арабские, какой бы язык ни был, списки паролей, которые есть в Интернете, и использовать их, потому что эти списки, знаете, они сделаны англоговорящими, и они, вероятно, не будут применимы во всех странах, особенно если никто не говорит по-английски в вашей стране, верно? Теперь одна из интересных вещей, которую мы обнаружили в наших атаках на Россию, заключается в том, что в России мы обнаружили много систем с английскими паролями, потому что это интересно, потому что мы этого не ожидали, совсем нет, и мы предполагаем, что это потому, что большая часть программного обеспечения поступает из англоговорящих стран, хорошо, что пароли по умолчанию на английском языке, а затем по какой-то причине администраторы изменили их и использовали английские пароли. Это было для нас сюрпризом, и да, мы нашли много систем с английскими паролями по какой-то причине, не совсем уверен почему, но мы предполагаем, что это потому, что почти во всех случаях программное обеспечение, которое использовалось, было произведено в США или Великобритании, и знаете, там все на английском языке, верно, все программное обеспечение на английском языке, поэтому администраторы установили английские пароли в России. Давайте поговорим немного о другом, более мощном инструменте для поиска того, что вы ищете в Linux, и это команда find, так что давайте... есть find, и затем мы можем использовать dash h, и давайте возьмем, она говорит unknown predicate h, так что h не работает для find, давайте попробуем просто использовать, и там, когда есть, и команда find, если мы сделаем это, она фактически сделает, она фактически сделает свою работу, что означает найти все, и затем мы можем, давайте попробуем использовать dash dash help, и там мы получаем экран помощи, так что это заняло три попытки, но заняло у нас момент, это действительно мощный инструмент для поиска информации в вашей системе. Так что find найдет, знаете, ранее мы искали двоичный файл, но иногда мы ищем другие вещи, знаете, как конфигурационный файл, что угодно, и find имеет очень мощные возможности поиска файлов по размеру, по имени, по времени создания, все эти вещи find может сделать для нас, но в этом очень, давайте очистим мой экран, мы будем использовать его для довольно простой задачи здесь, скажем, мы хотим найти, и следующая вещь, которую мы вводим в find, это где мы хотим, чтобы find искал. Find будет искать по всей файловой системе, если мы не скажем ему, но мы можем сказать начать с вершины файловой системы, верно, а затем мы можем сказать, какой тип файла, хорошо, что мы хотим, либо каталог, либо файл, мы можем сказать type и сказать file, а затем мы можем сказать, как мы хотим его искать, и сказать, что мы хотим искать по, и скажем, мы хотим найти apache2, apache2 — самый используемый веб-сервер в мире, и давайте посмотрим, есть ли у нас что-нибудь из этого на этой системе, и посмотрите, что он делает, возвращает и говорит permission denied, опять же, это то, с чем вы часто сталкиваетесь, используя много инструментов, много инструментов в Kali, вы получите permission denied, когда вы увидите это, вы сразу поймете, что вам нужно быть root, чтобы сделать то, что вы хотите сделать, так что если вы получите это сообщение, permission denied, что вы делаете, это просто используйте команду sudo, давайте нажмем стрелку вверх, хорошо, давайте нажмем стрелку вверх, а затем используйте sudo перед ней, а затем она спросит меня мой пароль, хорошо, чтобы доказать, что я действительно тот, кто я есть, а теперь она идет и находит apache2 везде, где находится apache2 в системе, и мне все равно придется вернуться и сказать, что некоторые из них — permission denied. Мы можем стать довольно изощренными в том, что мы можем делать с командой find, но я рекомендую вам ознакомиться с ней, вы можете сделать man, а затем find, и это покажет вам, и есть много того, что мы можем использовать в find, чтобы быть очень конкретными в том, что вы ищете, верно. Вот очень длинная страница руководства по find, но то, что я хочу показать, это еще одна действительно важная концепция, хорошо, при начале работы в Linux, и это называется фильтрация с помощью grep. Так что давайте поговорим об этом, давайте сделаем um ps, хорошо, ps — это процессы, так что ps aux покажет мне все процессы в системе, и поэтому там много всего, это все процессы, но обычно, когда я использую ps aux, я не обязательно ищу все эти процессы, я ищу один в частности, так что я могу отфильтровать все это и просто искать один конкретный файл, верно, один конкретный процесс, который работает на этой системе, и поэтому я могу сделать ps aux, и скажем, затем я сделаю grep, и он говорит, так что вот это — pipe, и то, что делает pipe, это говорит: "Возьми эту команду прямо здесь и возьми весь ее вывод, а затем отправь ее вывод другой команде, в данном случае команде grep, и grep фильтрует для меня и покажет мне только то, что я ищу", так что, возможно, скажем, давайте посмотрим, скажем, на Burp Suite, хорошо, я ищу ключевое слово burp, и он получил его, он сделал некоторую фильтрацию, но там все еще много, вы можете видеть, что это burp burp browser здесь, и Burp Suite, я использовал Burp Suite вчера, очевидно, и поэтому там все еще много, um, возможно, лучший пример, и это, я собираюсь сделать, давайте немного отступим, я очищаю свой экран, одна из вещей, которую я покажу вам на следующем занятии, это то, что вы можете запускать и останавливать процессы в Kali или любом Linux с помощью команды system control, так что я собираюсь использовать sudo system control, теперь раньше мы использовали команду service, она все еще работает, но system control — это более современная команда, и я могу сделать start, а затем go apache, скажем, давайте go apache2, это запустит веб-сервер apache2, он сделал это, хорошо, он запустил мой apache2, так что теперь, если я хочу увидеть, работает ли он на самом деле, я могу сделать ps aux, а затем grep apache2, и теперь это скажет мне, это покажет мне, является ли этот процесс, так что это покажет мне все процессы, а это фильтрует только это ключевое слово apache2, и вот мы, у нас есть вместо всего этого, что заполняет мой экран, я отфильтровал только ключевое слово apache2, и я вижу, что есть несколько процессов, которые составляют службу apache2, и поэтому это будет. Так что я просто собирался сказать, извините, просто для людей, которые могут быть сбиты с толку, то, что вы сделали там, это вы сделали свое окно терминала шире, вы хотите сделать его намного шире, а затем снова запустить команду, просто чтобы люди видели, что все это на одной строке, возможно. Вот так, это намного лучше, да, так что я сделал и попросил систему показать мне все процессы, а затем отфильтровать только ключевое слово apache2, и это все процессы, связанные со службой apache2, веб-сервером, и вы можете, он покажет мне, кто пользователь, в данном случае это пользователь root, а затем это www-data — стандартный пользователь на сервере Apache, а затем эта последняя строка здесь — это, по сути, команда, ищущая, обратите внимание, что она говорит grep, так что вы получите, когда вы сделаете это, вы получите сам поиск как процесс, и вот он, пользователь Kali, я прямо сейчас, ищу apache2, так что это последняя строка здесь — это команда, ищущая Apache, это все часть службы, которая была запущена, так что это действительно полезно, когда вы пытаетесь отфильтровать много информации, и поэтому grep — это один из тех ключевых терминов, которые, знаете, мы работаем из командной строки, и у нас слишком много информации, нам нужно что-то очень конкретное, мы можем передать вывод, хорошо, это то, что здесь, передать вывод команде фильтрации, grep — это команда фильтрации, а затем это ключевое слово, которое мы ищем, и вы видите, что я перешел от этого ps aux, так много информации, к слишком много информации, верно, также обратите внимание, что последний, последний процесс — это поиск, а затем я могу перейти, а затем я перехожу от этого к grep, а затем apache2, о, это то, что я хочу, я не хотел всей этой другой информации, у меня есть именно то, что я хочу на экране прямо сейчас, и это, это ключ. Просто для людей, которые пропустили, если вы просто прокрутите вверх, покажите людям, может быть, сбиты с толку и не осознают, что есть много процессов, верно, да, как сумасшедшие, прямо там, сумасшедшие. Это все процессы, которые работают на вашей системе, и многие из них просто запускаются по умолчанию, когда вы запускаете свою систему, это не те, которые я обязательно запустил, но по мере того, как вы запускаете свою систему, чем дольше вы ее запускаете, здесь вчера мы занимались взломом API, и это, это crappy — это симуляция инструмента API, который мы можем использовать для атаки на API, так что у вас много всего работает здесь, но я только хотел увидеть это, это все, что я хотел увидеть, я хочу увидеть службы для Apache, даже если в этой главе немного больше, я думаю, мы сделали много, и я не хочу, чтобы видео становилось слишком длинным, знаете, мы охватили много материала. OccupyTheWeb, я очень хочу поблагодарить вас за то, что вы поделились своими знаниями и, знаете, создали это своего рода видео-компаньон к вашей книге, я очень ценю, что вы, знаете, взяли весь свой опыт, и я говорил это много раз, но как бы свели его до уровня простых смертных или начинающих, так что я очень ценю, что вы это сделали, и я с нетерпением жду следующего видео. Просто для всех, кто смотрит OccupyTheWeb, и я надеюсь, мы продолжим серию, проходя по его книге, оставляйте свои комментарии ниже, дайте нам знать, что вы хотите, чтобы мы осветили, у нас есть куча идей, время — самая большая проблема, но надеюсь, мы сможем осветить много видео по Linux на моем канале OccupyTheWeb, есть ли последние слова? um, нет, нет последних слов, кроме того, что мне нравится делать это с вами, Дэвид, и надеюсь, мы сможем продолжать это. Любой, кто, знаете, хочет узнать больше о Linux, посмотрите мою книгу "Linux Basics for Hackers", она предназначена для того, чтобы начать ваш путь к становлению мастером-хакером, но первое, что вам нужно сделать, это научиться Linux, так что мы продолжим это, и мы пройдем всю книгу в течение следующих нескольких месяцев. Отлично, спасибо. Спасибо, Дэвид!