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

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ći pam_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.
bash
#!/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:

  1. Pronađite Direktivu za Autentifikaciju u common-auth datoteci:
  • Linija koja je odgovorna za proveru lozinke korisnika poziva pam_unix.so.
  1. 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.
  1. Ponovo Kompajlirajte i Zamenite modifikovanu pam_unix.so biblioteku u odgovarajućem direktorijumu.
  2. 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