Intelligenza Artificiale

A un certo punto non fu più la biologia a dominare il destino dell'uomo, ma il prodotto del suo cervello: la cultura.
Cosicché: "Le uniche leggi della materia sono quelle che la nostra mente deve architettare e le uniche leggi della mente sono architettate per essa dalla materia".
JAMES CLERK MAXWELL

Wordlist


Esempi pratici partendo da informazioni pubbliche

Wordlist e OSINT

Questo articolo spiega cosa è una wordlist, come crearla a partire da informazioni pubbliche (OSINT) e include uno script Python che genera automaticamente una wordlist personalizzata.

📚 Cos'è una Wordlist

Una wordlist è un file di testo con un elenco di parole, frasi o combinazioni che rappresentano possibili password o chiavi d'accesso. Ogni riga del file è un tentativo potenziale.

Esempio minimo

Esempio di mini-wordlist (visualizzata come lista):

  • password
  • 123456
  • qwerty
  • Pippo2025
  • Estate2024

🔎 Creare una Wordlist da Informazioni Pubbliche (OSINT)

Il processo più efficace consiste nel creare una wordlist mirata via Password Profiling, combinando informazioni pubbliche raccolte tramite OSINT.

Fonti OSINT comuni

Esempi di fonti aperte:

  • Profili LinkedIn
  • Siti aziendali
  • Articoli di blog
  • Social media pubblici
Esempio ipotetico di dati raccolti

Dati che potresti trovare su LinkedIn o sul sito aziendale:

Campo Valore (esempio)
Nome Marco Rossi
Azienda TechNova
Data di nascita 15/09/1990
Eventi Hackathon 2024, TeamBuilding 2023

💻 Generazione Automatica: Script Python

Lo script seguente prende in ingresso nomi, anni e simboli e genera combinazioni comuni. Inseriscilo in un file .py e avvialo in un ambiente controllato.

<!------------------ INIZIO SCRIPT PYTHON ------------------>
from itertools import product

def generate_wordlist(names, years, symbols, output_file):
    wordlist = set()

    # Combinazioni base
    for name in names:
        wordlist.add(name)
        for year in years:
            wordlist.add(f"{name}{year}")
            wordlist.add(f"{year}{name}")
            for sym in symbols:
                wordlist.add(f"{name}{sym}{year}")
                wordlist.add(f"{year}{sym}{name}")
                wordlist.add(f"{name}{year}{sym}")

    # Salvataggio su file
    with open(output_file, 'w') as f:
        for word in sorted(wordlist):
            f.write(word + "\n")
    print(f"[+] Wordlist salvata in {output_file} con {len(wordlist)} combinazioni.")

# Esempio di utilizzo
if __name__ == '__main__':
    names = ["Marco", "Rossi", "TechNova"]
    years = ["1990", "2023", "2024"]
    symbols = ["!", "@", "#"]

    generate_wordlist(names, years, symbols, "wordlist_osint.txt")
<!------------------ FINE SCRIPT PYTHON ------------------>

Note sullo script:

  • Le stringhe all'interno del codice sono state convertite in entità HTML dove presente, per sicurezza nella visualizzazione.
  • Lo script usa set per eliminare duplicati e salva in un file di testo chiamato wordlist_osint.txt.
  • Personalizza gli array names, years e symbols con i dati raccolti via OSINT.

⚠ Considerazioni etiche e legali

L'uso di queste tecniche su sistemi o account senza autorizzazione è illegale e perseguibile. Utilizza quanto descritto solo in ambiti di penetration test autorizzati o su ambienti di laboratorio controllati.

Buone pratiche
  • Ottenere permesso scritto prima di testare
  • Documentare gli esperimenti e le prove
  • Proteggere i dati raccolti e non divulgarli

🛠 Best practice per wordlist efficaci

Le wordlist personalizzate create con OSINT sono in genere più efficaci rispetto a liste generiche. Alcuni suggerimenti:

  • Unire nomi con anni e simboli comuni
  • Includere varianti con lettere maiuscole e minuscole
  • Rimuovere duplicati e normalizzare le parole

Questo articolo è stato generato da ChatGPT