January 17, 2023

Прохождение OverTheWire

"Бандит" Уровень 0 -> Уровень 1

Заходя на главный сайт, мы видим, что здесь есть данные для входа по ssh. Вводим их и видим файл readme в котором лежит пароль для входа на уровень 1.

ssh [email protected] -p 2220
password - bandit0

Bandit. Level 1 -> Level 2

Для перехода на первый уровень, мы вводим пароль, который получили с файла readme

ssh [email protected] -p 2220
password - NH2SXQwcBdpmTEzi3bvBHMM9H66vVXjL

Здесь уже пароль мы находим командой:

cat ./-

Level 2 -> Level 3

Здесь так же написано, что Пароль для следующего уровня хранится в файле с именем spaces in this filename , расположенного в домашнем каталоге.

Значит проверить мы это можем одной командой - cat

cat spaces\ in\ this\ filename

password - aBZ0W5EmUfAf7kHTQeOwd8bauFJ2lAiG

Level 3 -> Level 4

Дальше сайт нам говорит, что Пароль для следующего уровня хранится в скрытом файле в inhere каталог.

Прописываем команду - ls. И видим здесь каталог "inhere". Переходим в него.

Теперь, когда мы перешли в каталог, то мы можем прописать команду "ls", чтобы посмотреть его содержимое. Но т.к в задании сказано, что файл скрыт, эта команда нам ничего не покажет

Для того, чтобы найти скрытый файл в директории, прописываем ту же команду "ls" но с флагом -a, где мы можем заметить файл .hidden

ls -a
password - 2EW7BBsr6aMMoJ2HjW067dm8EgX26xNe

Level 4 -> Level 5

Нам так же дают подсказку: Пароль для следующего уровня хранится в единственном удобочитаемом формате. файл в каталоге inhere.

Перейдя в каталог inhere, мы видим там много разных файлов. Дабы найти нужный удобочитаемый файл, будем использовать команду "file", которая позволит нам узнать тип данных всех этих файлов.

file -- *

Мы нашли читаемый файл -file07

cat ./-file07
password - lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR

Level 5 -> Level 6

Itak: Пароль для следующего уровня хранится в файле где-то под каталог inhere и имеет все следующие свойства:

  • human-readable
  • 1033 bytes in size
  • not executable

Нам известно, что: Размер 1033 байта, файл не исполняемый. Для поиска по таким данным будем использовать команду "find", которая позволит нам найти файл по заданным значениям.

find . -type f -readable ! -executable -size 1033c
password - P4L4vucdmLnm8I7Vl7jG1ApGSfjYKqJU

Level 6 -> Level 7

Итак, получаем новые данные:

Пароль для следующего уровня хранится где-то на server и имеет все следующие свойства:

  • принадлежит пользователю bandit7
  • принадлежит группе бандит6
  • размер 33 байта

Так же используем команду find, но задаём другие аргументы:

find / -user bandit7 -group bandit6 -size 33c 2> /dev/null
password - z7WtoNQU2XfjmMtWA8u5rN4vzqu4v99S

Level 7 -> Level 8

Пароль для следующего уровня хранится в файле data.txt рядом со словом millionth

Прописав команду cat, мы получаем огромный массив данных в файле data.txt

Для поиска нужного нам пароля, будем использовать команду "grep", которая позволит нам найти строчку с нужным названием.

cat data.txt | grep millionth
password - TESKZC0XvTetK0S9xNwm25STk5iWrBvP

Level 8 -> Level 9

Нам известно, что: Пароль для следующего уровня хранится в файле data.txt и это единственная строка текста, которая встречается только один раз.

Уникальная строка... В таком случае мы будем использовать команду "sort", чтобы рассортироваты строки по уникальным или же "uniq"

cat data.txt | sort | uniq -u
password - EN632PlfYiZbn3PhVK3XOGSlNInNE00t

Здесь флаг -u отвечает за игнорирование повторяющиехся строк

Level 9 -> Level 10

Пароль для следующего уровня хранится в файле data.txt в одной из немногих удобочитаемых строк, перед которыми стоит несколько знаков '=' символы.

Здесь сказано, что пароль в одной из удобочитаемых строк, значит будем использовать команду "strings". Данная команда нужна для поиска печатаемых строк в двоичных файлах. Она выводит последовательности печатаемых символов, обнаруженных в заданном файле.

strings data.txt | grep "===="
password - G7w8LIi6J3kTb8A7j9LgrywtEUlyyp6s

На этом пока все. Всего там 33 уровня и скаждым новым продвижением будет все сложнее и сложнее. Данный сайт позволяет проверить свои знания в Linux. Сам сайт