5.6 KiB
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
- Se você quiser ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF Verifique os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe seus truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.
Informações Básicas
PAM (Pluggable Authentication Modules) atua como um mecanismo de segurança que verifica a identidade dos usuários que tentam acessar os serviços de computador, controlando seu acesso com base em vários critérios. É semelhante a um porteiro digital, garantindo que apenas usuários autorizados possam interagir com serviços específicos, potencialmente limitando seu uso para evitar sobrecargas no sistema.
Arquivos de Configuração
- Sistemas Solaris e baseados em UNIX geralmente utilizam um arquivo de configuração central localizado em
/etc/pam.conf
. - Sistemas Linux preferem uma abordagem de diretório, armazenando configurações específicas do serviço dentro de
/etc/pam.d
. Por exemplo, o arquivo de configuração para o serviço de login é encontrado em/etc/pam.d/login
.
Um exemplo de uma configuração PAM para o serviço de login pode ser assim:
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so try_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_ldap.so
password required /lib/security/pam_pwdb.so use_first_pass
session required /lib/security/pam_unix_session.so
Reinos de Gerenciamento do PAM
Esses reinos, ou grupos de gerenciamento, incluem auth, account, password e session, cada um responsável por diferentes aspectos do processo de autenticação e gerenciamento de sessão:
- Auth: Valida a identidade do usuário, frequentemente solicitando uma senha.
- Account: Lida com a verificação da conta, verificando condições como pertencimento a grupos ou restrições de horário.
- Password: Gerencia atualizações de senha, incluindo verificações de complexidade ou prevenção de ataques de dicionário.
- Session: Gerencia ações durante o início ou fim de uma sessão de serviço, como montagem de diretórios ou definição de limites de recursos.
Controles do Módulo PAM
Os controles ditam a resposta do módulo ao sucesso ou falha, influenciando o processo de autenticação como um todo. Estes incluem:
- Required: A falha de um módulo obrigatório resulta em falha eventual, mas somente após a verificação de todos os módulos subsequentes.
- Requisite: Término imediato do processo em caso de falha.
- Sufficient: O sucesso ignora o restante das verificações do mesmo reino, a menos que um módulo subsequente falhe.
- Optional: Causa falha somente se for o único módulo na pilha.
Cenário de Exemplo
Em uma configuração com vários módulos de autenticação, o processo segue uma ordem estrita. Se o módulo pam_securetty
encontrar o terminal de login não autorizado, os logins de root são bloqueados, porém todos os módulos ainda são processados devido ao seu status "required". O pam_env
define variáveis de ambiente, potencialmente auxiliando na experiência do usuário. Os módulos pam_ldap
e pam_unix
trabalham juntos para autenticar o usuário, com o pam_unix
tentando usar uma senha fornecida anteriormente, aumentando a eficiência e flexibilidade nos métodos de autenticação.
Referências
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF, confira os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe seus truques de hacking enviando PRs para os repositórios HackTricks e HackTricks Cloud.