# LINUX
## Описание
В данном задании необходимо проанализировать [образ](https://drive.google.com/file/d/1BYw7IwQ_rbkMqfGSvPvx9RZyKJYrwH5R/view?usp=sharing) машины и дать жюри развернутый ответ на следующие вопросы:
1. Как злоумышленник попал на машину?
2. Как повысил свои права?
3. Как злоумышленник узнал пароль от passwords.kdbx?
4. Куда logkeys пишет логи?
5. Пароль от чего лежит в passwords.kdbx?
## Решение
Участнику необходимо сбросить пароль от рута и от пользователя через изменение загрузчика grub для открытия ВМ. Для этого необходимо добавить параметр ядра init=/bin/bash.
В домашней директории необходимо найти файл minecraft.jar и выполнить его декомпиляцию с помощью recaf.jar (рис. 1, рис. 2).

Рис. 1

Рис. 2
В результате участник обнаруживает Reverse шелл, подключающийся к адресу 192.169.126.129:4444, из чего необходимо сделать вывод, что злоумышленник попал на машину через Revesre шелл в загрузчике minecraft.jar.
Далее, проанализировав файлы в папке Downloads (рис. 3)
Рис. 3
Скрипт linpeas.sh - это скрипт, используемый для поиска возможных путей эскалации привилегий, выполнив его запуск (рис. 4):

Рис. 4
Можно обнаружить, что у приложения find есть suid бит. Исходя из этого, участнику необходимо сделать вывод, что злоумышленник повысил привилегии через find.
Также в папке Downloads осталась папка build, в которой лежит приложение logkeys.
Logkeys - кейлоггер, из чего следует вывод, что злоумышленник запустил его, чтобы узнать пароль от password.kdbx. Для того, чтобы узнать файл, в который записывались скан-коды нажатых клавиш, необходимо открыть бинарный файл logkeys в IDA Pro. Ниже вывод декомпилятора, функция main (рис. 5):

Рис. 5
На строчке 33 в функции main в переменную logfile помещается v7, а в v7 лежит то, что считается в функции d().
В функции d() выполняется простой ксор с константными значениями (рис. 6).

Рис. 6
Выполнив дешифровку ENC_BYTES, мы получаем название файла для логирования (рис. 7).

Рис. 7
В данном файле содержится залогированный пароль от password.kdbx (рис. 8,рис. 9):

Рис. 8

Рис. 9
Открыв password.kdbx с данным паролем, участник получает ответ на последний вопрос (рис. 9).

Рис. 10