Temi


Debolezze


  1. L’hash dell’utente è esposto pubblicamente in /etc/passwd. → Riduci l’esposizione superflua di un asset

🐲 Strategia di attacco


1. Consegna

La consegna dice che le credenziali degli utenti sono memorizzate secondo lo standard Linux.

Nella maggior parte dei sistemi questo significa che sono memorizzate nel file /etc/passwd. Generalmente le password sono nascoste (simbolo x) nel file /etc/passwd che ha permessi di accesso generosi e sono invece salvate nel file protetto /etc/shadow.

Si noti la r in resto del mondo per il file passwd.

-rw-r----- 1 root shadow 2540 2011-12-06 02:12 /etc/shadow
-rw-r--r-- 1 root root 2604 2011-12-06 02:12 /etc/passwd

2. Analisi dell’asset

Se si prova a stampare il contenuto di /etc/passwd, in particolare le credenziali dell’utente flag06, si nota che la password è visibile, in formato hashato.

cat /etc/passwd | grep flag06

3. Sfruttamento della debolezza

Debolezza: Password salvata in file con permessi di accesso laschi (/etc/passwd).

A questo punto si crea un file localmente con l’hash trovato, chiamato ad esempio flag06.hash.

Si installano con dnf i pacchetti hashid e hashcat.

hashid -m flag06.hash

Questo comando ci consente di capire il tipo di hash. In questo caso DES (hashcat mode 1500).

Dopodiché è possibile tentare un attacco a dizionario. Per farlo si usa hashcat, uno dei software di password cracking più famoso.

haschat -a 0 -m 1500 flag06.hash rockyou.txt

La password è → hello.

La si usa per autenticarsi e si lancia getflag.

👼 Mitigazione debolezze


Mitigazione #1

Hash dell’utente esposto in /etc/passwd

Si prende nota dell’hash in /etc/passwd corrispondente all’utente flag06.

Si modifica la riga, sostituendo l’hash con un x. Ciò indica che la password corrispondente si trova nel file /etc/shadow.

flag06:x:993:993::/home/flag06:/bin/sh

Si modifica la riga corrispondente a flag06 nel file /etc/shadow, inserendo l’hash memorizzato.

flag06:ueqwOCnSGdsuM:15299::::::

In questo modo l’hash non è più esposto pubblicamente.