###### tags: `INT` # INT-5-Омаров_Джамалутин *Выполнил Омаров Джамалутин* ## Безопасность операционных систем - Linux ### Вход Вход осуществил с помощью Putty.exe ![](https://i.imgur.com/p6Yc8H9.png) ### Повышение привелегий Первым делом решил посмотреть историю последних команд, но история было очищена. ![](https://i.imgur.com/FBB7gMZ.png) Далее посмотрел с чем имею дело, а именно версию OC. Также проверил, что добиться обычного повышения привелегий при помощи команды `sudo su` мне не удастся, так как нет разрешений. ![](https://i.imgur.com/g7DK5gi.png) Зашел в папку исполняемых команд, увидел, у исполняемых файлов su и sudo выставлен SUID бит. Что означает выполнение от имени его владельца. Это сделано для того, чтобы не выдавать права для каждого пользователя. Но здесь стоит ограничение. ![](https://i.imgur.com/iqJIreH.png) В `/etc/passwd` хранится информация о пользователях и группах. Я посчитал, что получится изменить группу (вписать вручную через vim) и включить моего пользователя в группу root. Но впоследствии стало ясно, чтобы сделать это нужны права root. ![](https://i.imgur.com/gdBP2bI.png) Здесь я попытался написать простой сервис и протестировать запустится ли он. Но запустить его не получилось. Так как был необходим root. ![](https://i.imgur.com/gshBP35.png) Посмотрел версию процессора и решил, что эта информация может мне что-то дать. ![](https://i.imgur.com/460B6Gv.png) Воспользовавшись find, я нашел команды на которые есть SIUD бит. Я просматривал пару команд в `GTFobins`, чтобы попытаться повысить привелегии нестандартным путем. Безуспешно. В данный момент могу сказать, что не посмотрел от чьего имени был выставлен SUID бит. Возможно там можно было найти своего пользователя, но сомневаюсь. ![](https://i.imgur.com/jBSkuLY.png) Увидел команду wget, которая была доступна. Это означает, что возможно скачать что-то из интернета. Можно загрузить payload. ![](https://i.imgur.com/kznflu6.png) Данные команды позволяют повысить права или выдать разрешения на определенные действия (выполнение, чтение, запись). А также сменить группу. На файлы, которые создавались не мной, эти возможности не распространялись. ![](https://i.imgur.com/XlAz2Jg.png) Тут можно заметить, что присутствует SGID бит. Что означает выполнение от суперпользователя, только находясь в группе crontab. Можно было бы задать определенный скрипт, выставить таймер и ожидать выполнение. Но не было идей, как войти в группу crontab. Попытки были, успешных попыток не было. ![](https://i.imgur.com/3upRYlU.png) Раз уж у меня есть информация об OC, известен ip, под рукой kali linux, есть разрешение на исполнение собственных файлов, а также есть wget. Решил создать нагрузку в msfvenom и загрузить ее на тачку. ![](https://i.imgur.com/LMNWveZ.png) Файл решил передать, используя данный сайт. Здесь необходимо загрузить файл -> выставить скачивание -> получить ссылку -> перейти на тачку куда хотим скачать файл -> командой wget скачать его. Скриншота загрузки нет, так как загружаемый файл был страницей html, а не нагрузкой, которую я загрузил. ![](https://i.imgur.com/geIviX1.png) Ниже представлен скришот, того как я пытался поймать ссылку, на загрузку. Предположил, что возможно ссылка которую дают на сайте, на самом деле должна быть другая. ![](https://i.imgur.com/3S3ytEI.png) После неудачной попытки, я решил, что возможно на машине есть git. И я не ошибся. Считаю, что данные команды curl, wget, git которые я нашел являются проблемой в безопасности, скачивать что-то откуда-то тому, кто пришел ломать к примеру... Это небезопасно. ![](https://i.imgur.com/fkNrlUV.png) С Виртуальной машины Kali, используя команду `nc <ip> <port>`. Я реализовал подключение через bind_tcp. Выдал права на выполнение скрипту -> запустил его -> подключился. Но, к сожалению, повысить привелегии не удалось. Возможно я что-то сделал не так и будучи более опытным пользователем Linux, реализовать повышение этим способом получилось бы, но результат безуспешный. Хотя закидывал не одну нагрузку. ![](https://i.imgur.com/BvJVKaQ.png) Далее обнаружил, что: * пользователь petya входит в группу vasya * **удалось повысить привелегии** команды ls Смогу просматривать, что находится в директориях. Также посетил директорию /root. Также начал смотреть, что есть в директории vasya. В общем мог зайти в любую директорию и посмотреть что там лежит. Считаю это проблемой в безопасности, так как названия определенных файлов и каталогов уже могут дать излишнюю информацию о системе, о том, что там находится, что установлено и тд. Также в `msfvenom` есть payload для определенных команд. ![](https://i.imgur.com/M0Ijvl1.png) ![](https://i.imgur.com/KhkG16N.png) Здесь можно заметить мою попытку прочитать определенный файл (.ssh/id_rsa.pub) используя знак ";", что означает выполнить следующее действие. Попытка неуспешна. Также тестировал как ведут себя другие логические выражения, скринить не стал, так как попытка тоже безуспешная. ![](https://i.imgur.com/PGoEa5v.png) Здесь я залез в директорию `/var/log/journal` увидел, что выставлен SGID бит. Думаю в этом ничего небезопасного нет, если не получил доступ к группе systemd-journal. ![](https://i.imgur.com/ihYrIW1.png) А также были попытки смены оболочки. Считал, что это может привести к повышению привелегий. Безуспешно. ### Проблемы безопасности В данной работы были выявлены следующие проблемы безопасности, распределю их по приоритету: * wget, curl, git. Разрешение пользователю без привелегий скачивать на машину файлы. Они могут быть исполняемыми, нанести вред и привести к компроментации системы. * Повышение привелегий команды ls. Позволяет узнавать о системе и каталогах больше, чем следует. * chmod. Выставление разрешение на исполнение файлов. * crontab. Выставление SGID бита. Позволит выполнить скрипт по таймеру от имени суперпользователя, если попытка войти в группу crontab будет успешной.