Linux Post-Exploitation
Підслуховування паролів для входу за допомогою 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 може бути використаний для конфіденційного реєстрування облікових даних.
Додавання задніх дверей в PAM
Для отримання додаткової інформації перегляньте оригінальний пост. Це лише краткий огляд:
Модуль аутентифікації з можливістю підключення (PAM) - це система, яка використовується в Linux для аутентифікації користувачів. Вона працює на трьох основних концепціях: ім'я користувача, пароль та служба. Файли конфігурації для кожної служби розташовані в каталозі /etc/pam.d/
, де спільні бібліотеки відповідають за аутентифікацію.
Мета: Змінити PAM для можливості аутентифікації за допомогою конкретного пароля, обходячи фактичний пароль користувача. Особливий акцент робиться на спільній бібліотеці pam_unix.so
, яку використовує файл common-auth
, що включений майже у всі служби для перевірки пароля.
Кроки для модифікації pam_unix.so
:
pam_unix.so
:Знаходження директиви аутентифікації у файлі
common-auth
:
Рядок, що відповідає за перевірку пароля користувача, викликає
pam_unix.so
.
Зміна вихідного коду:
Додайте умовний оператор у вихідний файл
pam_unix_auth.c
, який надає доступ, якщо використовується попередньо визначений пароль, в іншому випадку продовжується звичайний процес аутентифікації.
Перекомпілювання та заміна зміненої бібліотеки
pam_unix.so
у відповідному каталозі.Тестування:
Доступ надається через різні служби (логін, ssh, sudo, su, заставка екрана) за допомогою попередньо визначеного пароля, тоді як звичайні процеси аутентифікації залишаються незмінними.
Ви можете автоматизувати цей процес за допомогою https://github.com/zephrax/linux-pam-backdoor
Last updated