Natukoy ang FritzFrog worm, na nakahahawa sa mga server sa pamamagitan ng SSH at bumubuo ng isang desentralisadong botnet

Ang kumpanya ng Guardicore, na dalubhasa sa proteksyon ng mga data center at cloud system, ipinahayag FritzFrog, isang bagong high-tech na malware na umaatake sa mga server na nakabase sa Linux. Pinagsasama ng FritzFrog ang isang worm na kumakalat sa pamamagitan ng isang bruteforce na pag-atake sa mga server na may bukas na SSH port, at mga bahagi upang bumuo ng isang desentralisadong botnet na gumagana nang walang mga control node at walang iisang punto ng pagkabigo.

Upang bumuo ng isang botnet, ginagamit ang isang proprietary P2P protocol, kung saan ang mga node ay nakikipag-ugnayan sa isa't isa, nag-coordinate sa organisasyon ng mga pag-atake, sumusuporta sa pagpapatakbo ng network at sinusubaybayan ang katayuan ng bawat isa. Ang mga bagong biktima ay matatagpuan sa pamamagitan ng pagsasagawa ng isang bruteforce na pag-atake sa mga server na tumatanggap ng mga kahilingan sa pamamagitan ng SSH. Kapag may nakitang bagong server, hahanapin ang isang diksyunaryo ng mga tipikal na kumbinasyon ng mga login at password. Maaaring isagawa ang kontrol sa pamamagitan ng anumang node, na nagpapahirap sa pagtukoy at pagharang ng mga operator ng botnet.

Ayon sa mga mananaliksik, ang botnet ay mayroon nang humigit-kumulang 500 node, kabilang ang mga server ng ilang unibersidad at isang malaking kumpanya ng tren. Nabanggit na ang mga pangunahing target ng pag-atake ay ang mga network ng mga institusyong pang-edukasyon, mga sentrong medikal, mga ahensya ng gobyerno, mga bangko at mga kumpanya ng telekomunikasyon. Matapos makompromiso ang server, ang proseso ng pagmimina ng Monero cryptocurrency ay isinaayos dito. Ang aktibidad ng malware na pinag-uusapan ay nasubaybayan mula noong Enero 2020.

Ang espesyal na bagay tungkol sa FritzFrog ay pinapanatili nito ang lahat ng data at executable code sa memorya lamang. Ang mga pagbabago sa disk ay binubuo lamang ng pagdaragdag ng bagong SSH key sa authorized_keys file, na pagkatapos ay ginagamit upang ma-access ang server. Ang mga file ng system ay hindi binago, na ginagawang hindi nakikita ang worm sa mga system na sumusuri sa integridad gamit ang mga checksum. Ang memorya ay nag-iimbak din ng mga diksyunaryo para sa malupit na mga password at data para sa pagmimina, na naka-synchronize sa pagitan ng mga node gamit ang P2P protocol.

Ang mga nakakahamak na bahagi ay naka-camouflag bilang ifconfig, libexec, php-fpm at mga proseso ng nginx. Sinusubaybayan ng mga botnet node ang katayuan ng kanilang mga kapitbahay at, kung ang server ay na-reboot o kahit na ang OS ay muling na-install (kung ang isang binagong authorized_keys file ay inilipat sa bagong system), muli nilang ina-activate ang mga nakakahamak na bahagi sa host. Para sa komunikasyon, ginagamit ang karaniwang SSH - ang malware ay naglulunsad din ng isang lokal na "netcat" na nagbubuklod sa interface ng localhost at nakikinig sa trapiko sa port 1234, na ina-access ng mga external na host sa pamamagitan ng isang SSH tunnel, gamit ang isang key mula sa authorized_keys upang kumonekta.

Natukoy ang FritzFrog worm, na nakahahawa sa mga server sa pamamagitan ng SSH at bumubuo ng isang desentralisadong botnet

Ang FritzFrog component code ay nakasulat sa Go at tumatakbo sa multi-threaded mode. Kasama sa malware ang ilang mga module na tumatakbo sa iba't ibang mga thread:

  • Cracker - naghahanap ng mga password sa mga inaatakeng server.
  • CryptoComm + Parser - nag-aayos ng isang naka-encrypt na koneksyon sa P2P.
  • Ang CastVotes ay isang mekanismo para sa magkasanib na pagpili ng mga target na host para sa pag-atake.
  • TargetFeed - Tumatanggap ng listahan ng mga node na aatakehin mula sa mga kalapit na node.
  • Ang DeployMgmt ay isang pagpapatupad ng isang worm na namamahagi ng malisyosong code sa isang nakompromisong server.
  • Pagmamay-ari - responsable para sa pagkonekta sa mga server na nagpapatakbo na ng malisyosong code.
  • Magtipon - nagtitipon ng isang file sa memorya mula sa hiwalay na inilipat na mga bloke.
  • Antivir - isang module para sa pagsugpo sa nakikipagkumpitensyang malware, kinikilala at tinatapos ang mga proseso gamit ang string na "xmr" na gumagamit ng mga mapagkukunan ng CPU.
  • Ang Libexec ay isang module para sa pagmimina ng Monero cryptocurrency.

Sinusuportahan ng P2P protocol na ginamit sa FritzFrog ang humigit-kumulang 30 command na responsable para sa paglilipat ng data sa pagitan ng mga node, pagpapatakbo ng mga script, paglilipat ng mga bahagi ng malware, status ng botohan, pagpapalitan ng mga log, paglulunsad ng mga proxy, atbp. Ang impormasyon ay ipinapadala sa isang hiwalay na naka-encrypt na channel na may serialization sa JSON na format. Gumagamit ang pag-encrypt ng asymmetric AES cipher at Base64 encoding. Ang DH protocol ay ginagamit para sa key exchange (Diffie–Hellman). Upang matukoy ang estado, ang mga node ay patuloy na nagpapalitan ng mga kahilingan sa ping.

Ang lahat ng botnet node ay nagpapanatili ng isang distributed database na may impormasyon tungkol sa mga inatake at nakompromisong system. Ang mga target ng pag-atake ay naka-synchronize sa buong botnet - ang bawat node ay umaatake sa isang hiwalay na target, i.e. dalawang magkaibang botnet node ay hindi aatake sa parehong host. Nangongolekta at nagpapadala rin ang mga node ng mga lokal na istatistika sa mga kapitbahay, tulad ng libreng laki ng memorya, oras ng pag-load, pag-load ng CPU, at aktibidad sa pag-login sa SSH. Ang impormasyong ito ay ginagamit upang magpasya kung sisimulan ang proseso ng pagmimina o gagamitin lamang ang node upang atakehin ang iba pang mga system (halimbawa, ang pagmimina ay hindi magsisimula sa mga naka-load na system o mga system na may madalas na koneksyon ng administrator).

Upang makilala si FritzFrog, ang mga mananaliksik ay nagmungkahi ng isang simple script ng shell. Upang matukoy ang pinsala sa system
mga palatandaan tulad ng pagkakaroon ng koneksyon sa pakikinig sa port 1234, ang presensya malisyosong susi sa authorized_keys (ang parehong SSH key ay naka-install sa lahat ng node) at ang presensya sa memorya ng pagpapatakbo ng mga proseso "ifconfig", "libexec", "php-fpm" at "nginx" na walang nauugnay na mga executable na file ("/proc/ /exe" ay tumuturo sa isang malayuang file). Ang isang palatandaan ay maaari ding ang pagkakaroon ng trapiko sa network port 5555, na nangyayari kapag na-access ng malware ang karaniwang pool web.xmrpool.eu sa panahon ng pagmimina ng Monero cryptocurrency.

Pinagmulan: opennet.ru

Magdagdag ng komento