NewPosThings Hacked & Exposed

Back to Posts

NewPosThings Hacked & Exposed

Speravamo di riuscire a entrare in contatto con Arbor Networks, che un mese fa, ha pubblicato un interessante articolo riguardante NewPosThings, un malware per punti di vendita (PoS) e a condividere i dettagli di questa analisi con loro; purtroppo non siamo mai stati ricontattati, abbiamo pertanto deciso di rendere pubblica la nostra analisi, a distanza di un mese, per non compromettere eventuali operazioni di polizia.

Arbor Network ha analizzato il sample del malware (di cui vi riproponiamo i risultati), mentre noi di VoidSec ci siamo concentrati sull’analisi del server di comando e controllo.

Analisi del Malware

di Arbor Network

Il suo nome deriva da una stringa di percorso incorporata nel campione analizzato, C:\Users\Tom\documents\visual studio 2012\Projects\NewPosThings\Release\NewPosThings.pdb

Inizializzazione:
Il malware s’inizializza nel modo seguente:

imposta alcune flag di file nel Registro di sistema:

  • LowRiskFileTypes” in “HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Associations
  • 1806” in “HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0
  • Si copia nella cartella “%APPDATA%\Java\JavaUpdate.exe
  • Controlla se la versione in uso è a 64-bit, se lo è, termina la sua esecuzione con un MessageBox
  • Termina i processi “JavaUpdate.exe
  • Imposta delle chiavi nel registro di sistema per garantire la sua persistenza al riavvio: (HKCU\Software\Microsoft\Windows\CurrentVersion\Run) come “Java Update Manager
  • Esegue una copia dell’eseguibile e termina la sua esecuzione

La copia continua:

  • Cancella il file eseguibile originale
  • Contatta il server di comando e controllo
  • Cerca nel registro di sistema la presenza di password per l’applicativo VNC
  • Avvia il thread di ricerca in memoria del tracciato delle carte di credito
  • Avvia il thread di comunicazione con il server C2
  • Avvia il thread di key logging

Vediamo ora la tipica comunicazione tra il client e il server:
phonehomecs è encodato in base64 e viene decodificato come “insert

Il parametro p contiene:

  • la versione di windows in uso
  • il valore “+32”, hardcoded nel malware, “segnaposto” per la tipologia di architettura
  • il nome del computer

il parametro m contiene il numero seriale del volume (usato come identificatore)

Una tipica risposta del server C2:
response

Tracciato 1 e 2 delle carte di credito:

Il thread è un ciclo infinito che “fotografa” i processi in uso dal sistema:

  • Ignora i processi di sistema (svchost.exe, System, smss.exe, csrss.exe, winlogon.exe, lsass.exe, spoolsv.exe, alg.exe, wuauclt.exe)
  • Ignora il proccesso del malware
  • Analizza ogni byte in cerca di “^” o “=” separatori di campo utilizzati per i tracciati 1 e 2 delle carte di credito
  • Se c’è una corrispondenza, vengono effettuati ulteriori controlli:
    • Lavorando a ritroso dal separatore cerca 13-20 cifre che potrebbero essere il numero di conto primario (PAN).
    • Controlla l’eventuale PAN con l’algoritmo di Luhn, utilizzato per convalidare i numeri delle carte di credito
    • Verifica che la data di scadenza sia ragionevole: l’anno è compreso tra [20]13 e [20]19 e che i mesi inizino con uno 0 o 1
    • Verifica se i caratteri dopo il separatore sono cifre

I dati crittografati sono memorizzati per il successivo upload al C2

Analisi del Server di Comando e Controllo

di VoidSec

login

Grazie all’analisi di Arbor Networks siamo stati in grado di “reperire” alcuni indirizzi di server C2, attualmente live (30/10/14).

Analizzando il server abbiamo riscontrato le seguenti vulnerabilià:

  • Possibilità di eseguire bruteforce sulle credenziali amministrative
  • Presenza dell’applicativo phpMyAdmin con possibilità di login via web

Possibilità di visualizzare pagine interne del server C2 senza essere loggati.
Questa vulnerabilità, anche conosciuta come: authentication bypass, è dovuta allo script che effettua il redirect dell’utente alla pagina di login.

<?php if (!isset($_SESSION["authenticated"])) {
header("Location: auth.php");}
?>
<title>Administration page</title>
<form action="/admin/action" method="post">
...  form inputs ...
</form>
...  the rest of the administration page ...

Questo script non termina dopo la linea “header(“Location: auth.php”);”.
Un attaccante può accedere al suo contenuto utilizzando un client che non “segue” i redirect HTTP.

<?php
if (!isset($_SESSION[auth])) {
header("Location: auth.php");
exit();
}
?>
<title>Administration page</title>
<form action="/admin/action" method="post">
...  form inputs ...
</form>
...  the rest of the administration page ...
  • possibile Time Blind SQL Injection sul parametro bots (POST)

Grazie a queste vulnerabilità, siamo riusciti a esportare il contenuto dei database e a visualizzare l’interfaccia amministrativa del server di comando e controllo che così si presenta:
newpos

Da questa interfaccia abbiamo raccolto tutte le informazioni possibili, riguardo i computer coinvolti, e abbiamo generato delle statistiche.

I due server C2 avevano in totale 80 bots
Il numero totale di log archiviati è di: 5240, una media di 65.5 log/bot

Nel momento in cui abbiamo effettuato l’accesso ai server C2 erano online 50 bots, 10 non possedevano uno status e 20 bots erano “deceduti”.

Versione e Architettura del Sistema Operativo

so

archi

Paesi coinvolti nell’attacco

country

Dalle analisi effettuate sugli indirizzi IP dei bot, abbiamo potuto constatare come la “campagna” di malware sia stata portata avanti maggiormente in Australia e Canada, anche se non è da sottovalutare il dato della Gran Bretagna.

Non conosciamo il vettore di attacco con cui questo malware infetta i sistemi ma sappiamo che colpisce maggiormente i sistemi con Windows XP, perché più facili da attaccare (essendo rimasti senza update Microsoft), sono ancora presenti su larga scala in sistemi quali banche, punti vendita, Bancomat e ATM.

Sappiamo inoltre, dai nomi dei computer coinvolti (PoS Manager, Server, Central Office, Theatre, Kasse, GAS Station), che solo computer realmente connessi/che gestiscono PoS sono stati infettati, sono stati completamente ignorati PC consumer, dato che non potrebbero contenere LOG di carte di credito e per evitare di aumentare il detection rate da parte di software antivirus.

Pensiamo pertanto che gli autori del malware abbiano accesso diretto o possano compromettere computer di punti vendita specifici.

Update [03/12/14]:

Recentemente siamo riusciti, grazie alla segnalazione di Andrea Draghetti, a compromettere completamente uno dei server C&C utilizzati daggli attaccanti.
Rendiamo disponibili i source del web-panel:

Download Web-Panel Source

Share this post

Back to Posts