Am 19. Januar ist thoster.net durch einen automatisierten Angriff über SSH mit einem Bot infiziert worden. Dieser startete erst zahlreiche SSH-Attacken auf andere Server und dann, als die Strato-Administratoren die SSH-Ports dicht machten, begann ein Versand von Massen-Spam. Das Drama spielte sich innerhalb weniger Stunden ab, dann nahmen die Strato-Admins den Server vom Netz.
Ich konnte durch den Support einen Tag später wieder auf den Server zugreifen und das Programm unschädlich machen. Das Programm hatte keinen root-Zugriff sondern "nur" normale Benutzerrechte. Es handelte sich um einen Bot namens dt_ssh5, welcher durch ein "erratenes" Passwort des Users "tobias" mittels SSH in das temp-Verzeichnis kopiert wurde. Dieser User war uralt und ein Relikt aus der Zeit zu der ich den Server mit einem Freund geteilt habe. Jetzt habe ich erstmal alle alten User unschädlich gemacht damit so etwas nicht noch mal passiert. Zusätzlich überlege ich durch welche Sicherheitsmaßnahmen ich SSH noch sicherer machen kann, beispielsweise eine Verschiebung des Dienstes auf einen andern Port.
Hier ein Ausschnitt aus der Prozessliste als der Server gehackt war:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 1012 352 ? Ss 2009 0:05 init [3]
root 9512 0.0 0.0 2352 388 ? S<s 2009 0:00 /sbin/udevd --daemon
root 21751 0.0 0.0 44588 1292 ? Sl 2009 0:49 /sbin/rsyslogd -c 3 -f /etc/rsyslog.conf
root 22006 0.0 0.0 5040 580 ? S 2009 0:02 /usr/lib/courier-imap/couriertcpd
root 26143 0.0 0.0 2340 700 ? Ss 2009 0:37 /usr/sbin/cron
root 28492 0.0 0.0 2940 1108 ? S 2009 0:00 /bin/sh /usr/bin/mysqld_safe
mysql 30392 0.1 0.6 156156 34624 ? Sl 2009 296:14 _ /usr/sbin/mysqld
named 28574 0.0 0.0 56708 2424 ? Ssl 2009 0:00 /usr/sbin/named -t /var/lib/named -u named
qmails 9504 0.0 0.0 1828 492 ? S 2009 0:06 qmail-send
qmaill 9505 0.0 0.0 1780 468 ? S 2009 0:00 _ splogger qmail
root 9506 0.0 0.0 1808 368 ? S 2009 0:00 _ qmail-lspawn | /usr/bin/deliverquota ./Maildir
qmailr 9507 0.0 0.0 1804 364 ? S 2009 0:00 _ qmail-rspawn
qmailq 9508 0.0 0.0 1776 340 ? S 2009 0:00 _ qmail-clean
root 15743 0.0 0.2 41016 15392 ? Ss 2009 0:28 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 8087 0.0 0.1 40096 5896 ? S Jan14 0:00 _ /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 23710 0.0 0.4 54324 25492 ? S Jan20 0:14 _ /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 24097 0.0 0.6 60916 32736 ? S 11:27 0:12 _ /usr/sbin/httpd2
wwwrun 19707 0.0 0.1 41016 8168 ? S 18:39 0:00 _ /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
1001 18223 0.0 0.0 5816 2828 ? S 2009 4:35 /usr/sbin/sw-cp-serverd -f /etc/sw-cp-server/config
root 13455 0.0 0.0 7812 1840 ? S 2009 2:24 bnetd
root 26409 0.0 0.1 37572 6956 ? Sl 2009 10:06 ./murmur.x86
root 13903 0.0 1.1 200612 60024 ? Sl Jan06 3:03 /usr/bin/java
tobias 9399 0.0 0.0 1768 364 ? Ss Jan19 0:00 -bash
tobias 15944 0.1 0.0 1740 316 ? S 13:52 0:31 /tmp/dt_ssh5 100 217.79.182.196 2
tobias 18317 0.0 0.0 0 0 ? Z 15:50 0:00 _ [dt_ssh5] <defunct>
tobias 20039 0.0 0.0 0 0 ? Z 15:50 0:00 _ [dt_ssh5] <defunct>
tobias 20097 0.0 0.0 0 0 ? Z 15:50 0:00 _ [dt_ssh5] <defunct>
tobias 21613 0.0 0.0 0 0 ? Z 15:50 0:00 _ [dt_ssh5] <defunct>
tobias 21614 0.0 0.0 0 0 ? Z 15:50 0:00 _ [dt_ssh5] <defunct>
tobias 21615 0.0 0.0 0 0 ? Z 15:50 0:00 _ [dt_ssh5] <defunct>
tobias 21617 0.0 0.0 0 0 ? Z 15:50 0:00 _ [dt_ssh5] <defunct>
Dies war die letzte Mail vor der Trennung vom Strato-Service:
Sehr geehrter STRATO Kunde,
Ihr Server mit der IP-Adresse 85.214.50.100 und der Auftragsnummer ###### ist durch eine SSH brute force Attacke auffällig geworden.
Nach der Unterbindung der SSH brute force Attacke durch unsere Netzwerktechnik, begann Ihr Server mit dem Versand von Spam.
Sollte die Fehlfunktion Ihres Servers nicht bis 18:15 Uhr von Ihnen beseitigt sein, werden wir Ihren Server vom Netzwerk trennen.
Bitte informieren Sie uns bezüglich der Beseitigung der Fehlfunktion per E-Mail.
Ihr Server wird nach einer Trennung vom Netzwerk erst wieder an das Netzwerk angeschlossen, wenn Sie uns über die Beseitigung der Fehlfunktion in Kenntnis gesetzt haben.
Also, Leute: Verwendet sichere Passwörter! Installiert die neuesten Patches! Seid vorsichtig! thoster.net wurde seit 2006 Millionenfach angegriffen. Dies sieht in den Log-Dateien dann so aus:
Jan 3 09:39:08 h915769 sshd[30409]: Invalid user chunyi from 84.246.69.21
Jan 3 09:39:11 h915769 sshd[30409]: error: PAM: Authentication failure for illegal user chunyi from 84.246.69.21
Jan 3 09:39:11 h915769 sshd[30409]: Failed keyboard-interactive/pam for invalid user chunyi from 84.246.69.21 port 40586
Jan 3 09:40:01 h915769 /usr/sbin/cron[30495]: (root) CMD (/usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1)
Jan 3 09:55:01 h915769 /usr/sbin/cron[1995]: (root) CMD (/usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1)
Jan 3 09:58:11 h915769 sshd[3712]: Invalid user chunyin from 194.78.48.108
Jan 3 09:58:12 h915769 sshd[3712]: error: PAM: Authentication failure for illegal user chunyin from
108.48-78-194.adsl-static.isp.belgacom.be
Jan 3 09:58:12 h915769 sshd[3712]: Failed keyboard-interactive/pam for invalid user chunyin from 194.78.48.108 port 20774
Jan 3 10:08:24 h915769 rsyslogd: -- MARK --
Jan 3 10:10:01 h915769 /usr/sbin/cron[9859]: (root) CMD (/usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1)
Jan 3 10:17:16 h915769 sshd[11418]: Invalid user chupy from 212.243.41.9
Jan 3 10:17:18 h915769 sshd[11418]: error: PAM: Authentication failure for illegal user chupy from 212.243.41.9
Jan 3 10:17:18 h915769 sshd[11418]: Failed keyboard-interactive/pam for invalid user chupy from 212.243.41.9 port 3681 ssh2
Jan 3 10:25:01 h915769 /usr/sbin/cron[13420]: (root) CMD (/usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1)
Jan 3 10:36:35 h915769 sshd[15394]: Invalid user chusen from 83.211.160.211
Jan 3 10:36:36 h915769 sshd[15394]: error: PAM: Authentication failure for illegal user chusen from ip-160-211.sn2.eutelia.it
Jan 3 10:36:36 h915769 sshd[15394]: Failed keyboard-interactive/pam for invalid user chusen from 83.211.160.211 port 1375
Jan 3 10:40:01 h915769 /usr/sbin/cron[15685]: (root) CMD (/usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1)
Jan 3 10:55:01 h915769 /usr/sbin/cron[19912]: (root) CMD (/usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1)
Jan 3 10:55:38 h915769 sshd[20175]: Invalid user chuyin from 148.233.140.193
Jan 3 10:55:41 h915769 sshd[20175]: error: PAM: Authentication failure for illegal user chuyin from sgd4.accelsa.com.mx
Jan 3 10:55:41 h915769 sshd[20175]: Failed keyboard-interactive/pam for invalid user chuyin from 148.233.140.193 port 43113
Jan 3 11:08:23 h915769 rsyslogd: -- MARK --
Jan 3 11:10:01 h915769 /usr/sbin/cron[27658]: (root) CMD (/usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1)
Jan 3 11:15:08 h915769 sshd[28319]: reverse mapping checking getaddrinfo for fw.tablemac.com [200.13.253.122] failed -
POSSIBLE BREAK-IN ATTEMPT!
Jan 3 11:15:08 h915769 sshd[28319]: Invalid user chuyun from 200.13.253.122
fail2ban ist eine sehr gute Möglichkeit den server auch vor einer solchen Attacke zu schützen.