Cosa fa#
Analizza file binari o flussi di dati per estrarre e stampare sequenze di caratteri ASCII (testo leggibile) lunghe almeno 4 caratteri (default).
Sintassi#
strings [opzioni] [file]
Visualizzazione: Il Filtro Binario 🧬#
Immagina di passare un secchio di sabbia (file binario) attraverso un setaccio che trattiene solo le pietre preziose (testo).
FILE BINARIO (Input) strings (Processo)
+-------------------------+ +-----------------------+
| 0x7F 0x45 0x4C 0x46 ... | | [ SCAN BYTES ] |
| 0x01 0x01 0x01 0x00 ... | -----> | (Scarta i binari) |
| 0x50 0x41 0x53 0x53 ... | | (Trattiene ASCII) |
+-------------------------+ +-----------+-----------+
|
v
[ OUTPUT TESTUALE ]
"ELF"
"PASS"Comandi ed Opzioni Essenziali#
| Opzione | Nome | Effetto |
|---|---|---|
-a | --all | Scansiona l'intero file, non solo le sezioni di dati. |
-n [num] | --bytes | Imposta la lunghezza minima della stringa (es. -n 10). |
-t [d,o,x] | --radix | Stampa l'offset (posizione) della stringa nel file (decimale, ottale, esadecimale). |
Combinazioni da Analista SOC 🕵️♂️#
# Cerca la parola "password" ignorando maiuscole/minuscole in un eseguibile
strings -a malvage.exe | grep -i "password"
# Estrae solo stringhe lunghe almeno 8 caratteri (riduce il rumore)
strings -n 8 firmware.binScenario Reale: Malware Analysis#
Un attaccante nasconde un indirizzo IP di un server C2 (Command & Control) dentro un programma apparentemente innocuo. Poiché l'IP è memorizzato come testo per connettersi ai socket, strings lo rivelerà immediatamente senza bisogno di avviare il malware in una sandbox.
Dove l'ho usato#
- bandit-09 — Per estrarre la password preceduta da "====" in un file binario.


