Ir identificēts FritzFrog tārps, kas inficē serverus, izmantojot SSH, un veido decentralizētu robottīklu

Uzņēmums Guardicore, kas specializējas datu centru un mākoņsistēmu aizsardzībā, atklāts FritzFrog, jauna augsto tehnoloģiju ļaunprogrammatūra, kas uzbrūk serveriem, kuru pamatā ir Linux. FritzFrog apvieno tārpu, kas izplatās ar brutālu spēku uzbrukumu serveriem ar atvērtu SSH portu, un komponentus, lai izveidotu decentralizētu robottīklu, kas darbojas bez vadības mezgliem un kam nav viena kļūmes punkta.

Lai izveidotu robottīklu, tiek izmantots patentēts P2P protokols, kurā mezgli mijiedarbojas viens ar otru, koordinē uzbrukumu organizēšanu, atbalsta tīkla darbību un uzrauga viens otra statusu. Jauni upuri tiek atrasti, veicot brutālu spēku uzbrukumu serveriem, kas pieņem pieprasījumus, izmantojot SSH. Kad tiek atklāts jauns serveris, tiek meklēta tipisku pieteikšanās vārdu un paroļu kombināciju vārdnīca. Kontroli var veikt caur jebkuru mezglu, kas apgrūtina robottīklu operatoru identificēšanu un bloķēšanu.

Pēc pētnieku domām, robottīklā jau ir aptuveni 500 mezglu, tostarp vairāku augstskolu serveri un liela dzelzceļa kompānija. Tiek atzīmēts, ka galvenie uzbrukuma mērķi ir izglītības iestāžu tīkli, medicīnas centri, valsts aģentūras, bankas un telekomunikāciju uzņēmumi. Pēc tam, kad serveris ir uzlauzts, tajā tiek organizēts Monero kriptovalūtas ieguves process. Attiecīgās ļaunprogrammatūras darbība ir izsekota kopš 2020. gada janvāra.

FritzFrog īpašā lieta ir tā, ka tā saglabā visus datus un izpildāmo kodu tikai atmiņā. Izmaiņas diskā ietver tikai jaunas SSH atslēgas pievienošanu failam authorised_keys, kas pēc tam tiek izmantota, lai piekļūtu serverim. Sistēmas faili netiek mainīti, kas padara tārpu neredzamu sistēmām, kas pārbauda integritāti, izmantojot kontrolsummas. Atmiņā tiek glabātas arī vārdnīcas brutālu piespiešanas paroļu un datu ieguvei, kas tiek sinhronizēti starp mezgliem, izmantojot P2P protokolu.

Ļaunprātīgie komponenti tiek maskēti kā ifconfig, libexec, php-fpm un nginx procesi. Bottīkla mezgli uzrauga savu kaimiņu statusu un, ja serveris tiek atsāknēts vai pat OS tiek pārinstalēts (ja uz jauno sistēmu tika pārsūtīts modificēts Author_keys fails), tie atkārtoti aktivizē resursdatora ļaunprātīgos komponentus. Komunikācijai tiek izmantots standarta SSH — ļaunprogrammatūra papildus palaiž lokālo “netcat”, kas saistās ar localhost saskarni un klausās trafiku portā 1234, kuram ārējie saimnieki piekļūst caur SSH tuneli, savienojuma izveidei izmantojot atslēgu no authorised_keys.

Ir identificēts FritzFrog tārps, kas inficē serverus, izmantojot SSH, un veido decentralizētu robottīklu

FritzFrog komponenta kods ir rakstīts Go un darbojas vairāku pavedienu režīmā. Ļaunprātīgā programma ietver vairākus moduļus, kas darbojas dažādos pavedienos:

  • Cracker — meklē paroles uzbrūkošajos serveros.
  • CryptoComm + Parser - organizē šifrētu P2P savienojumu.
  • CastVotes ir mehānisms, lai kopīgi atlasītu mērķa saimniekus uzbrukumam.
  • TargetFeed — saņem uzbrukuma mezglu sarakstu no blakus esošajiem mezgliem.
  • DeployMgmt ir tārpa ieviešana, kas izplata ļaunprātīgu kodu uz apdraudētu serveri.
  • Īpašumā — atbild par savienojumu ar serveriem, kuros jau darbojas ļaunprātīgs kods.
  • Assemble - saliek atmiņā failu no atsevišķi pārsūtītiem blokiem.
  • Pretvīrusu — modulis konkurējošas ļaunprātīgas programmatūras apspiešanai, identificē un izbeidz procesus ar virkni “xmr”, kas patērē CPU resursus.
  • Libexec ir Monero kriptovalūtas ieguves modulis.

FritzFrog izmantotais P2P protokols atbalsta apmēram 30 komandas, kas ir atbildīgas par datu pārsūtīšanu starp mezgliem, skriptu izpildi, ļaunprātīgas programmatūras komponentu pārsūtīšanu, aptaujas statusu, žurnālu apmaiņu, starpniekserveru palaišanu utt. Informācija tiek pārsūtīta pa atsevišķu šifrētu kanālu ar serializāciju JSON formātā. Šifrēšanai tiek izmantots asimetrisks AES šifrs un Base64 kodējums. DH protokols tiek izmantots atslēgu apmaiņai (Difija-Hellmane). Lai noteiktu stāvokli, mezgli pastāvīgi apmainās ar ping pieprasījumiem.

Visi robottīkla mezgli uztur izplatītu datu bāzi ar informāciju par uzbruktajām un apdraudētām sistēmām. Uzbrukuma mērķi tiek sinhronizēti visā robottīklā – katrs mezgls uzbrūk atsevišķam mērķim, t.i. divi dažādi robottīkla mezgli neuzbruks vienam un tam pašam saimniekdatoram. Mezgli arī apkopo un pārsūta kaimiņiem vietējo statistiku, piemēram, brīvās atmiņas lielumu, darbspējas laiku, CPU slodzi un SSH pieteikšanās aktivitātes. Šī informācija tiek izmantota, lai izlemtu, vai sākt ieguves procesu vai izmantot mezglu tikai, lai uzbruktu citām sistēmām (piemēram, ieguve nesākas ielādētās sistēmās vai sistēmās ar biežiem administratora savienojumiem).

Lai identificētu FritzFrog, pētnieki ir ierosinājuši vienkāršu čaulas skripts. Lai noteiktu sistēmas bojājumus
pazīmes, piemēram, klausīšanās savienojuma esamība portā 1234, klātbūtne ļaunprātīga atslēga in authorised_keys (viena un tā pati SSH atslēga ir instalēta visos mezglos) un to, ka atmiņā darbojas procesi “ifconfig”, “libexec”, “php-fpm” un “nginx”, kuriem nav saistīti izpildāmie faili (“/proc/ /exe" norāda uz attālo failu). Pazīme var būt arī trafika klātbūtne tīkla portā 5555, kas rodas, kad Monero kriptovalūtas ieguves laikā ļaunprātīga programmatūra piekļūst tipiskajam pūlam web.xmrpool.eu.

Avots: opennet.ru

Pievieno komentāru