
Извлечь SSH-ключи из ssh-agent
Этот скрипт использует баг в ssh-agent, позволяющий извлечь последний ключ, добавленный в агент. Это может позволить восстановить ключ, который был удалён из ssh-agent с помощью ssh-add -t, -d или -D, при условии, что ssh-agent не был завершён и с момента удаления предыдущего ключа не был добавлен новый. Этот баг был зарегистрирован и может быть исправлен в более новых версиях OpenSSH, что приведёт к неработоспособности данного инструмента.
grabagentmem.sh требует root-доступа и gdb на целевой машине для корректной работы.parse_mem.py требует установленного модуля Python pyasn1.grabagentmem.sh на целевую машину.grabagentmem.sh на целевой машине от root. Это создаст дамп памяти стека для каждого процесса ssh-agent, запущенного на этой машине. По умолчанию они будут сохранены как /tmp/SSHagent-$PID.stack.parse_mem.py.parse_mem.py [файл стека] [выходной ключ] (Пример: ./parse_mem.py /tmp/SSHagent-17019.stack /tmp/key).ssh -i [ключевой файл] [пользователь]@[машина].Часть кода создания RSA-ключа взята из Fancy SSH Key Generator от Thialfihar: https://github.com/thialfihar/semantic-ssh-key/blob/master/generate_fancy_ssh_key.py