Linux Post-Exploitation
Reading time: 3 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Sniffing Logon Passwords with PAM
Hajde da konfigurišemo PAM modul da beleži svaku lozinku koju korisnik koristi za prijavu. Ako ne znaš šta je PAM, proveri:
PAM - Pluggable Authentication Modules
Za više detalja pogledaj originalni post. Ovo je samo sažetak:
Pregled Tehnike: Pluggable Authentication Modules (PAM) nude fleksibilnost u upravljanju autentifikacijom na Unix-baziranim sistemima. Mogu poboljšati bezbednost prilagođavanjem procesa prijave, ali takođe predstavljaju rizike ako se zloupotrebe. Ovaj sažetak opisuje tehniku za hvatanje prijavnih podataka koristeći PAM, zajedno sa strategijama ublažavanja.
Hvatanje Podataka:
- Bash skripta pod nazivom
toomanysecrets.sh
je napravljena da beleži pokušaje prijave, hvatajući datum, korisničko ime ($PAM_USER
), lozinku (putem stdin) i IP adresu udaljenog hosta ($PAM_RHOST
) u/var/log/toomanysecrets.log
. - Skripta je učinjena izvršnom i integrisana u PAM konfiguraciju (
common-auth
) koristećipam_exec.so
modul sa opcijama da se izvršava tiho i izloži autentifikacioni token skripti. - Ovaj pristup pokazuje kako se kompromitovani Linux host može iskoristiti za diskretno beleženje podataka o prijavi.
#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log
sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh
sudo nano /etc/pam.d/common-auth
# Add: auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh
sudo chmod 700 /usr/local/bin/toomanysecrets.sh
Backdooring PAM
Za više detalja pogledajte originalni post. Ovo je samo sažetak:
Pluggable Authentication Module (PAM) je sistem koji se koristi pod Linux-om za autentifikaciju korisnika. Operiše na tri glavna koncepta: korisničko ime, lozinka i usluga. Konfiguracione datoteke za svaku uslugu nalaze se u direktorijumu /etc/pam.d/
, gde deljene biblioteke obrađuju autentifikaciju.
Cilj: Modifikovati PAM da omogući autentifikaciju sa specifičnom lozinkom, zaobilazeći stvarnu korisničku lozinku. Ovo je posebno fokusirano na pam_unix.so
deljenu biblioteku koja se koristi u common-auth
datoteci, koja je uključena u skoro sve usluge za verifikaciju lozinke.
Koraci za modifikaciju pam_unix.so
:
- Pronađite Direktivu za Autentifikaciju u
common-auth
datoteci:
- Linija koja je odgovorna za proveru lozinke korisnika poziva
pam_unix.so
.
- Modifikujte Izvorni Kod:
- Dodajte uslovnu izjavu u
pam_unix_auth.c
izvornoj datoteci koja omogućava pristup ako se koristi unapred definisana lozinka, inače se nastavlja sa uobičajenim procesom autentifikacije.
- Ponovo Kompajlirajte i Zamenite modifikovanu
pam_unix.so
biblioteku u odgovarajućem direktorijumu. - Testiranje:
- Pristup se odobrava kroz razne usluge (prijavljivanje, ssh, sudo, su, screensaver) sa unapred definisanom lozinkom, dok normalni procesi autentifikacije ostaju nepromenjeni.
note
Možete automatizovati ovaj proces sa https://github.com/zephrax/linux-pam-backdoor
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.