Istoria unui hacking sau mai rău decât ftp

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 ca și cum ar fi aluzie, așa că m-am dus la site-ul sape.ru, am descărcat API-ul pentru webmasterul și am constatat că malware-ul nostru este un cod puțin modificat. Mai exact, au fost înlocuite numele de clasă, numele fișierelor și lista serverelor din care scriptul a primit link-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!







Articole similare

Trimiteți-le prietenilor: