Interesting Groups - Linux Privesc
Last updated
Last updated
Вивчайте та практикуйте хакінг AWS: Навчання HackTricks AWS Red Team Expert (ARTE) Вивчайте та практикуйте хакінг GCP: Навчання HackTricks GCP Red Team Expert (GRTE)
Іноді, за замовчуванням (або через необхідність деякого програмного забезпечення) всередині файлу /etc/sudoers ви можете знайти деякі з цих рядків:
Це означає, що будь-який користувач, який належить до групи sudo або admin, може виконати будь-що як sudo.
Якщо це так, щоб стати root, ви можете просто виконати:
Знайдіть всі suid-бінарники та перевірте, чи є серед них бінарний файл Pkexec:
Якщо ви виявите, що бінарний файл pkexec є SUID-бінарним і ви належите до групи sudo або admin, ви, ймовірно, зможете виконувати бінарні файли як sudo, використовуючи pkexec
. Це тому, що зазвичай ці групи є в політиці polkit. Ця політика визначає, які групи можуть використовувати pkexec
. Перевірте це за допомогою:
Тут ви знайдете, які групи мають дозвіл на виконання pkexec і за замовчуванням в деяких дистрибутивах Linux з'являються групи sudo та admin.
Для отримання прав root ви можете виконати:
Якщо ви намагаєтеся виконати pkexec і отримуєте цю помилку:
Це не через те, що у вас немає дозволів, а через те, що ви не підключені без GUI. Існує обхідне рішення для цієї проблеми тут: https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903. Вам потрібно 2 різні сеанси ssh:
Іноді, за замовчуванням всередині файлу /etc/sudoers ви можете знайти цей рядок:
Це означає, що будь-який користувач, який належить до групи wheel, може виконати будь-яку команду як sudo.
Якщо це так, щоб стати root, ви можете просто виконати:
Користувачі з групи shadow можуть читати файл /etc/shadow:
Отже, прочитайте файл і спробуйте розшифрувати деякі хеші.
staff: Дозволяє користувачам додавати локальні модифікації до системи (/usr/local
) без необхідності привілеїв root (зверніть увагу, що виконувані файли в /usr/local/bin
є в змінній PATH будь-якого користувача, і вони можуть "перевизначити" виконувані файли в /bin
та /usr/bin
з такою ж назвою). Порівняйте з групою "adm", яка більше пов'язана з моніторингом/безпекою. [джерело]
У дистрибутивах debian, змінна $PATH
показує, що /usr/local/
буде запущено з найвищим пріоритетом, незалежно від того, чи ви привілейований користувач, чи ні.
Якщо ми можемо захопити деякі програми в /usr/local
, ми легко можемо отримати root.
Захоплення програми run-parts
- це спосіб легко отримати root, оскільки більшість програм буде запускати run-parts
, наприклад (crontab, коли відбувається вхід через ssh).
або Коли нова сесія ssh входить.
Експлойт
Ця привілея майже еквівалентна доступу root, оскільки ви можете отримати доступ до всіх даних всередині машини.
Файли: /dev/sd[a-z][1-9]
Зверніть увагу, що за допомогою debugfs ви також можете записувати файли. Наприклад, щоб скопіювати /tmp/asd1.txt
до /tmp/asd2.txt
, ви можете виконати:
Однак, якщо ви спробуєте записувати файли, що належать root (наприклад, /etc/shadow
або /etc/passwd
), ви отримаєте помилку "Permission denied".
Використовуючи команду w
, ви можете дізнатися хто увійшов в систему, і вона покаже вивід, схожий на наступний:
tty1 означає, що користувач yossi увійшов фізично до терміналу на машині.
Група video має доступ до перегляду виводу екрану. В основному, ви можете спостерігати за екранами. Для цього потрібно захопити поточне зображення на екрані у вигляді сирої даних та отримати роздільну здатність, яку використовує екран. Дані екрану можна зберегти в /dev/fb0
, а роздільну здатність цього екрану можна знайти в /sys/class/graphics/fb0/virtual_size
.
Для відкриття сирого зображення можна використовувати GIMP, виберіть файл **screen.raw
** та виберіть тип файлу Raw image data:
Потім змініть ширину та висоту на ті, які використовуються на екрані та перевірте різні типи зображень (і виберіть той, який краще показує екран):
Здається, за замовчуванням члени групи root можуть мати доступ до зміни деяких файлів конфігурації служб або деяких файлів бібліотек або інших цікавих речей, які можуть бути використані для підвищення привілеїв...
Перевірте, які файли можуть змінювати члени групи root:
Ви можете підключити кореневу файлову систему хост-машини до тома екземпляра, тому коли екземпляр запускається, він негайно завантажує chroot
у цей том. Це фактично дає вам root-доступ до машини.
Зазвичай члени групи adm
мають дозвіл на читання файлів журналу, розташованих всередині /var/log/.
Отже, якщо ви скомпрометували користувача в цій групі, вам слід обов'язково подивитися журнали.
У OpenBSD група auth зазвичай може записувати в папки /etc/skey та /var/db/yubikey, якщо вони використовуються. Ці дозволи можна зловживати за допомогою наступного експлойту для підвищення привілеїв до root: https://raw.githubusercontent.com/bcoles/local-exploits/master/CVE-2019-19520/openbsd-authroot