In questo articolo andiamo a discutere come sviluppare una semplice applicazione C# che faccia finta di essere un form di login per Windows (fake login) e chieda la password ad un utente in Windows 10.

Questa rappresenta una tecnica veramente efficiente, usata per rubare informazioni sensibili e, se perfezionata, può anche trarre in inganno un utente esperto.

Il Form di Login Windows

La prima cosa che ci serve per raggiungere il nostro obiettivo è riprodurre il più fedelmente possibile una finestra di dialogo di login Windows, come questa:

Ti consiglio di usare la libreria Ookii, che è una libreria di classi per applicazioni .Net che offre molte finestre di dialogo comuni in Windows: una i queste è la CredentialDialog che è proprio quello che fa al caso nostro.

Scarichiamo l’archivio da questo link e importiamo la Ookii.Dialogs.Wpf.dll nel nostro progetto.

Validare le Credenziali Utente

Bene, abbiamo il form di login. Adesso dobbiamo essere capaci di controllare se le credenziali inserite sono valide. Per fare ciò, segui questo articolo dove ho spiegato come farlo e prepara il progetto.

Sostanzialmente, dobbiamo solo importare 2 assembly:

  • System.Security.Principal;
  • System.DirectoryServices.AccountManagement;

E poi siamo pronti a partire!

La Soluzione

A questo punto possiamo cominciare importando gli assembly necessari nel nostro progetto:

Copy to Clipboard

Ora nella sezione Main, prepariamo alcune variabili utili. All’inizio recuperiamo lo username e il nome di dominio del sistema su cui l’applicazione sta girando:

Copy to Clipboard

Crea un fake login usando la libreria Ookii e passagli alcuni input, in questo esempio stiamo facendo finta di essere una finestra di login di Microsoft Outlook:

Copy to Clipboard

L’ultima cosa da fare è di mostrare la finestra e controllare le credenziali inserite ogni volta l’utente clicca OK. Se le credenziali sono corrette, le stampiamo a schermo, altrimenti continuiamo a chiederne di valide.

Tieni di conto che questo, ovviamente, è solo un esempio. Un’applicazione malevola salverebbe e trasmetterebbe quelle credenziali all’attaccante!
Copy to Clipboard

Una volta preparato, lancia il progetto.

Dovresti vedere un fake login form: se inserisci una password non valida, la finestra di login apparirà nuovamente. Se la password è corretta, la vedrai stampata in chiaro sulla console.

Conclusioni

Bene, abbiamo visto una strada semplice ma, allo stesso tempo, efficace per rubare le password di Windows.

Questa tecnica può essere usata per creare applicazioni malevole che possono essere installare su una macchina con l’obiettivo di raccogliere dati sensibili.