№1. Основи LINUX для хакерів (Початок роботи з основами)

7 липня 2023 4 хвилин Автор: Lady Liberty

Основи та Секрети для Хакерів

Linux – це відкрите операційна система, яка забезпечує широкий спектр можливостей для хакерів. Вона заснована на UNIX і відома своєю стабільністю, надійністю та безпекою. Лінукс має багатий набір інструментів, які дозволяють хакерам виконувати різноманітні завдання, включаючи перехоплення пакетів, аналіз безпеки мережі, відновлення паролів та багато іншого. Однією з основних переваг Linux для хакерів є його гнучкість та можливість налаштування під власні потреби. Ви можете налаштувати свою операційну систему самостійно, вибрати необхідний інтерфейс користувача, додатки та середовище розробки. Це дозволяє зосередитися на потребах хакерів і створювати оптимальне робоче середовище. Крім того, Linux має потужну командну оболонку, що називається “Bash”.

Це дозволяє хакерам використовувати скрипти для автоматизації рутинних задач та збільшення продуктивності. Командна оболонка Bash також підтримує широкий спектр утиліт та програм, які полегшують роботу з мережами, файловими системами, процесами та іншими компонентами операційної системи. Навчання основам Linux для хакерів є кроком вперед у світі кібербезпеки. Ви зможете використовувати різноманітні інструменти, такі як Metasploit, Wireshark, Nmap та інші, для здійснення тестування на проникнення, аналізу вразливостей та розробки власних скриптів. “Основи Linux для хакерів” надають чітку та зрозумілу інформацію про установку, налаштування та використання Linux у кібербезпеці. Ви дізнаєтеся про команди Linux, файлову систему, мережеві налаштування та безпекові аспекти. Крім того, ми надаємо практичні приклади та поради для вирішення реальних завдань, що стикаються хакери у своїй роботі. Отримайте необхідні навички для розуміння та використання Linux у сфері кібербезпеки. “Основи Linux для хакерів” – ваш крок до впевненості у світі хакінгу на основі відкритої операційної системи Linux. Почніть свій шлях у кібербезпеці вже сьогодні!

Початок роботи з основами

Вступні терміни і поняття

Перш ніж ми почнемо нашу подорож дивовижним світом основ Linux для хакерів, я хочу представити кілька термінів, які повинні прояснити деякі поняття, що обговорюються далі в цьому розділі.

  • Двійкові файли Цей термін заявки на файли, які можна виконати, подібно до виконуваних файлів у вікні. Двійкові файли знаходяться в каталозі /usr/bin або usr/sbin і включають такі утиліти, як ps, cat, ls і cd (у цій главі ми торкнемося всіх чотирьох із ними), як і такі програми, як бездротовий хакерський інструмент aircrackng і вторгнення системи виявлення (IDS) Snort.   

  • Чутливість до регістру – На відміну від Windows, Linux чутливий до регістру. Це означає, що Desktop відрізняється від Desktop, який відрізняється від Desktop. Кожне з них представлятиме інше ім’я файлу або каталогу. Багато людей, які походять із середовища Windows, можуть вважати це неприємним. Якщо ви отримуєте повідомлення про помилку “файл або каталог не знайдено” і ви впевнені, що файл або каталог існує, можливо, вам потрібно перевірити свій випадок.

  • Каталог – Це те саме, що папка в Windows. Каталог забезпечує спосіб організації файлів, як правило, ієрархічним чином.

  • Головна – Кожен користувач має власний каталог /home, і, як правило, тут типово зберігаються створені вами файли.

  • Kali Kali Linux – це дистрибутив Linux, спеціально розроблений для тестування на проникнення. Він має сотні попередньо встановлених інструментів, що заощаджує вам години, необхідні для їх самостійного завантаження та встановлення. На момент написання цієї статті я буду використовувати останню версію Kali: Kali 2018.2, вперше випущений у квітні 2018 року.

  • Root Як і майже кожна операційна система, Linux має обліковий запис адміністратора або суперкористувача, призначений для використання довіреною особою, яка може робити майже все в системі. Це включатиме такі речі, як переналаштування системи, додавання користувачів та зміна паролів. У Linux цей обліковий запис називається root. Як хакер або пентестер, ви часто використовуєте обліковий запис root, щоб дати собі контроль над системою. Насправді, багато хакерських інструментів вимагають, щоб ви використовували обліковий запис root.

  • Скрипт – Це серія команд, що виконуються в інтерпретаційному середовищі, яке перетворює кожен рядок у вихідний код. Багато інструментів злому – це просто скрипти. Скрипти можна запускати за допомогою інтерпретатора bash або будь-якого іншого інтерпретатора скриптової мови, такого як Python, Perl або Ruby. Python в даний час є найпопулярнішим інтерпретатором серед хакерів.

  • Оболонка – Це середовище та інтерпретатор для запуску команд у Linux. Найбільш широко використовуваною оболонкою є bash, що розшифровується як оболонка Борна, але інші популярні оболонки включають оболонку C і оболонку Z. Я буду використовувати bash shell виключно в цій книзі.

  • Термінал – Це інтерфейс командного рядка (CLI).

Маючи ці основи позаду, ми спробуємо методично розвинути основні навички Linux, які вам знадобляться, щоб стати хакером або тестувальником проникнення. У цьому першому розділі я розповім вам про початок роботи з Kali Linux.

Екскурсія Kali

Після запуску Kali вас зустріне екран входу, як показано на мал. Увійдіть, використовуючи root обліковий запис username root і пароль за замовчуванням toor.

Вхід у Kali за допомогою облікового запису root

Тепер ви повинні мати доступ до робочого столу Kali. Ми швидко розглянемо два основних аспекти робочого столу: інтерфейс терміналу та структуру файлів.

Робочий стіл Kali

Першим кроком у використанні Kali є відкриття терміналу, який є інтерфейсом командного рядка, який ми будемо використовувати в цій книзі. У Kali Linux ви знайдете піктограму терміналу внизу робочого столу. Двічі клацніть цю піктограму, щоб відкрити термінал, або натисніть клавішу CTRLALTT. Ваш новий термінал повинен виглядати так, як показано на малюнку.

Термінал Калі

Цей термінал відкриває середовище командного рядка, відоме як оболонка, яка дозволяє запускати команди в базових операційних системах і писати сценарії. Хоча Linux має багато різних середовищ оболонки, найпопулярнішою є оболонка bash, яка також є оболонкою за замовчуванням у Kali та багатьох інших дистрибутивах Linux. Для зміни пароля можна скористатися командою passwd.

Файлова система Linux

Структура файлової системи Linux дещо відрізняється від структури Windows. Linux не має фізичного диска (наприклад, диска C:) в основі файлової системи, але замість цього використовує логічну файлову систему. На самому верху структури файлової системи знаходиться /, який часто називають коренем файлової системи, як якщо б це було перевернуте дерево. Майте на увазі, що це відрізняється від кореневого користувача. Спочатку ці терміни можуть здатися заплутаними, але їх стане легше розрізняти, як тільки ви звикнете до Linux.

Файлова система Linux

Корінь (/) файлової системи знаходиться у верхній частині дерева, і нижче наведено найважливіші підкаталоги, які слід знати:

  • /root  Домашній каталог всемогутнього кореневого користувача

  • /etc  Зазвичай містить файли конфігурації Linux — файли, які контролюють, коли і як програми запускаються

  • /home  Домашній каталог користувача

  • /mnt  Де інші файлові системи приєднані або змонтовані до файлової системи

  • /media  Де компакт-диски та USB-пристрої зазвичай підключаються або монтуються до файлової системи

  • /bin  Де знаходяться двійкові файли програм (еквівалент виконуваних файлів у Microsoft Windows)

  • /lib  Де можна знайти бібліотеки (спільні програми, подібні до бібліотек DLL Windows)

У цій книзі ми приділимо більше часу цим ключовим каталогам. Розуміючи ці каталоги першого рівня важливі для навігації файловою системою з командним рядком.

Також важливо знати, перш ніж почати, що ви не повинні входити в систему як root, коли виконаннуєте рутинні завдання, тому що кожен, хто зламає вашу систему (так, хакери іноді вас зламали), якщо ви ввійшли в систему як root, одразу отримаєте root привілеї щоб «володіти» вашою системою. Увійдіть як звичайний користувач, починаючи звичайний програми, перегляд веб-сторінок, запуск таких інструментів, як Wireshark тощо.

Основні команди в LINUX

Для початку давайте розглянемо деякі основні команди, які допоможуть вам встати і працювати в Linux.

Пошук себе з pwd

На відміну від того, коли ви працюєте в графічному середовищі інтерфейсу користувача (GUI), такому як Windows або macOS, командний рядок в Linux не завжди робить очевидним, в якому каталозі ви зараз перебуваєте. Щоб перейти до нового каталогу, зазвичай потрібно знати, де ви зараз знаходитесь. Команда поточного робочого каталогу, pwd, повертає ваше розташування в структурі каталогів.

Введіть pwd у вашому терміналі, щоб побачити, де ви знаходитесь:

Калі >PWD /корінь

У цьому випадку Linux повернув /root, повідомивши мені, що я перебуваю в каталозі користувача root. І оскільки ви ввійшли як root під час запуску Linux, ви також повинні бути в каталозі кореневого користувача, який знаходиться на рівень нижче верхньої частини структури файлової системи (/). Якщо ви перебуваєте в іншому каталозі, pwd поверне це ім’я каталогу.

Перевірка вашого входу за допомогою whoami

У Linux єдиний “всемогутній” суперкористувач або системний адміністратор називається root, і він має всі системні привілеї, необхідні для додавання користувачів, зміни паролів, зміни привілеїв тощо. Очевидно, ви не хочете, щоб хтось мав можливість вносити такі зміни; Вам потрібен хтось, кому можна довіряти і хто має належні знання операційної системи. Як хакер, ви, як правило, повинні мати всі ці права для запуску потрібних програм і команд (багато хакерських інструментів не працюватимуть, якщо у вас немає прав root), тому ви захочете увійти як root.

Якщо ви забули, чи ввійшли ви як root чи інший користувач, ви можете скористатися командою whoami, щоб побачити, яким користувачем ви ввійшли як:

Калі >Вуамі корінь

Якби я увійшов як інший користувач, наприклад, мій особистий обліковий запис, whoami повернув би моє ім’я користувача, як показано тут:

Калі >Вуамі OTW

Навігація по файловій системі Linux

Навігація файловою системою з терміналу є важливою навичкою Linux. Щоб що-небудь зробити, вам потрібно мати можливість переміщатися, щоб знайти програми, файли та каталоги, розташовані в інших каталогах. У системі на основі графічного інтерфейсу ви можете візуально бачити каталоги, але коли ви використовуєте інтерфейс командного рядка, структура повністю заснована на тексті, а навігація по файловій системі означає використання деяких команд.

Зміна каталогів за допомогою cd

Для зміни каталогів з терміналу використовується команда change directory, cd. Наприклад, ось як змінити каталог /etc, який використовується для зберігання файлів конфігурації:

kali >cd  /etc root@kali:/etc#

Підказка зміниться на root@kali:/etc, вказуючи, що ми знаходимося в каталозі /etc. Ми можемо підтвердити це, ввівши pwd:

root@kali:/etc# pwd /etc

Щоб перейти на один рівень вгору в файловій структурі (до кореня файлової структури, або /), ми використовуємо cd, за яким слідують подвійні крапки (..), як показано тут:

  • root@kali:/etc# cd ..

  • root@kali:/# pwd

  • / root@kali:/ #

Це перемістить нас на один рівень вгору від /etc до кореневого каталогу / , але ви можете просунутися вгору на стільки рівнів, скільки вам потрібно. Просто використовуйте таку саму кількість пар з подвійними крапками, скільки кількість рівнів, які потрібно перемістити:

  •  Ви б використовували .. , щоб піднятися на один рівень.

  •  Ви б використовували  .. .. , щоб піднятися на два рівні вгору.

  •  Ви б використовували  .. .. .. просунутися вгору на три рівні і так далі.

Так, наприклад, щоб переміститися вгору на два рівні, введіть cd, а потім два набори подвійних крапок з пробілом між ними:

Калі >cd .. ..

Ви також можете перейти на кореневий рівень у файловій структурі з будь-якого місця, ввівши cd /, де / представляє корінь файлової системи.

Лістинг вмісту каталогу за допомогою ls

Щоб побачити вміст каталогу (файлів і підкаталогів), ми можемо скористатися командою ls (list). Це дуже схоже на команду dir в Windows.

Калі >LS
bin initrd.img media run var boot initrd.img.old mnt sbin vmlinuz dev lib opt srv vmlinuz.old etc lib64 proc tmp home lost+found root usr

Ця команда перелічує як файли, так і каталоги, що містяться в каталозі. Ви також можете використовувати цю команду в будь-якому конкретному каталозі, а не тільки в тому, в якому ви зараз перебуваєте, вказавши ім’я каталогу після команди; Наприклад, ls  /etc показує, що знаходиться в каталозі /etc.

Щоб отримати більше інформації про файли та каталоги, такі як їхні дозволи, власник, розмір та час останньої зміни, ви можете додати перемикач -l  після ls (l  означає довго). Це часто називають довгим перерахуванням.

Давайте спробуємо тут:

Як бачите, ls -l надає нам значно більше інформації, наприклад, чи є об’єкт файлом або каталогом, кількість посилань, власник, група, її розмір, коли вона була створена або змінена, і її ім’я.

Зазвичай я додаю перемикач -l щоразу, коли роблю лістинг у Linux, але до кожного своє. Деякі файли в Linux приховані і не будуть виявлені простою командою  ls або ls -l.

Щоб відобразити приховані файли, додайте перемикач нижнього регістру,  наприклад: Калі >ls -la Якщо ви не бачите файл, який очікуєте побачити, варто спробувати ls із позначкою a.

Отримання довідки

Майже кожна команда, програма або утиліта має спеціальний файл довідки в Linux, який містить вказівки щодо їх використання. Наприклад, якщо мені потрібна допомога з використанням найкращого інструменту бездротового злому, aircrackng, я міг би просто ввести команду aircrack-ng, а потім команду  –help:

kali >aircrack-ng –help

Зверніть увагу на подвійне тире тут. Угода в Linux полягає у використанні подвійного тире (–) перед параметрами слів, таких як довідка, і одного тире (-) перед однолітерними параметрами, такими як  -h.

Коли ви вводите цю команду, ви повинні побачити короткий опис інструменту та вказівки щодо його використання. У деяких випадках можна використовувати або  -h, або -? , щоб перейти до файлу довідки. Наприклад, якщо мені потрібна допомога з використанням найкращого хакерського інструменту сканування портів, nmap, я б ввів наступне:

калі >nmap -h

На жаль, хоча багато програм підтримують всі три варіанти (–help,  -h і -?), немає гарантії, що програма, яку ви використовуєте, буде. Тому, якщо один варіант не працює, спробуйте інший.

Посилання на сторінки посібника з man

Окрім перемикача довідки, більшість команд і програм мають посібник (man) сторінку з додатковою інформацією, такою як опис і короткий опис команди або додаток. Ви можете переглянути сторінку довідки, просто ввівши man перед командою, утилітою, або додаток. Наприклад, щоб переглянути сторінку довідки для aircrackng, потрібно ввести наступне:

Наприклад, щоб переглянути сторінку довідки для aircrackng, потрібно ввести наступне:

Це відкриває посібник для aircrackng, надаючи вам більш детальну інформацію, ніж довідковий  екран. Ви можете прокрутити цей файл вручну за допомогою клавіші ENTER, або ви можете перегорнути та зменшити сторінку за допомогою  клавіш PG DN та PG UP відповідно. Щоб вийти, просто введіть q (для quit), і ви повернетеся до командного рядка.

Пошук матеріалу

Поки ви не ознайомитеся з Linux, орієнтуватися може бути неприємно, але знання кількох основних команд і методів допоможе зробити командний рядок набагато зручнішим. Наступні команди допоможуть вам знайти речі з терміналу.

Пошук за допомогою locate (Searching with locate)

Напевно, найпростішою командою для використання є locate. Після ключового слова, що позначає те, що саме ви хочете знайти, ця команда пройде через всю вашу файлову систему та знайде кожне входження цього слова.

Наприклад, щоб знайти aircrackng, введіть наступне:

kali >locateaircrack-ng
/usr/bin/aircrack­ng
/usr/share/applications/kali­aircrack­ng.desktop
/usr/share/desktop­directories/05­1­01­aircrack­ng.directory
­­snip­­
/var/lib/dpkg/info/aircrack­ng.mg5sums

Однак  команда locate не є досконалою. Іноді результати пошуку можуть бути приголомшливими, надаючи вам занадто багато інформації. Крім того, функція пошуку використовує базу даних, яка зазвичай оновлюється лише раз на день, тому, якщо файл було створено кілька хвилин або кілька годин тому, він може з’явитися в цьому списку лише наступного дня. Варто знати недоліки цих основних команд, щоб ви могли краще вирішити, коли краще використовувати кожну з них.

Пошук двійкових файлів з whereis

Якщо ви шукаєте бінарний файл, ви можете скористатися командою whereis,  щоб знайти його. Ця команда повертає не тільки розташування двійкового файлу, але і його джерело і головну сторінку, якщо вони доступні.

Ось приклад:

Калі >Де Aircrack-ng aircarckng: /usr/bin/aircarckng /usr/share/man/man1/aircarckng.1.gz

У цьому випадку де повертаються лише двійкові файли aircrackng та сторінка людини, а не кожне входження слова aircrackng. Набагато ефективніше і висвітлююче, вам не здається?

Знаходження двійкових файлів у змінній PATH

Команда which є ще більш конкретною: вона повертає лише розташування двійкових файлів   у змінній PATH у Linux. Ми більш уважно розглянемо змінну  PATH в главі 7, але поки досить знати, що PATH  містить каталоги, в яких операційна система шукає команди, які ви виконуєте в командному рядку. Наприклад, коли я вводжу aircrack-ng  в командному рядку, операційна система дивиться на  змінну PATH, щоб побачити, в яких каталогах вона повинна шукати aircrackng:

Калі >який аерокрек-нг /usr/bin/aircrackng

Тут, який зміг знайти один бінарний файл в каталогах, перерахованих в  змінній PATH. Як мінімум, ці каталоги зазвичай включають /usr/bin, але можуть включати /usr/sbin і, можливо, кілька інших.

Виконання більш потужних пошуків за допомогою пошуку

Команда find  є найпотужнішою і гнучкою з утиліт пошуку. Він здатний розпочати пошук у будь-якому визначеному каталозі та шукати ряд різних параметрів, включаючи, звичайно, ім’я файлу, а також дату створення або зміни, власника, групу, дозволи та розмір.

Ось основний синтаксис для find:

Пошук виразу параметрів каталогу

Отже, якби я хотів шукати файл з ім’ям apache2 (веб-сервер з відкритим вихідним кодом), що починається в кореневому каталозі, я б ввів наступне:

kali >find /➊ -type f➋ -name apache2➌ Спочатку заявляю директорію, в якій потрібно починати пошук, в даному випадку / ➊. Потім вказую, який тип файлу шукати, в даному випадку f для звичайного файлу ➋. Нарешті, я даю ім’я файлу, який я шукаю, в даному випадку apache2 ➌.

Мої результати пошуку показані тут:

kali >find / -type f -name  apache2 /usr/lib/apache2/mpmitk/apache2
/usr/lib/apache2/mpmevent/apache2
/usr/lib/apache2/mpmworker/apache2
/usr/lib/apache2/mpmprefork/apache2
/etc/cron.daily/apache2
/etc/logrotate.d/apache2
/etc/init.d/apache2
/etc/default/apache2

Команда find починалася у верхній частині файлової системи (/), проходила по кожному каталогу, шукаючи apache2 в імені файлу, а потім перераховувала всі знайдені екземпляри.

Як ви можете собі уявити, пошук, який шукає в кожному каталозі, може бути повільним. Один із способів прискорити його – шукати лише в каталозі, де ви очікуєте знайти потрібні файли. У цьому випадку ми шукаємо файл конфігурації, щоб ми могли розпочати пошук у каталозі /etc, а Linux шукатиме лише у своїх підкаталогах.

Давайте спробуємо:

kali >знайти /etc -type f -name apache2
/etc/init.d/apache2
/etc/logrotate.d/apache2
/etc/cron.daily/apache2

Цей набагато швидший пошук виявив лише випадки apache2 у каталозі /etc та його підкаталогах. Важливо також зазначити, що на відміну від деяких інших команд пошуку, find відображає лише точні збіги імен. Якщо файл apache2 має розширення, наприклад apache2.conf, пошук не знайде відповідності. Ми можемо виправити це обмеження, використовуючи символи узагальнення, які дозволяють нам зіставляти кілька символів. Символи узагальнення бувають у кількох різних формах: * . , ? і [].

Давайте розглянемо в каталозі /etc всі файли, які починаються з apache2 і мають будь-яке розширення. Для цього ми могли б написати  команду пошуку, використовуючи наступну символ узагальнення:

kali >find /etc -type f --name apache2.*
/etc/apache2/apache2.conf

Коли ми запускаємо цю команду, ми виявляємо, що в каталозі /etc є один файл, який відповідає шаблону apache2.*.  Коли ми використовуємо крапку, за якою слідує * wildcard, термінал шукає будь-яке розширення після імені файлу apache2. Це може бути дуже корисним методом для пошуку файлів, розширення яких невідоме.

Коли я виконую цю команду, я знаходжу два файли, які починаються з apache2 у каталозі /etc, включаючи файл apache2.conf.

Фільтрація за допомогою grep

Дуже часто при використанні командного рядка вам знадобиться пошук певного ключового слова. Для цього ви можете використовувати команду grep як фільтр для пошуку ключових слів.

Команда grep часто використовується, коли вивід передається від однієї команди до іншої. Я висвітлюю трубопроводи в главі 2, але поки що досить сказати, що Linux (і Windows, якщо на те пішло) дозволяє нам взяти вихід однієї команди і відправити її як вхідні дані іншій команді. Це називається трубопроводами, і ми використовуємо | для цього (клавіша | зазвичай знаходиться над клавішею ENTER на клавіатурі).

Команда ps використовується для відображення інформації про процеси, запущені на машині. Ми більш детально розглянемо це  в розділі 6, але для цього прикладу, припустимо, що я хочу побачити всі процеси, запущені в моїй системі Linux. У цьому випадку я можу використовувати команду ps (процеси), за якою слідують перемикачі aux, щоб вказати, яку інформацію про процес відображати, наприклад: kali >ps aux.

Це надає мені список усіх процесів, запущених у цій системі, але що робити, якщо я просто хочу знайти один процес, щоб перевірити, чи запущено його?

Я можу зробити це, перенісши вихідні дані з ps до grep і шукаючи ключове слово. Наприклад, щоб дізнатися, чи працює служба apache2, я б ввів наступне.

kali >ps aux | grep apache2 root 4851 0.2 0.7 37548 7668 ?  Ss 10:14 0:00 /usr/sbin/apache2 k start root 4906 0.0 0.4 37572 4228 ?  S 10:14 0:00 /usr/sbin/apache2 k start root 4910 0.0 0.4 37572 4228 ?  Ss 10:14 0:00 /usr/sbin/apache2 k почати snip

Ця команда каже Linux відобразити всі мої послуги, а потім надіслати цей вихід до grep, який перегляне вихідні дані для ключового слова apache2, а потім відобразить лише відповідний вихід, тим самим заощадивши мені значний час та мій зір.

Зміна файлів і каталогів

Знайшовши файли та каталоги, потрібно виконати з ними дії. У цьому розділі ми розглянемо, як створювати файли і каталоги, копіювати файли, перейменовувати файли, видаляти файли і каталоги.

Створення файлів

Існує багато способів створення файлів в Linux, але поки ми розглянемо лише два простих методу. Перший – кішка, що скорочення від concatenate, що означає об’єднувати шматочки разом (не посилання на вашого улюбленого одомашненого представника котячих). Команда cat зазвичай використовується для відображення вмісту файлу, але її також можна використовувати для створення невеликих файлів. Для створення файлів більшого розміру краще ввести код у текстовому редакторі, зокрема vim, emacs, leafpad, gedit або kate, а потім зберегти його як файл.

Конкатенація з котом

Команда  cat, за якою слідує ім'я файлу, відображатиме вміст цього файлу, але щоб створити файл, ми слідуємо команді cat з перенаправленням, позначеним символом >,  та ім'ям файлу, який ми хочемо створити. Ось приклад:
 
Калі >Кішки > хакерські навички

Якщо ви не використовуєте символ перенаправлення, Linux виплюне назад вміст вашого файлу.

Щоб додати або додати більше вмісту до файлу, можна скористатися командою cat із подвійним переспрямуванням (>>), а потім усім, що потрібно додати в кінець файлу. Ось приклад:

Калі >Кішки >> хакерські навички

Кожен повинен навчитися хакерству Linux знову переходить в інтерактивний режим, чекаючи, поки контент додасться до файлу.

Коли я входжу в Кожен повинен навчитися хакерству і натискаю CTRLD, я повертаюся до підказки. Тепер, коли я відображаю вміст цього файлу  з котом, я бачу, що файл був доданий з Кожен повинен навчитися злому, як показано тут:

Калі >Навички злому котів

Хакерство – найцінніший набір навичок 21 століття! Кожен повинен навчитися хакерству. Якщо я хочу перезаписати файл новою інформацією, я можу просто знову використовувати команду cat з одним редиректом, наступним чином:

Калі >Кішки > хакерські навички

Кожен, хто займається ІТ-безпекою без навичок злому, знаходиться в темряві калі > кішки хакерські навички. Кожен, хто займається ІТ-безпекою без хакерських навичок, знаходиться в темряві

Як ви можете бачити тут, Linux переходить в інтерактивний режим, і я вводжу новий текст, а потім виходжу назад до підказки. Коли я знову використовую cat, щоб побачити вміст файлу, я бачу, що мої попередні слова були перезаписані останнім текстом.

Створення файлів дотиком

Друга команда для створення файлу – touch. Ця команда спочатку була розроблена таким чином, щоб користувач міг просто торкнутися файлу, щоб змінити деякі його деталі, такі як дата його створення або зміни. Однак, якщо файл ще не існує, ця команда створює його за промовчанням.

Давайте створимо новий файл за допомогою дотику:

kali >торкніться нового файлу

Тепер, коли я потім використовую ls -l, щоб побачити довгий список каталогу, я бачу, що створено новий файл з ім’ям newfile. Зауважте, що його розмір дорівнює 0, оскільки в новому файлі немає вмісту.

Створення каталогу

Командою для створення каталогу в Linux є mkdir, скорочення make directory.

Щоб створити каталог з іменем newdirectory, введіть таку команду:

kali >mkdir newdirectory

Щоб перейти до цього новоствореного каталогу, просто введіть це:

kali >cd newdirectory

Копіювання файлу

Для копіювання файлів використовуємо команду cp . Це створює дублікат файлу в новому розташуванні та залишає старий на місці. Тут ми створимо файл oldfile у кореневому каталозі дотиком  і скопіюємо його до /root/newdirectory, перейменовуючи його в процесі і залишаючи оригінальний oldfile на місці:

  1. kali >дотик oldfile

  2. kali >cp oldfile /root/newdirectory/newfile

Перейменування файлу не є обов’язковим і здійснюється простим додаванням імені, яке ви хочете йому дати, в кінець шляху до каталогу. Якщо не перейменувати файл під час копіювання, вихідне ім’я файлу збережеться за промовчанням.

Коли ми потім переходимо до нового каталогу, ми бачимо, що існує точна копія oldfile під назвою newfile:

  1. kali >cd newdirectory kali >ls

  2. newfile oldfile

Перейменування файлу

На жаль, Linux не має команди, призначеної виключно для перейменування файлу, як це робить Windows та деякі інші операційні системи, але вона має команду mv (move).

Команда mv може бути використана для переміщення файлу або каталогу в нове місце або просто для надання існуючому файлу нового імені. Щоб перейменувати newfile на newfile2, слід ввести наступне:

kali >mv newfile newfile2 kali >ls oldfile newfile2

Тепер, коли ви перераховуєте (ls) цей каталог, ви бачите newfile2, але не newfile, тому що він був перейменований. Те ж саме можна вчинити і з каталогами.

Видалення файлу

Щоб видалити файл, можна просто скористатися командою rm , ось так:

kali >rm newfile2

Якщо тепер ви робите довгий список у каталозі, ви можете підтвердити, що файл видалено.

Видалення каталогу

Команда для видалення каталогу схожа на  команду rm  для видалення файлів, але з  доданим dir (для каталогу), наприклад:

kali >rmdir newdirectory

rmdir:failed видалити ‘newdirectory’: каталог не порожній

Важливо зазначити, що rmdir  не видалить каталог, який не є порожнім, але видасть вам попередження про те, що “каталог не порожній”, як ви можете бачити в цьому приклад. Перед його видаленням потрібно спочатку видалити весь вміст каталогу. Це запобігає випадковому видаленню об’єктів, які ви не збиралися видаляти.

Якщо ви хочете видалити каталог та його вміст за один раз, ви можете використовувати перемикач -r  після rm, наприклад:

kali >rm -r newdirectory

Однак застереження: будьте обережні з використанням опції -r  з rm, принаймні спочатку, тому що помилково видалити цінні файли і каталоги дуже просто. Наприклад, використання rm -r у вашому домашньому каталозі призведе до видалення всіх файлів і каталогів — ймовірно, не те, що ви планували.

ІДИ ГРАЙ ЗАРАЗ!

Тепер, коли у вас є деякі базові навички навігації по файловій системі, ви можете трохи пограти зі своєю системою Linux, перш ніж прогресувати. Найкращий спосіб звикнути до використання терміналу – випробувати свої нові навички прямо зараз. У наступних розділах ми будемо досліджувати все далі і глибше наш хакерський майданчик.

Ми використовували матеріали з книгиLINUX BASICS FOR HACKERS”, які  написав William Pollock

Інші статті по темі
Для початківцівОсвіта
Читати далі
№10. Основи LINUX для хакерів (Управління файловою системою та запам’ятовувальними пристроями)
Мета управління файловою системою та запам'ятовувальними пристроями в операційній системі Linux полягає в забезпеченні ефективного організованого зберігання та доступу до даних.
356
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.