PAM - Pluggable Authentication Modules
Reading time: 3 minutes
tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
๊ธฐ๋ณธ ์ ๋ณด
**PAM (Pluggable Authentication Modules)**๋ ์ปดํจํฐ ์๋น์ค์ ์ ๊ทผํ๋ ค๋ ์ฌ์ฉ์์ ์ ์์ ํ์ธํ๋ ๋ณด์ ๋ฉ์ปค๋์ฆ์ผ๋ก, ๋ค์ํ ๊ธฐ์ค์ ๋ฐ๋ผ ์ ๊ทผ์ ์ ์ดํฉ๋๋ค. ์ด๋ ๋์งํธ ๊ฒ์ดํธํคํผ์ ์ ์ฌํ์ฌ, ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ง ํน์ ์๋น์ค์ ์ฐธ์ฌํ ์ ์๋๋ก ๋ณด์ฅํ๋ฉฐ, ์์คํ ๊ณผ๋ถํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฌ์ฉ์ ์ ํํ ์ ์์ต๋๋ค.
๊ตฌ์ฑ ํ์ผ
- Solaris ๋ฐ UNIX ๊ธฐ๋ฐ ์์คํ
์ ์ผ๋ฐ์ ์ผ๋ก
/etc/pam.conf
์ ์์นํ ์ค์ ๊ตฌ์ฑ ํ์ผ์ ์ฌ์ฉํฉ๋๋ค. - Linux ์์คํ
์ ๋๋ ํ ๋ฆฌ ๋ฐฉ์์ ์ ํธํ๋ฉฐ, ์๋น์ค๋ณ ๊ตฌ์ฑ์
/etc/pam.d
์ ์ ์ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ก๊ทธ์ธ ์๋น์ค์ ๊ตฌ์ฑ ํ์ผ์/etc/pam.d/login
์ ์์ต๋๋ค.
๋ก๊ทธ์ธ ์๋น์ค์ ๋ํ PAM ๊ตฌ์ฑ์ ์๋ ๋ค์๊ณผ ๊ฐ์ ์ ์์ต๋๋ค:
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 ๊ด๋ฆฌ ์์ญ
์ด ์์ญ, ๋๋ ๊ด๋ฆฌ ๊ทธ๋ฃน์ auth, account, password, session์ ํฌํจํ๋ฉฐ, ๊ฐ๊ฐ ์ธ์ฆ ๋ฐ ์ธ์ ๊ด๋ฆฌ ํ๋ก์ธ์ค์ ๋ค์ํ ์ธก๋ฉด์ ๋ด๋นํฉ๋๋ค:
- Auth: ์ฌ์ฉ์ ์ ์์ ๊ฒ์ฆํ๋ฉฐ, ์ข ์ข ๋น๋ฐ๋ฒํธ ์ ๋ ฅ์ ์๊ตฌํฉ๋๋ค.
- Account: ๊ทธ๋ฃน ๋ฉค๋ฒ์ญ์ด๋ ์๊ฐ ์ ํ๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ํ์ธํ์ฌ ๊ณ์ ๊ฒ์ฆ์ ์ฒ๋ฆฌํฉ๋๋ค.
- Password: ๋ณต์ก์ฑ ๊ฒ์ฌ ๋๋ ์ฌ์ ๊ณต๊ฒฉ ๋ฐฉ์ง๋ฅผ ํฌํจํ ๋น๋ฐ๋ฒํธ ์ ๋ฐ์ดํธ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- Session: ์๋น์ค ์ธ์ ์ ์์ ๋๋ ์ข ๋ฃ ์ ์์ ์ ๊ด๋ฆฌํ๋ฉฐ, ๋๋ ํ ๋ฆฌ ๋ง์ดํธ ๋๋ ๋ฆฌ์์ค ์ ํ ์ค์ ๊ณผ ๊ฐ์ ์์ ์ ํฌํจํฉ๋๋ค.
PAM ๋ชจ๋ ์ ์ด
์ ์ด๋ ๋ชจ๋์ ์ฑ๊ณต ๋๋ ์คํจ์ ๋ํ ๋ฐ์์ ๊ฒฐ์ ํ๋ฉฐ, ์ ์ฒด ์ธ์ฆ ํ๋ก์ธ์ค์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค:
- Required: ํ์ ๋ชจ๋์ ์คํจ๋ ๊ฒฐ๊ตญ ์คํจ๋ก ์ด์ด์ง์ง๋ง, ๋ชจ๋ ํ์ ๋ชจ๋์ด ํ์ธ๋ ํ์๋ง ๋ฐ์ํฉ๋๋ค.
- Requisite: ์คํจ ์ ์ฆ๊ฐ์ ์ธ ํ๋ก์ธ์ค ์ข ๋ฃ.
- Sufficient: ์ฑ๊ณต ์ ๋์ผ ์์ญ์ ๋๋จธ์ง ๊ฒ์ฌ๋ฅผ ์ฐํํ์ง๋ง, ํ์ ๋ชจ๋์ด ์คํจํ ๊ฒฝ์ฐ๋ ์ ์ธ๋ฉ๋๋ค.
- Optional: ์คํ์์ ์ ์ผํ ๋ชจ๋์ธ ๊ฒฝ์ฐ์๋ง ์คํจ๋ฅผ ์ ๋ฐํฉ๋๋ค.
์์ ์๋๋ฆฌ์ค
์ฌ๋ฌ ์ธ์ฆ ๋ชจ๋์ด ์๋ ์ค์ ์์ ํ๋ก์ธ์ค๋ ์๊ฒฉํ ์์๋ฅผ ๋ฐ๋ฆ
๋๋ค. pam_securetty
๋ชจ๋์ด ๋ก๊ทธ์ธ ํฐ๋ฏธ๋์ด ์น์ธ๋์ง ์์๋ค๊ณ ํ๋จํ๋ฉด, ๋ฃจํธ ๋ก๊ทธ์ธ์ด ์ฐจ๋จ๋์ง๋ง, "required" ์ํ๋ก ์ธํด ๋ชจ๋ ๋ชจ๋์ด ์ฌ์ ํ ์ฒ๋ฆฌ๋ฉ๋๋ค. pam_env
๋ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. pam_ldap
์ pam_unix
๋ชจ๋์ ํจ๊ป ์๋ํ์ฌ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ๋ฉฐ, pam_unix
๋ ์ด์ ์ ์ ๊ณต๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ์๋ํ์ฌ ์ธ์ฆ ๋ฐฉ๋ฒ์ ํจ์จ์ฑ๊ณผ ์ ์ฐ์ฑ์ ๋์
๋๋ค.
References
tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.