January 18, 2023

Kali Linux для новичков. Основные команды. Часть 2

Продолжаем цикл статей, в котором знакомим вас с самым популярным дистрибутивом для хакеров - Kali Linux 🔥

Всем салют, дорогие друзья!
Нам было очень приятно увидеть ваш фидбек по вчерашней статье. Спасибо 🖤

Сегодня мы продолжаем цикл статей, в котором знакомим вас с самым популярным дистрибутивом для хакеров - Kali Linux 🔥


⚠️ Если вы не успели прочесть 1 часть нашей статьи, то рекомендуем это сделать прямо сейчас: Kali Linux для новичков. Основные команды. Часть 1


Ну, а мы продолжаем!


Просмотр содержимого папок

Начнем, пожалуй с команды ls, которую вы уже видели и использовали.

✅ Давайте разберем опции, которые можно использовать с этой командой.

Для тех, кто забыл, напомним, что команда ls отображает содержимое директории.

Теперь более подробнее об опциях:

-l — отображает подробный список;

-a — отображает скрытые файлы;

-r — отображение по имени в обратном порядке;

-t — отображает новые файлы первыми в списке;

-rt — отображает в начале списка файлы, которые не менялись дольше всего, т.е в начале списка будут более старые файлы и папки.

Давайте посмотрим как все это работает. Сейчас мы находимся в директории home. Вводим команду ls и видим содержимое этой директории:

Если нам, по какой-либо причине, захочется отобразить содержимое директории tmp, то нам не нужно переходить в эту директорию, достаточно прописать в текущей команду ls / tmp /, и мы увидим папки и файлы, которые недавно были созданы (предыдущая статья):

Теперь посмотрим, как работают опции. Начнем с ls -l. Вводим команду ls -l / tmp /, и видим подробное отображение содержимого данной директории и ее параметры:

Вот так выглядит результат и это является подробным списком команды ls.

❓Возникает сразу вопрос, а что это за обозначения в самом начале перед каждым файлом?

Обратите на них внимание. Буква d означает — директория. Как вы успели заметить, на изображении выше практически у всех файлов есть эта буква. На самом деле это закономерно, так как все эти файлы являются директориями, и по-умолчанию в Kali они выделены синим цветом.

Символ «-», означает, что это файл. Обратите внимание на символы перед самым первым файлом «Double Encoding Injection» (смотрите изображение выше). В начале строки этого файла мы можем наблюдать символ «-».

Хотим обратить ваше внимание на то, что можно переходить и смотреть содержимое в директории, которые вложены друг в друга. Это делается с помощью все той же команды ls, без каких-либо опций, с указанием директории. В нашем случае мы смотрим содержимое директории /ssh-5G7qwZ8WuOz2, которая находится в директории /tmp:

Посмотрим, как работает опция -al. Возьмем ту же директорию /tmp. Как мы помним, опция a отображает скрытые файлы. Запишем в терминале команду: ls -al /tmp /:

Визуально можно сказать, что мы получили намного больше информации. Обратите внимание на записи, которые выделены зеленым цветом, и перед названиями которых, стоит точка. Это скрытые файлы, поэтому до этого момента мы их не видели. Еще просим обратить ваше внимание на две верхних записи, которые оканчиваются на символы «.», и «..». Вы, на наш взгляд, могли догадаться, что мы использовали эти символы в команде cd.

Давайте разберемся, как они работают. Введем команду ls -al /tmp/ssh-5G7qwZ8WuOz2/ и получим следующий результат:

Обратите внимание, что в директории /ssh-5G7qwZ8WuOz2 практически ничего нет, кроме одного файла, но дополнительно мы видим те же символы с точкой и двойной точкой.

Давайте выполним команду cd и перейдем в эту директорию:

Вспомните нашу работу с командой cd, где символ точка означал текущую рабочую директорию, а двойная точка — это переход на одну директорию вверх.

Иными словами, если в текущей директории мы выполним команду cd . , то ничего не произойдет. Давайте проверим:

В итоге наша рабочая директория не изменилась.

А если мы попробуем выполнить команду cd .. , то мы перейдем на одну директорию выше:

Таким образом, мы можем переходить все выше и выше по директориям, в конечном итоге добравшись до root:

Надеемся, что теперь вы понимаете разницу между символом точка, и двойная точка. Мы можем использовать их для разных целей.

Переходим к следующей опции, которую мы хотели бы рассмотреть, но для наглядности мы выполним команду ls -l /tmp / .

Сделаем мы это для того, чтобы вы понимали разницу между данными опциями.

Далее выполним ls -rl / tmp/:

Получилось большое изображение, но при более внимательном рассмотрении можно уловить разницу в отображении файлов. Опция -r — это отображение по имени в обратном порядке. Надеемся, вам это понятно и вы увидели, что в первом случае список файлов один, а во втором все расположено в обратном порядке.

Теперь давайте попробуем отобразить новые файлы и это делается с помощью команды ls -tl / tmp/:

Обратите внимание на время создания файлов. Можно заметить закономерность того, что первыми отображаются самые новые файлы.


Просмотр содержимого файлов

Мы уже умеем просматривать содержимое папок, а также создавать файлы, но мы не видели то, как просмотреть содержимое файлов.

Допустим, взломали вашу Linux-систему. В каждой такой системе существует скрытый файл, который называется .bash_history. Суть этого файла заключается в хранении последних 500 команд, которые были введены пользователями. Как правило данный файл находится в директории home этого пользователя.

После взлома вашей машины, вы можете посмотреть данный файл, для того, чтобы понять, что делал взломщик. Иными словами, вы можете восстановить поведение злоумышленника, а именно, узнать, что он создавал, с чем взаимодействовал и т. д.

Мы будем использовать этот файл в качестве примера и рассмотрим команду cat (concatenate), конкатенация. Эта команда отображает сразу все содержимое файла. Так жемы рассмотрим команду less.

Для начала выполним команду в терминале: ls -al.

-a означает: отобразить содержимое файлов, в том числе и скрытых, а -l: это подробный список.

Мы видим вывод файла .bash_history:

Точка перед этим файлом означает, что он скрытый, и для его отображения нам понадобилась команда -a.

Теперь давайте посмотрим содержимое этого файла, с помощью команды cat. Вводим команду: cat .bash_history:

Итак мы получили вывод последних 500 команд, и вы можете наблюдать, как знакомые, так и незнакомые команды. Также мы можем проскроллить вниз данный список и посмотреть другие введенные команды.

Когда вы авторизируетесь в системе удаленно, у вас нет возможности пролистать мышкой ползунок для просмотра. Для этого случая нужно использовать горячие клавиши: Shift+PgUp (для пролистывания вверх) и Shift+PgDn (для пролистывания вниз).

В случае, когда вам попадется большой файл, команда cat окажется неэффективной, а пролистывая страницу, можно запутаться в коде или в содержимом.

Для этих целей нужна команда less. Давайте выполним в терминале: less .bash_history:

Эта команда отображает только верхнюю часть и переход осуществляется либо на одну строку вниз, либо вверх. Для перехода вниз нужна стрелка вниз, а вверх — стрелка вверх соответственно. Можно также перейти на страницу вниз, нажав клавишу пробел (Space).

Дополнительно, для перехода на страницу вниз или вверх могут помочь клавиши PgUp (переход вверх) и PgDn (переход вниз). Для выхода из режима команды less, нужно нажать клавишу Q.

А вот и еще одна команда, которую можно использовать, чтобы быстро посмотреть файл, а также не открывать его целиком, что в некоторых ситуациях довольно удобно. В этом случае можно воспользоваться командой head, которая отображает первые 10 строк файла. Давайте попробуем.

Вводим команду: head .bash_history


Копируем файлы и директории

Давайте рассмотрим, как копировать файлы и директории в Kali Linux.

Это достаточно важная тема, поэтому не пропускайте ее.

Мы откроем графический интерфейс, чтобы вам было хорошо и наглядно видно, что происходит и что мы вообще делаем:

Теперь давайте скопируем файл, который мы уже создавали в предыдущем уроке из директории /tmp в директорию /Documents.

Файл, который мы хотим скопировать, будет называться «test», но мы будем использовать Tab для автозаполнения. Так как у нам несколько файлов, то мы нажимаем дважды клавишу «Tab», после ввода команды в терминале: cp / tmp /test:

Примечательно то, что при нажатии клавиши «Tab» один раз, система просто не поймет, какой файл нам нужен. В нашем случае система сообщает, что есть аж три файла, которые похожи по названию. Мы, для примера, возьмем файл «test3».

Структура команды «cp» выглядит так: сначала указывается сама команда, затем файл, который мы хотим скопировать, и после этого путь, куда мы хотим скопировать этот файл.

Давайте скопируем файл test3 из директории /tmp в директорию /Documents. Сделаем мы это не просто так, а заведомо укажем неправильный регистр в записи к пути в директорию /Documents. Это выглядит вот так:

Обратите внимание на изображение выше, в частности на графический интерфейс. Для наглядности мы выделили этот файл. Иными словами, мы не добились того, чего изначально хотели. Можно проверить это в терминале и еще раз убедиться:

Получилось, что мы неправильно написали путь, куда нужно было скопировать файл «test3», так как в директории нужно было указать первую заглавную букву «D» — / Documents. Мы же написали прописную букву, и команда «cp» поняла, что нужно скопировать содержимое файла «test3», в новый файл «documents».

Теперь файл «test3», и «documents» содержит одну и ту же информацию. Кстати, в Windows можно делать такие же манипуляции с файлами.

Давайте теперь все сделаем правильно. Пропишем в терминале: cp / tmp / test3 Documents/:

✅ Как видите, в итоге мы добились того, чего хотели и команда выполнена правильно.

Теперь предположим, что мы хотим скопировать файл из одной директории в другую, но назвать конечный файл мы хотим по-другому.

Это достаточно просто реализовать, к примеру, написав такую команду: cp /tmp/test3 Documents/test4:

Просмотрим содержимое директории /tmp. Как вы помните, в ней находится директория «test1», в которой находится директория «test2»:

Задача у нас будет следующая: необходимо скопировать данные директории «test1» и «test2» в директорию «Documents».

Это делается с помощью одной команды «cp» и опции «-r», которая означает рекурсивное копирование.

Вводим в терминале команду: cp -r /tmp/test1 Documents/:

Предположим, что мы хотим скопировать директорию «test1» под другим названием. Это довольно легко сделать, указав любое название.

Напишем в терминале команду: cp -r /tmp/test1 Documents/ test5:

Например, в Windows, когда мы копируем одинаковые файлы, мы имеем ввиду одинаковое название, то система либо переименовывает данные файлы, либо спрашивает, хотим ли мы перезаписать их.

В Linux же, по-умолчанию, файл перезаписывается. Для примера, давайте скопируем файл, который уже находится в директории /Documents.

Например, файл «test3». Система даже не уведомит меня о том, что будет осуществляться перезапись. Введем команду в терминале: cp / tmp/test3 Documents/:

Чтобы действие перезаписи изменить, нужно использовать опцию «-i» — interactive.

Если мы выполним ту же команду, что и в прошлом примере, но с опцией «-i», то система спросит нас, хотим ли мы перезаписать данный файл. Давайте посмотрим наглядно — вводим ту же команду в терминале, но с опцией «-i», после команды «cp»:


На этом закончим! Думаем, что на сегодня информации вам и так достаточно 😉

Если хотите продолжения, то ставьте 🔥под постом со статьей и мы продолжим!