Приветствие


Основы Linux

Данный модуль познакомит Вас с основами взаимодействия с командной строкой.
Командная строка (command line) позволяет Вам выполнять команды.
Когда Вы запускаете терминал, в нём стартует «оболочка» командной строки (shell), и она будет выглядеть примерно так:

hacker@hello:~$

Это называется «приглашение командной строки» (prompt), и оно предлагает Вам ввести команду.

Рассмотрим подробнее, что здесь происходит подробно:

  • hacker в приглашении — это имя пользователя (username) текущего пользователя.
    В среде pwn.college DOJO этим пользователем является «hacker».
  • hello в примере выше — это имя хоста (hostname) машины, на которой запущена оболочка.
    Такое напоминание бывает полезно, например, системным администраторам, которые ежедневно работают с большим количеством машин.
    В нашем примере имя хоста — hello, но в практических задачах оно будет сменяться, формируясь на основе названия задания, которое Вы проходите.
  • Значение символа ~ мы разберём чуть позже.
  • Символ $ в конце приглашения означает, что пользователь hacker не является административным пользователем.
    В гораздо более поздних модулях, когда Вы научитесь использовать эксплойты для перехода к административному пользователю, приглашение будет меняться: вместо $ Вы увидите # — так Вы поймёте, что добились успеха.

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

ПРИМЕЧАНИЕ:
Подробный учебник по командной строке bash доступен по следующей ссылке.

В этом задании Вам предстоит выполнить первую команду в Linux. Надеюсь Вы заинтригованы.

В данном примере пользователь выполнил команду whoami, которая просто выводит имя пользователя (hacker) в терминал. Когда Вы вводите команду и нажимаете Enter, эта команда запускается на выполнение, например:

hacker@hello:~$ whoami
hacker

Когда команда завершает работу, оболочка снова выводит приглашение и готова принять следующую команду.

hacker@hello:~$

ЗАДАНИЕ:

В этом уровне Вам нужно выполнить команду hello, чтобы получить флаг.
Имейте в виду: в Linux команды чувствительны к регистру, то есть hello отличается от HELLO.

Connect with SSH

Link your SSH key, then connect with: ssh hacker@dojo.pwn.college

Давайте попробуем что‑то немного сложнее: команду с аргументами, то есть с дополнительными данными, которые передаются команде.
Когда Вы вводите строку текста и нажимаете Enter, оболочка разбирает ввод на саму команду и её аргументы.
Первое слово — это команда, а последующие слова являются аргументами.
Рассмотрим пример:

hacker@hello:~$ echo Hello
Hello
hacker@hello:~$

В данном случае командой является echo, а аргументом — Hello.
Команда echo — это простая команда, которая «отображает» все переданные ей аргументы обратно в терминал так, как показано в сессии выше.

Посмотрим на echo с несколькими аргументами:

hacker@hello:~$ echo Hello Hackers!
Hello Hackers!
hacker@hello:~$

В этом случае командой снова является echo, а Hello и Hackers! — это два аргумента, переданные команде echo.
Всё довольно просто.

В данном задании, чтобы получить флаг, Вам необходимо выполнить команду hello (НЕ echo) с одним аргументом hackers.
Попробуйте сделать это сейчас.

Connect with SSH

Link your SSH key, then connect with: ssh hacker@dojo.pwn.college

Вам предстоит вводить много команд, и каждый раз набирать всё с нуля может быть утомительно.
К счастью, оболочка сохраняет историю всех выполняемых Вами команд.

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

ПРИМЕЧАНИЕ: В других заданиях в истории будут сохраняться команды, которые Вы уже запускали, поэтому, если Вам нужно повторно выполнить похожую команду, Вы можете использовать стрелки для пролистывания и поиска нужной записи.

Connect with SSH

Link your SSH key, then connect with: ssh hacker@dojo.pwn.college