###### tags: `INT`
# INT-5-Омаров_Джамалутин
*Выполнил Омаров Джамалутин*
## Безопасность операционных систем - Linux
### Вход
Вход осуществил с помощью Putty.exe

### Повышение привелегий
Первым делом решил посмотреть историю последних команд, но история было очищена.

Далее посмотрел с чем имею дело, а именно версию OC. Также проверил, что добиться обычного повышения привелегий при помощи команды `sudo su` мне не удастся, так как нет разрешений.

Зашел в папку исполняемых команд, увидел, у исполняемых файлов su и sudo выставлен SUID бит. Что означает выполнение от имени его владельца. Это сделано для того, чтобы не выдавать права для каждого пользователя. Но здесь стоит ограничение.

В `/etc/passwd` хранится информация о пользователях и группах. Я посчитал, что получится изменить группу (вписать вручную через vim) и включить моего пользователя в группу root. Но впоследствии стало ясно, чтобы сделать это нужны права root.

Здесь я попытался написать простой сервис и протестировать запустится ли он. Но запустить его не получилось. Так как был необходим root.

Посмотрел версию процессора и решил, что эта информация может мне что-то дать.

Воспользовавшись find, я нашел команды на которые есть SIUD бит. Я просматривал пару команд в `GTFobins`, чтобы попытаться повысить привелегии нестандартным путем. Безуспешно. В данный момент могу сказать, что не посмотрел от чьего имени был выставлен SUID бит. Возможно там можно было найти своего пользователя, но сомневаюсь.

Увидел команду wget, которая была доступна. Это означает, что возможно скачать что-то из интернета. Можно загрузить payload.

Данные команды позволяют повысить права или выдать разрешения на определенные действия (выполнение, чтение, запись). А также сменить группу. На файлы, которые создавались не мной, эти возможности не распространялись.

Тут можно заметить, что присутствует SGID бит. Что означает выполнение от суперпользователя, только находясь в группе crontab. Можно было бы задать определенный скрипт, выставить таймер и ожидать выполнение. Но не было идей, как войти в группу crontab. Попытки были, успешных попыток не было.

Раз уж у меня есть информация об OC, известен ip, под рукой kali linux, есть разрешение на исполнение собственных файлов, а также есть wget. Решил создать нагрузку в msfvenom и загрузить ее на тачку.

Файл решил передать, используя данный сайт. Здесь необходимо загрузить файл -> выставить скачивание -> получить ссылку -> перейти на тачку куда хотим скачать файл -> командой wget скачать его. Скриншота загрузки нет, так как загружаемый файл был страницей html, а не нагрузкой, которую я загрузил.

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

После неудачной попытки, я решил, что возможно на машине есть git. И я не ошибся. Считаю, что данные команды curl, wget, git которые я нашел являются проблемой в безопасности, скачивать что-то откуда-то тому, кто пришел ломать к примеру... Это небезопасно.

С Виртуальной машины Kali, используя команду `nc <ip> <port>`. Я реализовал подключение через bind_tcp. Выдал права на выполнение скрипту -> запустил его -> подключился. Но, к сожалению, повысить привелегии не удалось. Возможно я что-то сделал не так и будучи более опытным пользователем Linux, реализовать повышение этим способом получилось бы, но результат безуспешный. Хотя закидывал не одну нагрузку.

Далее обнаружил, что:
* пользователь petya входит в группу vasya
* **удалось повысить привелегии** команды ls
Смогу просматривать, что находится в директориях. Также посетил директорию /root. Также начал смотреть, что есть в директории vasya. В общем мог зайти в любую директорию и посмотреть что там лежит. Считаю это проблемой в безопасности, так как названия определенных файлов и каталогов уже могут дать излишнюю информацию о системе, о том, что там находится, что установлено и тд. Также в `msfvenom` есть payload для определенных команд.


Здесь можно заметить мою попытку прочитать определенный файл (.ssh/id_rsa.pub) используя знак ";", что означает выполнить следующее действие. Попытка неуспешна. Также тестировал как ведут себя другие логические выражения, скринить не стал, так как попытка тоже безуспешная.

Здесь я залез в директорию `/var/log/journal` увидел, что выставлен SGID бит. Думаю в этом ничего небезопасного нет, если не получил доступ к группе systemd-journal.

А также были попытки смены оболочки. Считал, что это может привести к повышению привелегий. Безуспешно.
### Проблемы безопасности
В данной работы были выявлены следующие проблемы безопасности, распределю их по приоритету:
* wget, curl, git. Разрешение пользователю без привелегий скачивать на машину файлы. Они могут быть исполняемыми, нанести вред и привести к компроментации системы.
* Повышение привелегий команды ls. Позволяет узнавать о системе и каталогах больше, чем следует.
* chmod. Выставление разрешение на исполнение файлов.
* crontab. Выставление SGID бита. Позволит выполнить скрипт по таймеру от имени суперпользователя, если попытка войти в группу crontab будет успешной.