NEWS
Hunderte von NPM- und PyPI-Paketen kompromittiert
-
Du musst dich aber in das Verzeichnis stellen. So durchsuchst du nur dein ~ / home.
-
Du musst dich aber in das Verzeichnis stellen. So durchsuchst du nur dein ~ / home.
in das Verzeichnis
In welches?
Wenn ich das noch nicht mal weiß, woher sollen noch unbedarftere User so etwas "mal eben schnell" prüfen können?
Wärst du so nett da eine allgemeinverständliche Anleitung draus zu machen, bitte.
EDIT:
Geht da keine "globale" Suche?
Ich kann mir vorstellen dass pyPi Pakete auch woanders liegen -
hab mal claude um einen "noob" freudlichen console befehl gebeten(also für alle ausser Thomas :D )
SEARCH="router_init.js" echo "Suche nach '$SEARCH' im ganzen System..." echo "Das kann ein paar Minuten dauern - bitte warten." echo RESULTS=$(sudo find / \ \( -path /proc \ -o -path /sys \ -o -path /dev \ -o -path /run \ -o -path /var/lib/docker \ -o -path /var/cache \ -o -path /snap \ -o -fstype tmpfs \ -o -fstype devtmpfs \ \) -prune \ -o -type f -name "$SEARCH" -print 2>/dev/null) echo if [ -z "$RESULTS" ]; then echo "================================================" echo " ✓ SYSTEM SAUBER" echo " Keine Datei '$SEARCH' gefunden." echo "================================================" else echo "================================================" echo " ⚠ ACHTUNG - VERDÄCHTIGE DATEI(EN) GEFUNDEN!" echo " Das System ist möglicherweise kompromittiert." echo "================================================" echo echo "Gefundene Datei(en) mit Details:" echo while IFS= read -r f; do echo " Pfad: $f" ls -la --time-style=long-iso "$f" 2>/dev/null | sed 's/^/ Info: /' echo " Größe: $(stat -c '%s Bytes' "$f" 2>/dev/null)" echo " Owner: $(stat -c '%U:%G' "$f" 2>/dev/null)" echo " Geändert:$(stat -c ' %y' "$f" 2>/dev/null)" echo " ----------------------------------------------" done <<< "$RESULTS" echo echo "WAS JETZT TUN (in dieser Reihenfolge!):" echo echo " 1) NICHT einfach löschen! Erst Beweise sichern." echo " 2) Inhalt der Datei ansehen:" echo " sudo cat '<pfad-von-oben>'" echo " 3) Schauen, welcher Prozess die Datei offen hat:" echo " sudo lsof '<pfad-von-oben>'" echo " 4) Schauen, ob die Datei zu einem Paket gehört:" echo " dpkg -S '<pfad-von-oben>'" echo " 5) Letzte Änderungen im System prüfen:" echo " sudo find / -mtime -7 -type f 2>/dev/null | less" echo " 6) Im Ernstfall: System vom Netz trennen," echo " letztes sauberes Backup einspielen," echo " ALLE Passwörter/Tokens neu setzen." fiAlso in die console kopieren und return drücken - hat bei mir nix gefunden.
-
in das Verzeichnis
In welches?
Wenn ich das noch nicht mal weiß, woher sollen noch unbedarftere User so etwas "mal eben schnell" prüfen können?
Wärst du so nett da eine allgemeinverständliche Anleitung draus zu machen, bitte.
EDIT:
Geht da keine "globale" Suche?
Ich kann mir vorstellen dass pyPi Pakete auch woanders liegenGeht da keine "globale" Suche?
Natürlich kann man per find auch den kompletten Verzeichnisbaum durchsuchen.
Da ich mir aber die dafür erforderlichen Optionen nicht merken kann verwende ich lieber
locate DATEINAMElocate muss aber ggfls. nachinstalliert werden und die Datenbank dazu per
sudo updatedbaktualisiert werden.
-
hab mal claude um einen "noob" freudlichen console befehl gebeten(also für alle ausser Thomas :D )
SEARCH="router_init.js" echo "Suche nach '$SEARCH' im ganzen System..." echo "Das kann ein paar Minuten dauern - bitte warten." echo RESULTS=$(sudo find / \ \( -path /proc \ -o -path /sys \ -o -path /dev \ -o -path /run \ -o -path /var/lib/docker \ -o -path /var/cache \ -o -path /snap \ -o -fstype tmpfs \ -o -fstype devtmpfs \ \) -prune \ -o -type f -name "$SEARCH" -print 2>/dev/null) echo if [ -z "$RESULTS" ]; then echo "================================================" echo " ✓ SYSTEM SAUBER" echo " Keine Datei '$SEARCH' gefunden." echo "================================================" else echo "================================================" echo " ⚠ ACHTUNG - VERDÄCHTIGE DATEI(EN) GEFUNDEN!" echo " Das System ist möglicherweise kompromittiert." echo "================================================" echo echo "Gefundene Datei(en) mit Details:" echo while IFS= read -r f; do echo " Pfad: $f" ls -la --time-style=long-iso "$f" 2>/dev/null | sed 's/^/ Info: /' echo " Größe: $(stat -c '%s Bytes' "$f" 2>/dev/null)" echo " Owner: $(stat -c '%U:%G' "$f" 2>/dev/null)" echo " Geändert:$(stat -c ' %y' "$f" 2>/dev/null)" echo " ----------------------------------------------" done <<< "$RESULTS" echo echo "WAS JETZT TUN (in dieser Reihenfolge!):" echo echo " 1) NICHT einfach löschen! Erst Beweise sichern." echo " 2) Inhalt der Datei ansehen:" echo " sudo cat '<pfad-von-oben>'" echo " 3) Schauen, welcher Prozess die Datei offen hat:" echo " sudo lsof '<pfad-von-oben>'" echo " 4) Schauen, ob die Datei zu einem Paket gehört:" echo " dpkg -S '<pfad-von-oben>'" echo " 5) Letzte Änderungen im System prüfen:" echo " sudo find / -mtime -7 -type f 2>/dev/null | less" echo " 6) Im Ernstfall: System vom Netz trennen," echo " letztes sauberes Backup einspielen," echo " ALLE Passwörter/Tokens neu setzen." fiAlso in die console kopieren und return drücken - hat bei mir nix gefunden.
@ticaki Danke!!
Sieht gut ausSuche nach 'router_init.js' im ganzen System... Das kann ein paar Minuten dauern - bitte warten. -bash: !: event not found ================================================ ✓ SYSTEM SAUBER Keine Datei 'router_init.js' gefunden. ================================================ pi@ioBrokerpi5:~ $Was käme da zum Schluss auf einen zu?
lesszeigt nach meinem bescheidenen Kenntnisstand nur an, oder? -
Der befehl schließt verzeichnisse aus in denen man nicht zu suchen hat. Wenn was gefunden wird kommt ne anleitung und die fundstellen - das kann ich aber nicht so wirklich bewerten müsste da dann auch noch mal AI fragen was die jeweiligen Befehle aussagen:
echo "WAS JETZT TUN (in dieser Reihenfolge!):" echo echo " 1) NICHT einfach löschen! Erst Beweise sichern." echo " 2) Inhalt der Datei ansehen:" echo " sudo cat '<pfad-von-oben>'" echo " 3) Schauen, welcher Prozess die Datei offen hat:" echo " sudo lsof '<pfad-von-oben>'" echo " 4) Schauen, ob die Datei zu einem Paket gehört:" echo " dpkg -S '<pfad-von-oben>'" echo " 5) Letzte Änderungen im System prüfen:" echo " sudo find / -mtime -7 -type f 2>/dev/null | less" echo " 6) Im Ernstfall: System vom Netz trennen," echo " letztes sauberes Backup einspielen," echo " ALLE Passwörter/Tokens neu setzen."EDIT:
Ich würde das ergebnis davon einer AI vor die Füsse werfen und gucken ob die was hilfreiches ausspuckt.EDIT2:
Ich benutze claude cli und hab damit fast alle Netzwerk, Treiber, Server, iobroker probleme behoben die ich schon über eine sehr sehr sehr lange Zeit mit mir rumschleppe - samba nicht ganz windows 11 komform - Graka Treiber auf Windows 11 spinnt - Proxmox Cluster Member wird alle paar Wochen vom Watchdog hard runtergefahren. usw. usf.EDIT3:
Backup vom iobroker lies sich nicht einspielen - 10 Minuten später und ne code änderung in node_modules oder backitup und es ging... das war irgendwie cool -
echad@chet:~ $ sudo updatedb echad@chet:~ $ locate router_init.js echad@chet:~ $Nix da...
-
@ticaki Danke!!
Sieht gut ausSuche nach 'router_init.js' im ganzen System... Das kann ein paar Minuten dauern - bitte warten. -bash: !: event not found ================================================ ✓ SYSTEM SAUBER Keine Datei 'router_init.js' gefunden. ================================================ pi@ioBrokerpi5:~ $Was käme da zum Schluss auf einen zu?
lesszeigt nach meinem bescheidenen Kenntnisstand nur an, oder? -
Hallo zusammen.
Was ist nun der 'richtige' Befehl um ALLES zu durchsuchen?
Reicht das dann so:
sudo updatedb
locate router_init.Dazu muss aber 'locate' installiert sein. Ist meist nicht vorinstalliert.
Mitsudo find / -name router_init.jssuchst du über das ganze System nach Dateien, die genau router_init.js heißen.
-
Dazu muss aber 'locate' installiert sein. Ist meist nicht vorinstalliert.
Mitsudo find / -name router_init.jssuchst du über das ganze System nach Dateien, die genau router_init.js heißen.
-
Ich habe leider den leisen Verdacht, die Suche lohnt die Mühe nicht ....
... Form einer rund 2,3 MByte großen und stark verschleierten Datei namens router_init.js.
So selektiv dumme Leute, dass sie eine Datei "stark verschleiern" (clever) IMMER unter dem Dateinamen "router_init.js" implantieren (dumm) kann es doch eigentlich gar nicht geben ...
Oder gibt es einen triftigen Grund dafür, dass die Datei genau diesen Namen haben muss? Ähnlich wie "autoexec.bat" aus seligen MSDOS Zeiten?
-
hi, nur zur Info: Bei meiner Konfiguration verlief die Suche schnell. Die Suche nach „INSTALLER_info.txt“ dient nur als Test:
[alarm@eos-arm ~]$ sudo find / -iname "INSTALLER_info.txt" 2>/dev/null [sudo] Passwort für alarm: /opt/iobroker/INSTALLER_INFO.txt [alarm@eos-arm ~]$ [alarm@eos-arm ~]$ sudo find / -iname "router_init.js" 2>/dev/null [alarm@eos-arm ~]$Leere Ausgabe = nichts gefunden
-
Info für Entwickler:
Der iobroker-bot scannt zur Zeit alle im LATEST repository gelisteten adapter repositories nach Auffälligkeiten bezüglich der heuite bekannt gewordenen npm supply chanin attacke. Konkret wird folgendes gesucht:
Datie router_init.js im main repo tree
compromised package/version lt. Liste in Mini Shai-Hulud Is Back: npm Worm Hits over 160 Packages, including Mistral and Tanstack (https://www.aikido.dev/blog/mini-shai-hulud-is-back-tanstack-compromised)Im Verdachtsfall wird ein Issue im Repo erstellt das so aussieht (accuweather hat nur zu Testzwecken ein router_init.js file erhalten und ist NICHT infiziert)
https://github.com/iobroker-community-adapters/ioBroker.accuweather/issues/650Der bot kann aber natürlich nur die Github Repos checken. Eure lokalen Entwicklungsumgebungen müsst ihr ggF selbt prüfen!
Hoffe auh KEINE Issues ...
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden