Bandit
Перевод заданий варгейма OverTheWire: Bandit на русский язык.
Уровни 0–34. Названия команд, имена файлов, хосты и ссылки оставлены в оригинале.
SSH · bandit.labs.overthewire.org · порт 2220Уровень 0 bandit0 → bandit1
Цель уровня
Цель этого уровня — войти в игру по SSH. Хост, к которому нужно подключиться — bandit.labs.overthewire.org, порт 2220. Имя пользователя — bandit0, пароль — bandit0. После входа перейдите на страницу Уровня 1, чтобы узнать, как пройти уровень 1.
Команды, которые могут понадобиться
Полезные материалы
Уровень 1 bandit1 → bandit2
Цель уровня
Пароль для следующего уровня хранится в файле readme в домашнем каталоге. Используйте этот пароль, чтобы войти на bandit1 по SSH. Каждый раз, когда находите пароль уровня, используйте SSH (порт 2220), чтобы войти на этот уровень и продолжить игру.
Команды, которые могут понадобиться
СОВЕТ: Заведите на своей локальной машине файл для заметок и паролей!
Пароли уровней не сохраняются автоматически. Если не сохранять их самостоятельно, придётся начинать заново с bandit0.
Пароли также иногда меняются. Рекомендуется вести заметки о том, как решать каждое задание. По мере усложнения уровней подробные заметки помогают вернуться к месту, где вы остановились, служат справкой для последующих задач или помогают другим после того, как вы прошли задание.
Уровень 2 bandit2 → bandit3
Цель уровня
Пароль для следующего уровня хранится в файле с именем - в домашнем каталоге.
Команды, которые могут понадобиться
Полезные материалы
Уровень 3 bandit3 → bandit4
Цель уровня
Пароль для следующего уровня хранится в файле с именем
--spaces in this filename-- в домашнем каталоге.
Команды, которые могут понадобиться
Полезные материалы
Уровень 4 bandit4 → bandit5
Цель уровня
Пароль для следующего уровня хранится в скрытом файле в каталоге inhere.
Команды, которые могут понадобиться
Уровень 5 bandit5 → bandit6
Цель уровня
Пароль для следующего уровня хранится в единственном человекочитаемом файле в каталоге inhere. Совет: если терминал «поехал», попробуйте команду «reset».
Команды, которые могут понадобиться
Уровень 6 bandit6 → bandit7
Цель уровня
Пароль для следующего уровня хранится в файле где-то внутри каталога inhere и обладает всеми перечисленными свойствами:
- человекочитаемый;
- размер 1033 байта;
- не исполняемый.
Команды, которые могут понадобиться
Уровень 7 bandit7 → bandit8
Цель уровня
Пароль для следующего уровня хранится где-то на сервере и обладает всеми перечисленными свойствами:
- владелец — пользователь bandit7;
- группа-владелец — bandit6;
- размер 33 байта.
Команды, которые могут понадобиться
Уровень 8 bandit8 → bandit9
Цель уровня
Пароль для следующего уровня хранится в файле data.txt рядом со словом millionth.
Команды, которые могут понадобиться
man, grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd
Уровень 9 bandit9 → bandit10
Цель уровня
Пароль для следующего уровня хранится в файле data.txt и является единственной строкой текста, встречающейся лишь один раз.
Команды, которые могут понадобиться
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd
Полезные материалы
Уровень 10 bandit10 → bandit11
Цель уровня
Пароль для следующего уровня хранится в файле data.txt в одной из немногих человекочитаемых строк, перед которой стоит несколько символов «=».
Команды, которые могут понадобиться
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd
Уровень 11 bandit11 → bandit12
Цель уровня
Пароль для следующего уровня хранится в файле data.txt, который содержит данные в кодировке base64.
Команды, которые могут понадобиться
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd
Полезные материалы
Уровень 12 bandit12 → bandit13
Цель уровня
Пароль для следующего уровня хранится в файле data.txt, в котором все строчные (a-z) и заглавные (A-Z) буквы сдвинуты на 13 позиций.
Команды, которые могут понадобиться
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd
Полезные материалы
Уровень 13 bandit13 → bandit14
Цель уровня
Пароль для следующего уровня хранится в файле data.txt, который представляет собой hexdump многократно сжатого файла. На этом уровне может быть полезно создать каталог внутри /tmp, в котором вы будете работать. Используйте mkdir с труднодоступным для угадывания именем каталога. Или, что лучше, команду «mktemp -d». Затем скопируйте файл данных с помощью cp и переименуйте его с помощью mv (читайте man-страницы!).
Команды, которые могут понадобиться
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd, mkdir, cp, mv, file
Полезные материалы
Уровень 14 bandit14 → bandit15
Цель уровня
Пароль для следующего уровня хранится в /etc/bandit_pass/bandit14 и может быть прочитан
только пользователем bandit14. На этом уровне вы получаете не сам следующий пароль, а
приватный SSH-ключ, с помощью которого можно войти на следующий уровень. Посмотрите на команды,
которыми вы входили на предыдущие уровни bandit, и выясните, как использовать ключ для этого уровня.
Если нужна помощь с этим уровнем: файл с подсказкой можно найти в домашнем каталоге.
Обязательно читайте сообщения об ошибках — они информативны.
Команды, которые могут понадобиться
ssh, scp, umask, chmod, cat, nc, install
Полезные материалы
Уровень 15 bandit15 → bandit16
Цель уровня
Пароль для следующего уровня можно получить, отправив пароль текущего уровня на порт 30000 на localhost.
Команды, которые могут понадобиться
ssh, telnet, nc, openssl, s_client, nmap
Полезные материалы
- Как работает интернет за 5 минут (YouTube) (не до конца точно, но для новичков сойдёт)
- IP-адреса
- IP-адрес — Wikipedia
- Localhost — Wikipedia
- Порты
- Порт (сетевой) — Wikipedia
Уровень 16 bandit16 → bandit17
Цель уровня
Пароль для следующего уровня можно получить, отправив пароль текущего уровня на порт 30001 на localhost с использованием шифрования SSL/TLS.
Полезное замечание: получаете «DONE», «RENEGOTIATING» или «KEYUPDATE»? Прочитайте раздел «CONNECTED COMMANDS» в man-странице.
Команды, которые могут понадобиться
ssh, telnet, nc, ncat, socat, openssl, s_client, nmap, netstat, ss
Полезные материалы
Уровень 17 bandit17 → bandit18
Цель уровня
Учётные данные для следующего уровня можно получить, отправив пароль текущего уровня на порт на localhost в диапазоне 31000–32000. Сначала выясните, на каких из этих портов есть слушающий сервер. Затем определите, какие из них говорят по SSL/TLS, а какие нет. Только 1 сервер выдаст следующие учётные данные, остальные просто вернут вам то, что вы им отправили.
Полезное замечание: получаете «DONE», «RENEGOTIATING» или «KEYUPDATE»? Прочитайте раздел «CONNECTED COMMANDS» в man-странице.
Команды, которые могут понадобиться
ssh, telnet, nc, ncat, socat, openssl, s_client, nmap, netstat, ss
Полезные материалы
Уровень 18 bandit18 → bandit19
Цель уровня
В домашнем каталоге есть 2 файла: passwords.old и passwords.new. Пароль для следующего уровня находится в passwords.new и является единственной строкой, изменившейся между passwords.old и passwords.new.
ЗАМЕЧАНИЕ: если вы решили этот уровень и видите «Byebye!» при попытке войти на bandit18 — это относится к следующему уровню, bandit19.
Команды, которые могут понадобиться
cat, grep, ls, diff
Уровень 19 bandit19 → bandit20
Цель уровня
Пароль для следующего уровня хранится в файле readme в домашнем каталоге. К сожалению, кто-то изменил .bashrc так, чтобы вас выкидывало при входе по SSH.
Команды, которые могут понадобиться
ssh, ls, cat
Уровень 20 bandit20 → bandit21
Цель уровня
Чтобы получить доступ к следующему уровню, используйте setuid-бинарник в домашнем каталоге. Запустите его без аргументов, чтобы узнать, как им пользоваться. Пароль для этого уровня можно найти в привычном месте (/etc/bandit_pass) после того, как вы воспользуетесь setuid-бинарником.
Полезные материалы
Уровень 21 bandit21 → bandit22
Цель уровня
В домашнем каталоге есть setuid-бинарник, который делает следующее: он подключается к localhost на порт, который вы указываете аргументом командной строки. Затем он читает строку текста из соединения и сравнивает её с паролем предыдущего уровня (bandit20). Если пароль верный, он передаст пароль для следующего уровня (bandit21).
ЗАМЕЧАНИЕ: Попробуйте подключиться к собственному сетевому демону, чтобы проверить, работает ли он так, как вы думаете.
Команды, которые могут понадобиться
ssh, nc, cat, bash, screen, tmux, управление задачами Unix («job control»: bg, fg, jobs, &, CTRL-Z, …)
Уровень 22 bandit22 → bandit23
Цель уровня
Программа автоматически запускается через регулярные интервалы из cron — планировщика задач на основе времени. Загляните в /etc/cron.d/ за конфигурацией и посмотрите, какая команда выполняется.
Команды, которые могут понадобиться
cron, crontab, crontab(5) (используйте «man 5 crontab» для доступа к этому)
Уровень 23 bandit23 → bandit24
Цель уровня
Программа автоматически запускается через регулярные интервалы из cron — планировщика задач на основе времени. Загляните в /etc/cron.d/ за конфигурацией и посмотрите, какая команда выполняется.
ЗАМЕЧАНИЕ: Умение читать shell-скрипты, написанные другими людьми, — очень полезный навык. Скрипт для этого уровня намеренно сделан лёгким для чтения. Если возникают проблемы с пониманием того, что он делает, попробуйте выполнить его, чтобы увидеть отладочную информацию, которую он печатает.
Команды, которые могут понадобиться
cron, crontab, crontab(5) (используйте «man 5 crontab» для доступа к этому)
Уровень 24 bandit24 → bandit25
Цель уровня
Программа автоматически запускается через регулярные интервалы из cron — планировщика задач на основе времени. Загляните в /etc/cron.d/ за конфигурацией и посмотрите, какая команда выполняется.
ЗАМЕЧАНИЕ: Этот уровень требует написать ваш первый собственный shell-скрипт. Это очень большой шаг, и вы должны гордиться собой, когда пройдёте этот уровень!
ЗАМЕЧАНИЕ 2: Имейте в виду, что ваш shell-скрипт удаляется сразу после выполнения, так что, возможно, стоит держать копию под рукой…
Команды, которые могут понадобиться
chmod, cron, crontab, crontab(5) (используйте «man 5 crontab» для доступа к этому)
Уровень 25 bandit25 → bandit26
Цель уровня
Демон слушает на порту 30002 и выдаст вам пароль для bandit25, если ему дать пароль для bandit24
и секретный числовой 4-значный пин-код. Получить пин-код можно только перебором всех 10000 комбинаций
— это называется brute-force (перебор).
Создавать новое соединение каждый раз не нужно.
Уровень 26 bandit26 → bandit27
Цель уровня
Войти на bandit26 из bandit25 должно быть довольно просто… Оболочка пользователя bandit26 — не /bin/bash, а что-то другое. Выясните, что это, как оно работает и как из него выйти.
ЗАМЕЧАНИЕ: если вы пользователь Windows и обычно используете Powershell для подключения по
sshк bandit — известно, что Powershell вызывает проблемы с задуманным решением этого уровня. Вместо него используйте командную строку (cmd).
Команды, которые могут понадобиться
ssh, cat, more, vi, ls, id, pwd
Уровень 27 bandit27 → bandit28
Цель уровня
Отличная работа — вы получили оболочку! Теперь скорее забирайте пароль для bandit27!
Команды, которые могут понадобиться
ls
Уровень 28 bandit28 → bandit29
Цель уровня
Есть git-репозиторий по адресу
ssh://bandit27-git@bandit.labs.overthewire.org/home/bandit27-git/repo
через порт 2220. Пароль пользователя bandit27-git такой же, как у пользователя
bandit27.
Со своей локальной машины (не с машины OverTheWire!) клонируйте репозиторий и найдите пароль для следующего уровня. Для этого на вашей машине должен быть установлен git.
Команды, которые могут понадобиться
git
Полезные материалы
Уровень 29 bandit29 → bandit30
Цель уровня
Есть git-репозиторий по адресу
ssh://bandit28-git@bandit.labs.overthewire.org/home/bandit28-git/repo
через порт 2220. Пароль пользователя bandit28-git такой же, как у пользователя
bandit28.
Со своей локальной машины (не с машины OverTheWire!) клонируйте репозиторий и найдите пароль для следующего уровня. Для этого на вашей машине должен быть установлен git.
Команды, которые могут понадобиться
git
Полезные материалы
Уровень 30 bandit30 → bandit31
Цель уровня
Есть git-репозиторий по адресу
ssh://bandit29-git@bandit.labs.overthewire.org/home/bandit29-git/repo
через порт 2220. Пароль пользователя bandit29-git такой же, как у пользователя
bandit29.
Со своей локальной машины (не с машины OverTheWire!) клонируйте репозиторий и найдите пароль для следующего уровня. Для этого на вашей машине должен быть установлен git.
Команды, которые могут понадобиться
git
Полезные материалы
Уровень 31 bandit31 → bandit32
Цель уровня
Есть git-репозиторий по адресу
ssh://bandit30-git@bandit.labs.overthewire.org/home/bandit30-git/repo
через порт 2220. Пароль пользователя bandit30-git такой же, как у пользователя
bandit30.
Со своей локальной машины (не с машины OverTheWire!) клонируйте репозиторий и найдите пароль для следующего уровня. Для этого на вашей машине должен быть установлен git.
Команды, которые могут понадобиться
git
Полезные материалы
Уровень 32 bandit32 → bandit33
Цель уровня
Есть git-репозиторий по адресу
ssh://bandit31-git@bandit.labs.overthewire.org/home/bandit31-git/repo
через порт 2220. Пароль пользователя bandit31-git такой же, как у пользователя
bandit31.
Со своей локальной машины (не с машины OverTheWire!) клонируйте репозиторий и найдите пароль для следующего уровня. Для этого на вашей машине должен быть установлен git.
Команды, которые могут понадобиться
git
Полезные материалы
Уровень 33 bandit33 → bandit34
Цель уровня
После всей этой возни с git пришло время для очередного «побега». Удачи!
Команды, которые могут понадобиться
sh, man
Уровень 34 bandit34
На данный момент уровень 34 ещё не существует.