Backdoor SSH para obter senhas de texto não criptografado
TLDR — É possível fazer o backdoor do serviço SSH modificando o arquivo common-auth para executar o registro e gravar as credenciais em um arquivo sempre que uma vítima desavisada se autenticar no servidor com SSH.
Demonstração em vídeo e passo a passo:
https://youtu.be/of6VSqnHDho
O arquivo “/etc/pam.d/common-auth” geralmente é incluído por outros arquivos de configuração do PAM para diferentes aplicativos, como login, su, sudo, sshd, etc. Quando um aplicativo precisa autenticar um usuário, ele usará PAM para verificar as credenciais do usuário em relação às regras definidas no arquivo “/etc/pam.d/common-auth”, juntamente com outros arquivos de configuração do PAM específicos do aplicativo.
O arquivo “/etc/pam.d/common-auth” normalmente contém uma lista de módulos PAM que são usados para autenticação do usuário. Esses módulos podem incluir “pam_unix.so” para autenticação de senha, “pam_ldap.so” para autenticação baseada em LDAP, “pam_winbind.so” para autenticação do Active Directory ou outros módulos personalizados que podem ser específicos do sistema ou aplicativo.
As regras no arquivo “/etc/pam.d/common-auth” podem ser personalizadas para impor diferentes políticas de autenticação, como requisitos de complexidade de senha, expiração de senha, bloqueio de conta, autenticação de dois fatores e muito mais.
É possível incluir a biblioteca pam_exec.so no arquivo common-auth para acionar a execução de um script bash sempre que ocorrer uma autenticação bem-sucedida por SSH.
Considere, por exemplo, a seguinte linha adicional no arquivo common-auth:auth optional pam_exec.so quiet expose_authtok /malicious.sh
O malicioso.sh será executado sempre que ocorrer uma autenticação. O script pode ser utilizado para realizar o log para leitura do 'stdin' digitado pelo usuário, que será a senha. Isso é possível a partir do argumento 'expose_authtok'.
Observe que modificar os arquivos de configuração do PAM sem um bom entendimento das possíveis implicações de segurança pode comprometer a segurança do sistema. Recomenda-se testar quaisquer alterações em um ambiente de desenvolvimento ou preparação antes de implantá-las na produção.
Recomenda-se seguir a demonstração em vídeo na parte superior do artigo.





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)