Skip to main content
  1. Comandi/

Getent

·2 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Cosa fa
#

Interroga i database del Service Name Switch (NSS), permettendo di consultare utenti, gruppi, host e altri database di sistema indipendentemente dalla loro origine (locale o di rete).

Sintassi
#

getent [database] [chiave]

Comandi essenziali
#

ComandoDatabaseCosa faCorrispettivo Locale
getent passwd [user]passwdElenca utenti (Locali + LDAP/AD)/etc/passwd
getent group [group]groupElenca gruppi e membri/etc/group
getent hosts [host]hostsRisolve nomi host in IP/etc/hosts / DNS
getent services [srv]servicesMappatura porte/servizi ufficiali/etc/services
getent shadow [user]shadowEstrae hash password (richiede sudo)/etc/shadow

locale vs db
#

COMANDO           FONTI DI DATI INTERROGATE
      +----------+      +---------------------------+
      | cat      | ---> | /etc/passwd (Solo locale)  |
      +----------+      +---------------------------+
                                     |
      +----------+      +---------------------------+
      |          | ---> | /etc/passwd (File locale) |
      | getent   |      |            +              |
      |          | ---> | Network DB (LDAP/AD/NIS)  |
      +----------+      +---------------------------+
           |
           v
    [ RISULTATO UNIFICATO ]

Perché è fondamentale per il Blue Team
#

In un'infrastruttura aziendale, molti utenti non risiedono fisicamente nel file /etc/passwd della macchina, ma in un server centralizzato (LDAP o Active Directory).

  • cat /etc/passwd: Legge solo il file locale (visione parziale).
  • getent passwd: Interroga il sistema e restituisce tutti gli utenti con diritto di accesso.

Scenario Reale
#

Stai analizzando un server compromesso e noti un processo sospetto eseguito dall'utente web-admin. Cerchi l'utente in /etc/passwd ma non esiste. Eseguendo getent passwd web-admin, scopri che l'utente esiste nel server LDAP centrale. Questo conferma che il sistema è integrato in un dominio e che l'attaccante potrebbe puntare al Lateral Movement.

Note personali
#

Wizard Tip: Se dimentichi la sintassi di /etc/passwd, usa getent passwd root. Ti restituirà la riga del root da usare come template per i campi (UID, GID, Home, Shell).

Collegato a
#

  • system — categoria
  • iam — categoria
  • nss-name-service-switch — concetto (meccanismo sottostante)
  • etc-passwd-anatomy — relazione (formato dati)

Related