strace для обнаружения расположения сохранения пароля sudo

strace/dtrace / ltrace ... полезно для многих вещей, от обнаружения скрытых нарушений доступа к трассировке сетевых сокетов, но, возможно, он не может видеть все.

Я не смог понять, используя strace (он снова появился, когда я пытался ответить на другой вопрос сегодня), где sudo выделяет и сохраняет текстовые пароли в системной памяти. связанный вопрос связан, если это новость для вас.

ближе всего я получил, с следы, подобные этому (это может быть плохой пример, используя сложенный sudo; я пробовал несколько вещей):

$ sudo strace -ff -o mem sudo -s
Enter password...

такие строки:

mem.14471:stat("/etc/profile.d/gnome-ssh-askpass.sh", {st_mode=S_IFREG|0644, st_size=70, ...}) = 0
mem.14471:access("/etc/profile.d/gnome-ssh-askpass.sh", R_OK) = 0
mem.14471:open("/etc/profile.d/gnome-ssh-askpass.sh", O_RDONLY) = 3
mem.14471:read(3, "SSH_ASKPASS=/usr/libexec/openssh"..., 70) = 70

и я считаю, что я попытался проследить их по отдельности, даже заменив переменную env в /usr/libexec / openssh-askpass своей собственной strace, безрезультатно.

Я умею читать и декодировать straces; я могу следовать назначенной ручками, коды возврата и выделения памяти. Что я не могу найти, так это вилку, которая выделяет и сохраняет пароль sudo (до 7 раз) в памяти, пока sudo активен. Доказательство резидента пароля через Извести Экспертизы применяется к CentOS.

альтернативно, был бы лучший подход, как итерация распределения памяти процесса?

13
задан ǝɲǝɲbρɯͽ
16.12.2022 6:50 Количество просмотров материала 3072
Распечатать страницу

1 ответ

трассированием не покажет ничего как этот. Ближе всего вы можете получить это brk() или mmap(MAP_ANONYMOUS) вызовы, которые glibc использует для захвата совершенно новой области памяти. Остальные не использовать системные вызовы, только прямой доступ к памяти.

вы можете попробовать ltrace для звонков в библиотеку userspace.

или просто найти пароль в исходном коде и посмотрите, что происходит с его результатами. Добавьте несколько printf()'s, чтобы отобразить памяти адреса.

3
отвечен grawity 2022-12-17 14:38

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх