YAU – Parte 14 – Il C2, panoramica

25/02/2021

yau

Negli articoli precedenti abbiamo analizzato le componenti di Ursnif che sono eseguite sulla macchina della vittima.

Per questo malware è possibile fare altrettanto facilmente un’analisi del C2, vedremo infatti come alcune vulnerabilità dell’infrastruttura e software del server ci permettano di ottenere varie informazioni.

In questo articolo vedremo la console di amministrazione che gli autori di Ursnif usano per la gestione delle campagne. Un vecchio C2 di Ursnif è stato clonato ed installato in una macchina virtuale ArchLinux.
Dettaglieremo meglio nel prossimo articolo come sia stato possibile ottenere il codice sorgente del C2.

YAU – YET ANOTHER URSNIF

Questo è il quattordicesimo di una serie di articoli, tutti raggruppati qui.

Console di amministrazione

Fin ora abbiamo visto come ottenere gli hostname dei C2 di Ursnif, il lavoro dell’analista sicuramente termina con il censimento (e la propagazione) di questi indicatori.

Ma perchè non vedere che tipo di server sono usati esattamente?

Il server accetta connessioni HTTP perchè è in questo modo che il client Ursnif lo contatta, quindi forse è possibile vedere se il web server permette un directory listing o se sono presenti altre pagine.

Navigango, in HTTP semplice, verso un C2 di Ursnif, siamo accolti dalla ben nota schermata di login.

La schermata di credenziali di Ursnif

La favicon (da cui sono riprese le immagini corpertina di questi articoli) è tipica dei C2 di Ursnif, ed è un modo semplice per identificarli.

Per il momento fingiamo di conoscere le credenziali, vedremo più avanti come sia possibile ottenere le credenziali di default o crearne di nuove (grazie a semplici vulnerabilità).

Una volta entrati siamo accolti da una schermata di riepilogo, che ci mostra, per ogni group id (vedi articoli precedenti) il numero di vittime, divise per nazione.

In questo C2 si esempio, abbiamo inserito una singola vittima.

Sulla sinistra è presente un menù che permette di configurare la campagna ed ottenere informazioni sulla vittima.

Clients

Questa voce elenca tutte le vittime della campagna.

I dati della singola vittima sono fittizi.

Questa pagina può essere salvata, o recuperata direttamente da processi automatici, per estrarre gli IP delle vittime.
Da questi, con delle semplici query WHOIS è possibile avere un’idea dell’organizzazione o amministrazione a cui appartiene la vittima (o se è un privato cittadino).

Questo modo di operare è usato da molti analisti che pubblicano (o condividono privatamente) la lista delle vittime su Twitter o simili. Vedremo piu’ avanti come migliorare questa metodologia.

Modules

Da questa pagina è possibile creare un nuovo group id o rimuoverne di esistenti.

La schermata di inserimento delle informazioni del nuovo group id.

Si possono notare alcune cose interessanti:

  • Un group ID può filtrare le vittime per nazionalità. Questo permette agli attaccanti di utilizzare moduli client mirati.
    Non ci risulta che sia mai stato usato nelle campagne di cui abbiamo traccia.
  • Un group ID può essere diviso per uptime, ovvero può fornire moduli diversi in base all’uptime della vittima.
  • Ogni group ID può fornire quattro moduli (come avevamo visto), la nomenclatura sembra un po’ obsoleta (fatta eccezione per i primi due moduli). I moduli sono caricati direttamente sul C2 tramite questo form.
  • E’ possibile eliminare un group id già censito.

Users

Questa pagine permette di gestire gli utenti, si tratta di semplici funzionalità CRUD ma, come vedremo, giocherà un ruolo fondamentale per l’accesso al C2.

La gestione degli utenti del C2 di Ursnif.

Settings

Da questa voce di menù è possibile configurare alcune opzioni della campagna.

Le impostazioni delle campagna: oltre alla chiave per la comunicazione client-C2, è possibile bloccare determinati ISP o nazioni.

L’impostazione principale è la chiave serpent per la comunicazione tra client e C2.
Oltre a questa, gli autori di Ursnif possono scegliere di bloccare determinati ISP o nazioni.

Altre informazioni

E’ utile osservare che il C2 di Ursnif effettua dei rewrite sulle URL, lo potevamo intuire dal formato degli URL usato dal client, ma anche durante la navigazione della console di amministrazione.

E’ inoltre facile vedere (dagli header di risposta) che il C2 utilizza PHP 5.4.16. Il codice PHP non è compatibile con le nuove versioni di PHP (7+), ma può essere adattato.

Il web server usato sembra essere Apache e la distribuzione Linux CentOS.

Nel prossimo articolo vedremo come ottenere il sorgente del C2 e ne vedremo la struttura.

Taggato  yau