mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
81 lines
5.4 KiB
Markdown
81 lines
5.4 KiB
Markdown
# PAM - Pluggable Authentication Modules
|
|
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
|
|
### Basic Information
|
|
|
|
**PAM (Pluggable Authentication Modules)** deluje kao bezbednosni mehanizam koji **proverava identitet korisnika koji pokušavaju da pristupe računarskim uslugama**, kontrolišući njihov pristup na osnovu različitih kriterijuma. Slično je digitalnom čuvaru, osiguravajući da samo ovlašćeni korisnici mogu da koriste određene usluge, dok potencijalno ograničavaju njihovu upotrebu kako bi se sprečilo preopterećenje sistema.
|
|
|
|
#### Configuration Files
|
|
|
|
* **Solaris i UNIX-bazirani sistemi** obično koriste centralnu konfiguracionu datoteku smeštenu na `/etc/pam.conf`.
|
|
* **Linux sistemi** preferiraju pristup putem direktorijuma, čuvajući konfiguracije specifične za uslugu unutar `/etc/pam.d`. Na primer, konfiguraciona datoteka za uslugu prijavljivanja se nalazi na `/etc/pam.d/login`.
|
|
|
|
Primer PAM konfiguracije za uslugu prijavljivanja može izgledati ovako:
|
|
```
|
|
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
|
|
```
|
|
#### **PAM Menadžment Oblasti**
|
|
|
|
Ove oblasti, ili menadžment grupe, uključuju **auth**, **account**, **password**, i **session**, svaka odgovorna za različite aspekte procesa autentifikacije i upravljanja sesijama:
|
|
|
|
* **Auth**: Validira identitet korisnika, često tražeći lozinku.
|
|
* **Account**: Rukuje verifikacijom naloga, proveravajući uslove kao što su članstvo u grupi ili ograničenja vremena.
|
|
* **Password**: Upravljanje ažuriranjima lozinki, uključujući provere složenosti ili prevenciju napada rečnikom.
|
|
* **Session**: Upravljanje radnjama tokom početka ili završetka sesije usluge, kao što su montiranje direktorijuma ili postavljanje ograničenja resursa.
|
|
|
|
#### **PAM Modul Kontrole**
|
|
|
|
Kontrole određuju odgovor modula na uspeh ili neuspeh, utičući na celokupni proces autentifikacije. Ove uključuju:
|
|
|
|
* **Required**: Neuspeh obaveznog modula rezultira konačnim neuspehom, ali samo nakon što su svi naredni moduli provereni.
|
|
* **Requisite**: Odmah prekida proces u slučaju neuspeha.
|
|
* **Sufficient**: Uspeh zaobilazi ostale provere iste oblasti osim ako neki naredni modul ne ne uspe.
|
|
* **Optional**: Uzrokuje neuspeh samo ako je jedini modul u steku.
|
|
|
|
#### Primer Scenarija
|
|
|
|
U postavci sa više auth modula, proces prati strogi redosled. Ako `pam_securetty` modul pronađe da je terminal za prijavu neovlašćen, root prijave su blokirane, ali se svi moduli i dalje obrađuju zbog njegovog "required" statusa. `pam_env` postavlja promenljive okruženja, potencijalno pomažući u korisničkom iskustvu. Moduli `pam_ldap` i `pam_unix` rade zajedno na autentifikaciji korisnika, pri čemu `pam_unix` pokušava da koristi prethodno dostavljenu lozinku, poboljšavajući efikasnost i fleksibilnost u metodama autentifikacije.
|
|
|
|
### Reference
|
|
|
|
* [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434)
|
|
|
|
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|