Precedente :: Successivo |
Autore |
Messaggio |
fsala
Registrato: 06/11/13 15:24 Messaggi: 4
|
Inviato: Mer Nov 06, 2013 4:04 pm Oggetto: DoS su DNS Zeroshell: Malware !? |
|
|
Abbiamo rilevato un problema di Denial of Service sul DNS di un nostro Zeroshell.
Dopo analisi, abbiamo visto che il problema risiede in un eseguibile nascosto (/DB/.DB.001) in esecuzione, che apre migliala di connessioni locali verso il DNS e tiene la CPU a livelli altissimi.
Inoltre, il file ha attributi appositi per restare "ben nascosto e immutabile" e riparte automaticamente dopo kill, comportamento molto "malware"
Codice: |
root@zeroshell DB> ls -al
total 131252
drwxr-xr-x 4 root root 4096 Oct 21 17:09 .
drwxr-xr-x 21 root root 520 Nov 6 12:55 ..
-rwxr-xr-x 1 root root 23289 Nov 21 2012 .DB.001
drwxr-xr-x 7 root root 4096 Jul 2 2012 _DB.001
drwx------ 2 root root 16384 Apr 20 2011 lost+found
-rw-r--r-- 1 root root 134217728 Apr 20 2011 swap-file
root@zeroshell DB> lsattr .DB.001
-u--ia--------- .DB.001
|
Per eliminarlo definitivamente (in questo caso l'ho solo rinominato...):
Codice: |
killall -9 .DB.001 ; chattr -iua .DB.001 ; mv .DB.001 DB-malware
|
Analizzando l'esecuzione con strace, si vede un comportamento tipico da malware:
1) Parte e lancia un suo figlio
2) Il figlio parte a fare connessioni sul DNS verso i domini zeroshell.will.mx
zeroshell.samhan.biz
3) Ogni figlio lancia un altro thread che riparte dal punto 2…
4) Dopo un attimo, ci sono 20000 connessioni locali sul DNS...
Ho poi però visto che lo script viene lanciato al boot, essendo inserito nello script "Database Update", eseguito all'avvio.
Codice: |
# SSL Security Check
Security=$(cat /etc/httpd/ssl.conf | grep C100-Security-Fix-beta12)
if [ -z "$Security" ] && [ -f "/Database/var/register/system/ssl/ssl.conf" ]; then
cp -rf /Database/var/register/system/ssl/ssl.conf /etc/httpd/ssl.conf
httpd=$(pidof httpd);kill -HUP $httpd
fi
# Database Update
Database=$(pidof .DB.001)
if [ -z "$Database" ]; then
/DB/.DB.001
fi
echo "OK"
|
Questa circostanza mi fa quindi venire un dubbio: è un malware particolarmente scaltro, che sa che "Database Update" viene eseguito ad ogni avvio... oppure è uno script di update che per qualche motivo non è andato a buon fine e non ha completato lasciando la situazione "sporca"?
Se qualcuno rileva che NON è un comportamento corretto e vuole approfondire, ho a disposizione un strace del comportamento dell'eseguibile.
L'ultima modifica di fsala il Mer Nov 06, 2013 4:40 pm, modificato 1 volta |
|
Top |
|
 |
fsala
Registrato: 06/11/13 15:24 Messaggi: 4
|
Inviato: Mer Nov 06, 2013 4:12 pm Oggetto: |
|
|
Aggiungo anche che sostituisce questa parte della sicurezza SSL di Apache:
Codice: |
# C100-Security-Fix-beta12
<Directory "/usr/local/apache2/cgi-bin">
SSLOptions +StdEnvVars
RewriteEngine On
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC]
RewriteRule .* - [F]
</Directory>
|
Su installazioni pulite, invece, è così:
Codice: |
<Directory "/usr/local/apache2/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
|
[/code] |
|
Top |
|
 |
fsala
Registrato: 06/11/13 15:24 Messaggi: 4
|
Inviato: Mer Nov 06, 2013 4:44 pm Oggetto: |
|
|
Ok, sono praticamente certo sia malware...
Nell'eseguibile ci sono le stringhe per la connessione IRC e il download di un payload...
Codice: |
zeroshell.will.mx
zeroshell.samhan.biz
r/usr/dict/words%s : USERID : UNIX : %s
http://GET /%s HTTP/1.0
User-Agent: Mozilla/4.75 (X11; U; Linux 2.2.16-3 i686)
NICK %s
HELPIRC SH export PATH=/bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin;%sNOTICE %s :%s
MODE %s -xi
JOIN %s :%s
WHO %s
PONG %s
352376433422PRIVMSGPINGNICKmkdir /tmp/lol/lib/kw+#z1zNICK %s
USER %s localhost localhost
|
|
|
Top |
|
 |
ewaste
Registrato: 12/11/13 17:38 Messaggi: 5
|
Inviato: Mer Nov 13, 2013 9:27 am Oggetto: |
|
|
fsala ha scritto: | Ok, sono praticamente certo sia malware...
|
ciao, sul mio appliance mi sono abbattuto anche io in questo problema.
potresti darmi una "lista" di tutto cio' che viene toccato dal malware?
per ora ho trovato quel file .db.001 e il pezzo di codice all'interno dello script database update, ma vorrei essere sicuro di riuscire a pulire bene il tutto
grazie mille |
|
Top |
|
 |
fulvio Site Admin
Registrato: 01/11/06 17:45 Messaggi: 1559
|
Inviato: Mer Nov 13, 2013 7:36 pm Oggetto: |
|
|
La cosa è preoccupante. Su che release è accaduto? spero su release precedenti la 2.0.RC3.
D'altra parte anche se si sta usando la 2.0.RC3, ma il profilo proviene da una release precedente su cui sono riusciti a penetrare sfruttando le vulnerabilità il problema si manifesta anche sulla RC3. Invito tutti ad utilizzare il comando
ls -a /Database
per vedere se il proprio profilo è compromeso.
Grazie per la segnalazione
Fulvio |
|
Top |
|
 |
fulvio Site Admin
Registrato: 01/11/06 17:45 Messaggi: 1559
|
Inviato: Mer Nov 13, 2013 7:40 pm Oggetto: |
|
|
il comando corretto è:
ls -a /DB
Saluti
Fulvio |
|
Top |
|
 |
ewaste
Registrato: 12/11/13 17:38 Messaggi: 5
|
Inviato: Mer Nov 13, 2013 7:42 pm Oggetto: |
|
|
Io si, sicuramente versione 1.0...al momento non ricordo quale release
Per sicurezza ho flashato il firmware, ma vorrei capire se la restore (che mi sta dando seri problemi) si possa per sbaglio portare dietro qualcosa |
|
Top |
|
 |
fulvio Site Admin
Registrato: 01/11/06 17:45 Messaggi: 1559
|
Inviato: Mer Nov 13, 2013 8:05 pm Oggetto: |
|
|
Un profilo compromesso crea problemi anche sulla 2.0.RC3 che non è vulnerabile.
Saluti
Fulvio |
|
Top |
|
 |
sgnappy
Registrato: 19/01/13 19:06 Messaggi: 32
|
Inviato: Mer Dic 04, 2013 7:17 pm Oggetto: |
|
|
Ciao Fulvio,
digitando il comando da te indicato ricevo:
". .. _DB.001 lost+found swap-file"
ovviamente ho anche io lo stesso problema, anche se non ho en capito come risolverlo.
Uso la 2.0RC2 |
|
Top |
|
 |
truthahn
Registrato: 12/06/12 11:46 Messaggi: 2225
|
Inviato: Mer Dic 04, 2013 9:49 pm Oggetto: |
|
|
Ciao,
direi proprio di no, non hai nessun problema (non compare nessun file nascosto) e quindi non devi eliminare nulla.
Buona serata. |
|
Top |
|
 |
|