sehe ich das richtig, dass sich der eigentliche Schadcode in FC_1000 und DB_1000 befindet?
Da ist kein Schadcode vorhanden. Außer du bezeichnest SPS-Programmierung generell als Schadcode verbreiten (kommt ja gelegentlich unbeabsichtigt vor).
Es wurde dort nichts anderes gemacht als eine SPS zu programmieren.
Ich habs im Heiseforum schon geschrieben. Das Szenario ist an den Haaren herbeigezogen.
Die T-Bausteine laufen bekanntlich nur auf einer PN-CPU und nur mit deren Schnittstelle.
Wenn ich also Zugriff auf die PN-Schnittstelle bekomme, warum sollte ich dann den Umweg über die SPS gehen? Denn dann bin ich schon in der Schatzkammer und kann schalten und walten wie ich will. Besteht keine Notwendigkeit etwas am SPS-Programm zu ändern.
Das einizge Szenario bei dem das "sinnvoll" sein könnte, ist wenn ich eine PN-CPU mit Ethernet-CP habe, und ich nur Zugriff auf den Ethernet-CP habe. Dann könnte ich mich damit sozusagen ins andere Netzwerk tunneln. Aber wie klein ist die Wahrscheinlichkeit dass man gerade so etwas vorfindet? Also erstmal eine SPS die direkt aus dem Internet erreichbar ist (die Wahrscheinlichkeit ist schon äußerst gering, da sowas schwieriger einzurichten ist als eine VPN-Verbindung), und dann noch in genau dieser Konstellation. Das geht beides gegen Null.
Und was haben die gemacht: Sie haben die T-Bausteine dazu verwendet wozu sie da sind, nämlich Daten übers Netzwerk zu schicken. Und, oh Wunder, das geht. Voll der Hack! Und damit es nicht ganz so peinlich aussieht was man da gemacht hat, nimmt man nicht das passende Werkzeug für sowas (Step7), sondern lädt das mit Snap7 hoch. So kann man wenigstens noch eine github-Seite erstellen, voll 1337.
Und jetzt mal eine Anleitung für einen kleinen SPS-Virus:
Man programmiert mit den T-Bausteinen das S7-Protokoll um Bausteine hoch- und runterzuladen in der SPS. Dann infiziere ich mit diesem Ursprungscode eine Start-SPS, und diese verbreitet einen Schadcode wie auch den Code um sich selber weiterzuberbreiten an alle erreichbaren SPSen. Zyklisch wird geprüft ob der Schadcode in den Partnern noch vorhanden ist, ansonsten wird er erneut nachgeschoben. In einem großen Netzwerk wird das ordentlich aufwändig alle Steuerungen wieder zu säubern.