Server entführt / als Bitcoin Miner verwendet - wie kann ich das stoppen?

7188
Mud

Ich bin in einer Situation, mein Server wurde entführt und es scheint, dass er an einem Bitcoin-Mining-Vorgang beteiligt ist.

Ich muss zumindest wissen, wo ich anfangen soll. Ich bin ein unerfahrener Systemadministrator und habe das noch nie wirklich erlebt. Es sprengt meine Bandbreite aus dem Wasser und ich werde von meinem Hosting-Provider 50c pro GB in Rechnung gestellt. Dadurch sind 255GB -> 301.8GB an einem Tag gesprungen. Jede Hilfe wird geschätzt.

Ich habe viel Müll in den Protokollen zu Stratum gefunden sowie Skripts externer IP-Adressen, die auf meinem Server ausgeführt werden. Dann schaue ich in mein / tmp-Verzeichnis und sehe 7 Dateien, die sind

  • bash
  • cron.d
  • mech.dir
  • Sch
  • spamd_full.sock
  • aktualisieren

Ein Beispiel für den Inhalt meines Apache-Fehlerprotokolls lautet wie folgt:

[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] --2013-11-28 16:27:40-- http://74.208.228.113/sh [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] Connecting to 74.208.228.113:80... [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] connected. [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] HTTP request sent, awaiting response... [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] 200 OK [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] Length: [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] 518288 [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] (506K) [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] [text/plain] [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] Saving to: `sh' [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] 0K [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] . [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] ... .......... .......... 9% 148K 3s [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] 50K ........ [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] .. .......... .......... .......... ..... [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] ..... 19% 172K 3s [Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] 100K .......... .......... ...... [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .... .......... .......... 29% 344K 2s [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] 150K ....... [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ... .......... .......... .......... .......... 39% 514K 1s [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] 200K ......... [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] . [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .. [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] . [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] . [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .. [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] . [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] . [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .. .......... .......... .......... 49% 347K 1s [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] 250K .......... .......... .......... ........ [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .. .......... 59% 347K 1s [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] 300K .......... .......... .......... .......... .......... 69% 224M 1s [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] 350K . [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ......... .......... .......... .......... .......... 79% 347K 0s [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] 400K .......... ... [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ....... .......... .......... .......... 88% 348K 0s [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] 450K .......... .......... .......... .......... .......... 98% 254M 0s [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] 500K ... [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ... 100% 64.1K=1.5s [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] 2013-11-28 16:27:41 (328 KB/s) - `sh' saved [518288/518288] [Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] [Thu Nov 28 16:27:58 2013] [error] [client 173.201.45.104] kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec] [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec] [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] a: line 24: ./bash: No such file or directory [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] chattr [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] : [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] Operation not permitted [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] while setting flags on bash [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] \r [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] chattr [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] : [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] Operation not permitted [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] while setting flags on sh [Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] \r [Thu Nov 28 16:28:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:28] 2 miner threads started, using 'scrypt' algorithm. [Thu Nov 28 16:28:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:28] Starting Stratum on stratum+tcp://216.230.103.42:3333 [Thu Nov 28 16:28:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:28] Stratum connection failed: Failed connect to 216.230.103.42:3333; Connection refused [Thu Nov 28 16:28:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:28] ...retry after 30 seconds [Thu Nov 28 16:28:33 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:33] Binding thread 1 to cpu 1 [Thu Nov 28 16:28:58 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:58] Stratum connection failed: Failed connect to 216.230.103.42:3333; Connection refused [Thu Nov 28 16:28:58 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:58] ...retry after 30 seconds [Thu Nov 28 16:29:21 2013] [error] [client 173.201.45.104] [2013-11-28 16:29:21] Binding thread 0 to cpu 0 [Thu Nov 28 16:29:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:29:28] Stratum connection failed: Failed connect to 216.230.103.42:3333; Connection refused 
2
Sie können damit beginnen, die fragliche IP-Adresse oder den Adressbereich der Blacklist Ihrer Firewall hinzuzufügen. Wenn Sie außerdem feststellen können, welche Ports verwendet werden, können Sie diese schließen. Dies wird Ihnen zumindest dabei helfen, die Situation unter Quarantäne zu stellen. root vor 10 Jahren 0
Nur ein paar Klarstellungen, es gibt keine Situation, in der das Bergbau so viel Bandbreite beanspruchen sollte. Ich weiß es, weil ich ein Kryptocoin-Bergarbeiterliebhaber bin. Mining mit dem `scrypt'-Flag ist auch kein Bitcoin, sondern eher ein Litecoin oder eine andere Varianz. Vielleicht möchten Sie andere Dinge betrachten, die eine hohe Bandbreitennutzung verursachen könnten. Überprüfen Sie Ihre Protokolle, um zu sehen, wie der Benutzer / Bot ssh in Ihren Computer einfügt. Erlaube niemals root Logins und installiere fail2ban. kobaltz vor 10 Jahren 1
Nun, siehst du die 'save to sh'-Zeile und die vorhergehenden Zeilen danach? Ich habe viele von denen gefunden, die in 100 Millionen münden würden, und einige davon. Außerdem ist der Server ein Entwicklungsserver, der nur für das Bereitstellen von Standorten in der Produktion verwendet wird. Es gibt keine Medien, die von einer dieser Websites heruntergeladen werden können, da sie noch keinen Inhalt haben. Ich denke, es ist dieser Typ Mud vor 10 Jahren 0
Ihre beste Option. Kehren Sie den Server vom Orbit ab. Wenn dies keine Option ist, starten Sie jeden aktiven Dienst auf die aktuelle Version, ändern Sie Ihr Root-Passwort und blockieren Sie alle IP-Adressen gemäß den Anweisungen, die der Falke veröffentlicht. Ramhound vor 10 Jahren 1
@Mud Eine Sache, die Sie sich fragen sollten: Welcher der von mir ausgeführten Dienste ist nicht perfekt auf dem neuesten Stand? Das Reparieren dieses Lochs ist äußerst wichtig, da Sie nur Zero-Day-Exploits (oder Aufenthaltsorte) nutzen können, die jedoch generell für Ziele mit hohem Wert reserviert sind. MariusMatutiae vor 10 Jahren 0

2 Antworten auf die Frage

1
falconspy

Ich würde zuerst die Verbindung zu den externen Adressen mit den iptables blockieren

iptables -A OUTPUT -d IP_Address -j DROP

Wenn Sie sichergestellt haben, dass alle IP-Adressen gesperrt sind, speichern Sie die iptables: # /sbin/service iptables saveBereinigen Sie dann die vom Entführer platzierten Dateien.

Möglicherweise möchten Sie den Entführer überprüfen /etc/var/log/messagesund /etc/var/log/secureprüfen, ob noch Einträge vorhanden sind, aus denen hervorgeht, wie er / sie möglicherweise auf Ihrem Server Fuß gefasst hat.

Wenn Sie eine Website betreiben, stellen Sie sicher, dass Sie keine Webseiten haben, auf denen Benutzer Dateien wie PHP-Shells hochladen können.

Damit sollten Sie anfangen. Sie können Ihren Hosting-Provider auch dazu auffordern, eine Virenprüfung durchzuführen, um nach Skripts / Dateien zu suchen, die den Zugriff ermöglichen.

Danke, ich werde es versuchen. Ich habe gesehen, dass es eine Menge Abfragen nach nicht existierenden Dateien gab, und sie stießen immer wieder auf den Ordner php-cgi. Es sieht aus wie ein Bot, aber dann sah ich die "Stratum" -String in den Fehlern und folgte diesem Thread. Mud vor 10 Jahren 0
hmm / sbin / service iptables save gibt zurück: -bash: / sbin / service: Keine solche Datei oder Verzeichnis Mud vor 10 Jahren 0
Geben Sie "which iptables" in das Terminalfenster ein. Es wird die Position der Binärdatei angezeigt falconspy vor 10 Jahren 0
jeez - / sbin / iptables :) Danke Mud vor 10 Jahren 0
Kein Problem! Wenn Sie möchten, kann ich zu einem späteren Zeitpunkt auch einen grundlegenden Sicherheits-Scan Ihres Servers durchführen, wenn Sie möchten. Sie können es auch selbst machen (empfohlen). Ein hervorragendes Werkzeug ist Nessus, das in Backtrack / Kali integriert ist falconspy vor 10 Jahren 0
Danke Falconspy, ich nehme Sie an diesem Angebot teil. Ich bin gerade dabei, alle unsere Entwicklungsdaten zu sichern, und ich werde den Server löschen und das Betriebssystem neu installieren. Ich wäre Ihnen dankbar, wenn Sie mir dabei helfen könnten, einen gewissen Sicherheitsstandard zu erreichen. Als die Server ursprünglich gekauft und eingerichtet wurden, wurde nichts unternommen. Ich bin der erste Systemadministrator, der die sys-Administratorenarbeit tatsächlich geleistet hat. Wir sitzen also schon lange mit offenen Beinen hier und ich möchte dem gerne ein Ende setzen. Mud vor 10 Jahren 0
Schicken Sie mir eine E-Mail, wenn Sie an aluvshis@outlook.com interessiert sind falconspy vor 10 Jahren 0
0
user280772

Ihre Bots-Miner stellen keine Verbindung her, so dass der Exploit immer wieder ausgeführt und die Miner immer und immer wieder heruntergeladen wird.

Wir haben kürzlich einen Exploit-Versuch von fehlerhaften CGI-Bin-Einstellungen gesehen, der sich in Beziehung zu setzen scheint.

Es wurde versucht, herunterzuladen

74.208.228.113 / a 

und führen Sie das als Shell-Skript aus.

Dieses Skript hat ein paar Dinge getan, als wir es angesehen haben. Es löschte den Crontab-Eintrag und ersetzte es durch einen Versuch, ein Skript auszuführen, aus dem gezogen wurde

74.208.228.113 / update 

Das gleiche Skript wird auch in /etc/cron.hourly abgelegt

Dieses Skript führt ein 'ps x' aus und greift für eine erfolgreiche Miner-Verbindung an. Wenn er es nicht sieht, lädt er das Skript erneut herunter und führt es erneut aus.

Ganz am Ende des a-Skripts greift es

74.208.228.113 / clamav 

und

74.208.228.113 / sh 

welche anders kompilierte Versionen von minerd aussehen. Es benennt den Clamav in Bash um und startet dann beide Bergwerke bei 216.230.103.42.

Wenn Sie auf ähnliche Weise ausgenutzt wurden, müssen Sie:

  1. Deaktiviere cgi-bin

  2. Überprüfen Sie in der Crontab-Datei, ob der Benutzer httpd (wahrscheinlich root oder apache) ausführt, und löschen Sie den Eintrag "update"

  3. Prüfen Sie in /etc/cron.hourly/ nach einer Datei namens update, und überprüfen Sie, ob sie auf 216.230.103.42 verweist, zu dem die Miner keine Verbindung herstellen können. Löschen Sie das zu

Es sind die Update-Einträge, die die Bandbreite nutzen. Der Crontab One läuft jede Minute einmal pro Minute.

Ich denke jedoch, dass eine bessere Antwort darin besteht, es aus dem Orbit zu bringen. Wenn Ihr cgi-bin so eingestellt ist, dass Remote-Exploits ausgeführt werden, die Skripts ausführen, gibt es keine Garantie