---
# System prepended metadata

title: INT-5-Омаров_Джамалутин
tags: [INT]

---

###### 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 будет успешной.
