Найти в Дзене
Хакер поневоле

Linux от новичка к новичку: приключения в мире командной строки

Привет! Я, как и вы, недавно приземлился на эту планету под названием Linux. Первое время было ощущение, будто я попал в какую-то компьютерную секту, где все общаются на непонятном языке: ls, cd, nano... Звучит как заклинания из Гарри Поттера. Но мы уже освоили первые буквы этого алфавита. Мы умеем ходить по папкам, смотреть файлы и что-то удалять. А теперь давайте перейдём к чему-то более интересному. Я хочу рассказать вам, какие открытия я сделал на этом пути и как это превратило скучную командную строку в настоящую песочницу для пентеста и OSINT. Сначала я делал так: вводил команду, смотрел результат, потом вводил другую... Это было как общаться с роботом, который понимает только одну фразу за раз. Но потом я узнал про конвейер | (палочка) и перенаправление (>, >>), и это полностью изменило моё мышление. Конвейер (|) — это как передавать эстафетную палочку. Результат одной команды передаётся на вход другой. Представьте, вам нужно найти файл с именем "ключи.txt" на всём компьютере,

Привет! Я, как и вы, недавно приземлился на эту планету под названием Linux. Первое время было ощущение, будто я попал в какую-то компьютерную секту, где все общаются на непонятном языке: ls, cd, nano... Звучит как заклинания из Гарри Поттера.

Но мы уже освоили первые буквы этого алфавита. Мы умеем ходить по папкам, смотреть файлы и что-то удалять. А теперь давайте перейдём к чему-то более интересному. Я хочу рассказать вам, какие открытия я сделал на этом пути и как это превратило скучную командную строку в настоящую песочницу для пентеста и OSINT.

  • 1. Как я научился разговаривать с командами: магия конвейеров и файлов

Сначала я делал так: вводил команду, смотрел результат, потом вводил другую... Это было как общаться с роботом, который понимает только одну фразу за раз. Но потом я узнал про конвейер | (палочка) и перенаправление (>, >>), и это полностью изменило моё мышление.

Конвейер (|) — это как передавать эстафетную палочку. Результат одной команды передаётся на вход другой. Представьте, вам нужно найти файл с именем "ключи.txt" на всём компьютере, но при этом вы не хотите видеть миллион сообщений об "отказе в доступе".

Я научился делать так:

find / -name "ключи.txt" 2>/dev/null

Здесь 2>/dev/null — это специальная команда, которая отправляет все сообщения об ошибках в "чёрную дыру" (/dev/null), и на экране вы видите только результат.

А если я хочу сохранить этот результат в файл, чтобы потом его изучить? Тут в дело вступает перенаправление >.

find / -name "ключи.txt" 2>/dev/null > find_results.txt

Теперь результат поиска будет не на экране, а в файле find_results.txt. Круто, правда? А если я захочу добавить в этот же файл ещё что-то, чтобы не стирать старое, я использую >>. Это как записывать новые мысли в конец дневника.

  • 2. Секреты файловой системы: где что лежит?

Поначалу для меня все папки в Linux были на одно лицо. Я знал, где моя домашняя папка (/home/0xuser), и всё. Но потом я понял, что файловая система — это как огромный дом, и каждая комната имеет своё назначение.

* /etc: Это "чердак" с настройками. Здесь хранятся все конфигурационные файлы для всей системы. Если вы хотите что-то поменять в сервисах (например, в веб-сервере Apache), ищите здесь. Помните, что доступ к этой папке — ключ к пониманию того, как работает система.

* /var: Это "кладовая с временными вещами". Здесь хранятся логи (/var/log), базы данных, кеши и файлы сайтов, если вы их хостите. Если что-то пошло не так, первое, куда я иду, это в логи.

* /tmp: Это "мусорка". Здесь хранятся временные файлы, которые могут быть удалены в любой момент. Я обычно использую её, когда мне нужно что-то быстро сохранить и не жалко потерять.

* /dev: Тут находятся "устройства". Это не файлы в привычном смысле, а интерфейсы для взаимодействия с оборудованием. Это очень полезно, если вы работаете с дисками или внешними устройствами.

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

  • 3. Кто здесь главный? Процессы, права и sudo

Когда я сидел в atop, я видел, как какая-то "неведомая зверушка" съедает 50% моего процессора. Оказывается, это был запущенный мною скрипт, о котором я уже забыл. ps aux и atop — это как рентген. Они показывают, что происходит внутри вашей системы, и позволяют найти то, что не должно быть запущено.

А потом мне рассказали про root и sudo. Поначалу я думал, что sudo (команда "суперпользователя") — это просто способ установить программу. Но это не так. Это команда, которая превращает вас в Бога на компьютере. С помощью неё вы можете сделать что угодно, включая "убить" систему. Я однажды чуть не удалил половину системных файлов, просто потому что забыл проверить путь. Теперь я отношусь к sudo с уважением.

И, конечно, права доступа! Это мой личный кошмар, который я теперь обожаю. Представьте, вы написали скрипт, а он не запускается! Я чуть не сломал клавиатуру, пока не понял, что ему просто не хватает разрешения на выполнение. Это как если бы вы дали другу машину, а ключ оставили у себя. Вроде машина, но поехать не может.

  • ​chmod: Эта команда даёт "ключи". Например, chmod +x my_script.sh даёт "право на вождение" (выполнение) для всех.
  • ​chown: Эта команда меняет "владельца". Например, chown user:user file.txt говорит системе: "Теперь эта машина принадлежит мне".
  • ​4. Мой первый сетевой взлом... самого себя

​Пентест — это не только про то, как залезть куда-то, но и про то, как понять, что происходит в сети. Я вот только недавно начал в этом разбираться.

​ifconfig (или ip a на новых системах): Это как спросить у себя "Где я нахожусь?". Эта команда показывает ваш IP-адрес и настройки сети.

​ping: Это как "Эй, ты здесь?". Я использую ping чтобы проверить, работает ли соединение с каким-то сайтом. Если мне приходит ответ, значит, всё в порядке. Если нет, то, возможно, с сетью что-то не так.

​Я попробовал ping 127.0.0.1. Это мой собственный компьютер. И, о чудо, он ответил! Я сделал свой первый "пинг-тест" и понял, что я в сети.

​Заключение:

​Этот путь сложный, иногда хочется всё бросить, но когда ты вдруг понимаешь какую-то фишку, это просто невероятный кайф. Как будто ты нашёл ещё одну маленькую деталь от огромного пазла. И этот пазл — это не просто компьютер, а целая система, которую ты можешь контролировать.

​Так что давайте продолжать этот путь. Я верю, что у нас всё получится! И если у вас есть какие-то свои "ага-моменты", делитесь! Это ведь самое интересное, правда?