Пошаговое руководство: Shell Dredd #1 Hannah Vulnhub

Дата: 28.09.2020. Автор: Игорь Б. Категории: Статьи по информационной безопасности
Пошаговое руководство: Shell Dredd #1 Hannah Vulnhub

В этой статье пойдет речь о новой задаче boot2root под названием «ONSYSTEM: SHELLDREDD # 1 HANNAH». Данная лаборатория была создана для проведения тестирования на проникновение. Она доступна на VulnHub, скачать ее можно, перейдя по ссылке.

Стоит также отметить, что эта лаборатория была создана благодаря d4t4s3c. Настала пора узнать, как ее можно применить при пентестинге.

Уровень сложности: легкий.

Сканирование сети

Используя netdiscover, пользователь будет сканировать сеть целевой машины, чтобы установить ее IP-адрес. Ему нужно сопоставить MAC-адрес целевой машины с IP-адресами, показанными командой net discover. Видно, что по адресу 192.168.0.121 целевая машина была активна.

netdiscover
Пошаговое руководство: Shell Dredd #1 Hannah Vulnhub

Далее следует провести сканирование портов или служб. Человек будет использовать инструмент Nmap, чтобы увидеть, какие порты доступны. Как показано на рисунке ниже, на результатах программы Nmap видно, что доступны службы портов FTP (21) и SSH (61000).

nmap -p- -A 192.168.0.121
Пошаговое руководство: Shell Dredd #1 Hannah Vulnhub

Перечисление

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

ftp 192.168.0.121
Anonymous

После входа в систему пользователь перечислил содержимое каталога с помощью команды ls, но это не сработало. В этот момент ему пришло в голову, что каталоги могут быть скрыты. Итак, теперь настало время использовать опцию la для команды ls, чтобы произвести перечисление всех файлов внутри текущего рабочего каталога. Затем человек обнаруживает скрытый каталог под названием (.hannah). В этом каталоге он способен найти SSH-ключ.

ls
ls-la
cd .hannah
ls-la

Теперь вводится команда get для передачи этого ключа по нашей локальной системе, известной как Kali Linux.

get id_rsa
Пошаговое руководство: Shell Dredd #1 Hannah Vulnhub

Применение

После того как пользователь загрузил SSH-ключ с FTP-сервера, главная проблема заключается в том, что он может быть неправильного разрешения. Ключ SSH требует определенного набора разрешений. Он должен иметь права на чтение и запись для пользователя или его владельца. Это означает, что пользователю нужно добавить 600 разрешений. После установки соответствующего разрешения пришло время войти в систему с помощью SSH-ключа. Как читатели правильно помнят из сканирования Nmap, служба SSH работает на порту номер 61000.

chmod 600 id_rsa
ssh -i id_rsa [email protected] -p 61000

Данные пользователя Hannah были получены.

Дальнейшие действия

Теперь, когда у нас есть сеанс на целевой машине, пришло время произвести перечисление. Пользователь перечислит все файлы в каталоге и найдет там файл с именем user.txt. Это может быть флаг пользователя.

ls
cat user.txt

Теперь, когда флаг пользователя найден, пришло время повысить привилегии и произвести поиск двоичных файлов, которые можно запускать как sudo.

sudo -l

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

Следующий пункт в списке пользователя – это разрешения SUID. Он может перечислить все двоичные файлы, имеющие разрешения SUID, с помощью команды find, как показано на рисунке ниже.

find / -perm -u=5 -type f 2>/dev/null
Пошаговое руководство: Shell Dredd #1 Hannah Vulnhub

Пользователь понимает, что он нашел двоичный файл под названием cpulimit, который имеет разрешение SUID. Пора этим воспользоваться.

Повышение привилегий

Человек способен использовать этот файл cpulimit для ввода команд, на выполнение которых у него нет разрешений, таких как mkdir, cp и т.д. Для этого нужно переместить каталог /tmp, так как это единственный каталог, который имеет право на осуществление записи. Затем пользователь изменит разрешение для файла bash и скопирует его содержимое в созданный каталог, то есть ignite. После этого он применяет разрешение на выполнение к bash внутри каталога ignite.

cd /tmp
cpulimit -l 100 -f mkdir /ignite
cpulimit -l 100 -f chmod 4755 /usr/bin/bash
cpulimit -l 100 -f cp /usr/bin/bash /ignite
cpulimit -l 100 -f chmod +s /ignite/bash
./bash -p

Ура! Root был успешно получен. Обнаружив в каталоге файл root.txt, пользователь завладел флагом Root.

cd /root
ls
cat root.txt
Пошаговое руководство: Shell Dredd #1 Hannah Vulnhub

Автор переведенной статьи: Shubham Sharma.

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

Игорь Б

Об авторе Игорь Б

Представитель редакции CISOCLUB. Добавляю статьи на сайт.
Читать все записи автора Игорь Б

Добавить комментарий

Ваш адрес email не будет опубликован.