Skip to main content
  1. Comandi/

last / lastb - login history

·4 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

`

Cosa fa
#

last legge /var/log/wtmp e mostra la cronologia di tutti i login riusciti, logout e riavvii del sistema. lastb (last bad) legge /var/log/btmp e mostra i tentativi di login falliti. Entrambi i file sono binari — non si leggono con cat, si usano questi comandi.

Sintassi
#

last [opzioni] [utente] sudo lastb [opzioni] [utente]

Comandi essenziali
#

ComandoFlagSignificato flagCosa fa
lastTutti i login riusciti, logout e riavvii
last barnoSolo i login dell'utente barno
last -n 20-nnumberMostra solo gli ultimi 20 eventi
last -F-FFullMostra data e ora complete (anno incluso)
last rebootSolo i riavvii del sistema
sudo lastbTutti i login falliti (richiede sudo)
sudo lastb -n 20-nnumberUltimi 20 login falliti
sudo lastb utenteLogin falliti per un utente specifico
lastlogUltimo login di tutti gli utenti del sistema
lastlog -u utente-uuserUltimo login di un utente specifico

Leggere l'output
#

last
# barno   pts/1    192.168.64.1     Tue Mar 25 00:52   still logged in
# barno   pts/0    192.168.64.1     Mon Mar 24 23:52 - 00:41  (00:48)
# reboot  system boot Mon Mar 24 18:00   still running
# ^       ^            ^                  ^               ^
# utente  terminale    IP sorgente        data/ora login  durata o stato

sudo lastb
# pippo   ssh:notty   192.168.64.1     Tue Mar 24 23:57 - 23:57  (00:00)
# ^       ^            ^                ^
# utente  tipo accesso IP sorgente      timestamp tentativo

wtmp vs btmp vs auth.log
#

wtmp                    btmp                    auth.log
──────────────────      ──────────────────      ──────────────────────
login riusciti          login falliti           tutti gli eventi PAM
logout                  —                       sudo, su, adduser...
riavvii                 —                       —
binario                 binario                 testo
last per leggerlo       lastb per leggerlo      grep funziona
alterabile da root      alterabile da root      alterabile da root

Differenza tra lastb e grep su auth.log
#

lastb mostra solo i login falliti in formato tabellare con IP e timestamp. grep "Failed password" /var/log/auth.log mostra le stesse informazioni ma con piu' contesto — incluso il messaggio PAM completo e il tipo di autenticazione tentata. Per un'analisi rapida si usa lastb, per l'analisi forense si usa auth.log.

Combinazioni utili
#

# Quanti login falliti in totale?
sudo lastb | wc -l

# IP piu' frequenti nei login falliti
sudo lastb | awk '{print $3}' | sort | uniq -c | sort -rn | head -10

# Login riusciti dell'ultima settimana
last -F | grep "$(date -d '7 days ago' '+%b')"

# Verificare se un utente specifico si e' mai loggato
last testuser
# se non c'e' output → non si e' mai loggato da quando wtmp esiste

# Riavvii recenti — utile per timeline forense
last reboot -F

Scenario Reale
#

Durante l'investigazione sull'utente testuser che ha tentato di cancellarsi:

# 1. Quando si e' loggato per la prima volta?
last testuser -F

# 2. Ha avuto login falliti prima di riuscire ad accedere?
sudo lastb testuser

# 3. Da quale IP si e' connesso?
last testuser | awk '{print $3}' | sort -u

# 4. C'e' stato un riavvio sospetto dopo il suo accesso?
last reboot -F

# Pattern sospetto: molti lastb → poi un last riuscito → poi sudo fallito
# = brute force riuscito seguito da tentativo di escalation
/var/log/btmp e /var/log/wtmp sono file binari — cat produce output incomprensibile o danneggia il terminale. Usa sempre lastb e last per leggerli.
lastb richiede sudo perche' /var/log/btmp e' leggibile solo da root — le credenziali tentate (anche sbagliate) sono considerate informazioni sensibili.

Dove l'ho usato
#

  • Lab Ubuntu mercoledi' 25 marzo — investigazione utente testuser
  • auth-log — usato in parallelo per avere il contesto PAM completo

Note personali
#

La combo sudo lastb | awk '{print $3}' | sort | uniq -c | sort -rn | head -10 e' il modo piu' rapido per vedere gli IP che stanno facendo brute force. Se un IP compare centinaia di volte, e' un candidato immediato per il blocco con ufw deny from IP.

Collegato a
#

  • iam — categoria
  • log — categoria
  • auth-log — fonte complementare per gli stessi eventi
  • who — mostra sessioni attive in questo momento
  • journalctl — alternativa per eventi di autenticazione
  • pam — genera gli eventi che finiscono in wtmp e btmp

Related