Site-ul se învârte pe un CMS comercial scris în PHP, destul de populare, dar un pic (mult?) „Curve“. Krivost constă în amestecarea și logica de prezentare, stocare a codului în baza de date și executarea ulterioară de către eval, utilizați interogări plain-sql și alte plăceri, „facilitează“ viața de programatori. CMS codul sursă este capabil de a plonja într-o groază tremurândă coder chiar și cu experiență: mulți kilometri de caracteristici cu mai multe condiții, nu la o lungime, variabile globale, eval-uri și o grămadă de alte delicii așteaptă Novice aici temerar. În ciuda arhitecturii software-ului teribil, site-ul de CMS gândire suficient - se pare că a scris TK profesioniști și pus în aplicare un student pe sistem. Ați recunoscut CMS pe care îl utilizați? Simt ...
Privind în șablonul principal al site-ului, am găsit imediat conexiunea la baza unui script suspect:
Sursă de cod sursă footer.php:
Era evident că acesta este un cod rău intenționat și că site-ul este folosit ca site pentru plasarea de linkuri plătite. Iar spărgătorii au avut grijă ca proprietarii de site-uri să nu vadă legăturile din stânga: link-urile au fost afișate tuturor vizitatorilor din perioada de anchetă a Iekaterinburgului (site-ul se află în regiunea Ekaterinburg). Cum au reușit proprietarii site-ului să vadă legăturile? Sa dovedit că serviciul pe care ofițerii l-au determinat pentru a determina orașul prin IP, tocmai a încetat să mai lucreze. Mai exact, a început să emită erori de 404 (test: ip-whois.net/ip_geo.php?ip=212.104.72.58)
Înlăturarea includiului rău intenționat din șablon, am început logoul fișierului.png, care cu siguranță nu era o imagine, ci un adevărat cod php. Sursa logo.png: pastebin.com/cTsgW2RU.
Vedem că scriptul este codificat și comprimat și două apeluri:
Rezultatul este o matrice destul de lungă: pastebin.com/xyqJVfmV
După aceea, am schițat un decodor simplu care înlocuiește toate apelurile către funcția _527006668 cu elementul corespunzător al $ a array: pastebin.com/RxVyACiS
Rezultatul a fost urmărit prin phpbeautifier.com: pastebin.com/wvw1mJA5
tag-uri
Lista serverelor rău intenționate:
- dispenser-01.strangled.net
- dispenser-02.us.to
- dispenser.amursk-rayon.ru
Primele două sunt folosite pentru ieșirea legăturilor obișnuite și contextuale, a treia pentru producția de articole. Toate cele trei site-uri se află pe domenii de nivel 3 și mă interesează ce tipuri de domenii sunt. I-am trimis prin serviciul who.is și am obținut o listă de servere DNS pentru domenii.
Verificați dispenserul01.strangled.net și dispenser-02.us.to:
În acest sens, sa decis să oprim investigarea malware-ului, dar vreau să știu dacă altcineva a întâmpinat o astfel de problemă, am mers și Google "TRUSTLINK_client". Google a găsit 4 site-uri pe care TRUSTLINK_client a rupt și php a afișat un mesaj de eroare. Câte site-uri sunt hacked și funcționează în mod corespunzător, aducerea de profit proprietarilor de malware și pierderile pentru a stăpânilor lor poate doar ghici.
A rămas pentru a afla în ce mod codul malitios a lovit site-ul. Inițial, am avut trei ipoteze:
- proprietarii site-urilor au semnat parole de la ftp / ssh (virus pe calculator, acces la public etc.)
- selectarea parolelor pentru forța bruta ftp / ssh
- vulnerabilitate în software-ul serverului
Unde este data / ora obișnuită? Este neclar ...
Deschis un fișier istoric al formularului @<цифры-буквы-бла-бла-бла>.s:
Se pare că încercați să găsiți o parolă, dar nu există nicio certitudine. Căutarea rapidă prin formatul fișierului jurnal nu a adus niciun rezultat. Pentru a întreba experții pe forumuri a fost leneș, așa că am decis să accept doar ca axiom ipoteza că parola pentru ftp a fost selectată.
Deci, codul rău intenționat este curățat, rămâne să vă protejați de încercările de a găsi parole în viitor:
Ce nu am făcut, dar ar trebui? Pe bune ar fi necesar să deconectați ftp-ul și în loc să îl utilizați sftp. Dar site-ul este de descărcare de date de la terțe părți programe care nu știu nimic, cu excepția ftp. Un altul ar fi să obțineți codul pe site-ul sub git. Dar în situațiile în care o parte considerabilă a codului este stocată în baza de date, acest lucru nu vă va salva de la modificarea neautorizată a codului.
Poate că am pierdut altceva, mă voi bucura de orice sugestie și critică constructivă. Și da, serverele dvs. vor fi în siguranță! Și nu te hackezi pe hackeri!