Toate încercările aici de a aborda vulnerabilitățile din log4j sunt insuficiente. Nu te poți baza pe localiza
comandă, deoarece arată doar într-un set de căi configurate (/etc/updatedb.conf
pe Debian).
Software-ul se poate instala singur în locații care nu sunt configurate în updatedb.conf
și să fie complet ratat de jobul cron care actualizează baza de date de localizare.
De asemenea, se descoperă că furnizorii de software (cum ar fi Elastic) au reambalat vulnerabilul JndiLookup.class (de exemplu: elasticsearch-sql-cli-7.16.1.jar
) în locuri care nu erau cunoscute anterior, ceea ce lasă soluțiile incomplete care sunt construite în jurul hashurilor, numelor sau căilor de fișiere cunoscute.
@shodanshok este pe calea cea bună aici, dar mai degrabă decât să caute log4j în mod explicit, o privire în fiecare „.jar” de pe sistem este ceea ce este necesar.
Acesta este mai complet, necesită pachetul zip. și o extensie a răspunsului lui shodanshok. Aceasta va afișa doar locațiile în care JndiLookup.class
codul este găsit. Ar putea fi adăugată o altă linie pentru a elimina aceste vulnerabilități, dar mai degrabă aș lăsa asta la discreția administratorului. Linkul elastic de mai sus arată cum:
pentru jar în $(găsește / -name '*.jar'); do
dezarhivați -l „$jar” | grep 'JndiLookup.class' &>/dev/null && echo „Vulnerabilitate găsită în $jar”
Terminat
Exemplu:
# pentru jar în $(găsește / -nume '*.jar'); do
> dezarhivați -l „$jar” | grep 'JndiLookup.class' &>/dev/null && echo „Vulnerabilitate găsită în $jar”
> gata
S-a găsit o vulnerabilitate în /usr/lib/unifi/lib/log4j-core-2.13.3.jar
S-a găsit o vulnerabilitate în /home/minecraft/.m2/repository/org/spigotmc/minecraft-server/1.15.2-SNAPSHOT/minecraft-server-1.15.2-SNAPSHOT.jar
S-a găsit o vulnerabilitate în /home/minecraft/.m2/repository/org/spigotmc/minecraft-server/1.15.1-SNAPSHOT/minecraft-server-1.15.1-SNAPSHOT.jar
...
Aveți grijă când rulați acest lucru pe un sistem cu sisteme de fișiere de rețea montate, deoarece performanța poate fi afectată. În aceste cazuri, trebuie să rulați comenzile pe serverul de fișiere însuși.