Code Injection erkennen



  • Hallo,

    ich als Einzelperson hätte sowieso eine Chance das zu erkennen, wenn die Malware, die ich erkennen möchte da etwas manipuliert, auch wenn ich tief in der Materie bin... Aktuell kenne ich jedoch keine Malware, die solche Funktionen hookt... Ich will lediglich wissen ob es eine Möglichkeit gibt, fremden Code in fremden Anwendungen NACH DER INJEKTION zu erkennen (könnte ja sein, dass windows sich da was aufschreibt...)

    Danke



  • Guten Abend
    Frag mal bei Media Markt nach vielleicht haben die die richtige Software für sowas!

    Ok jetzt hab ich kb mehr was über Media Markt zu schreiben^^:

    Wäre das so einfach mit dem Injection erkennen dann würde es nicht so viele Cheater in Counter Strike geben!
    Du kannst ja den Speicher auf bestimmte Opcodes scannen aber ob das so der Hit ist bezweifel ich. Naja zumindest bei kritischen Funktionen könnte es Sinn machen.

    VAC (anti cheat system von valve Counter Strike verwendet dieses z.b.) checkt ja auch nur Speicherbereiche.



  • -Infected- schrieb:

    Hallo,
    ... auch wenn ich tief in der Materie bin... Aktuell kenne ich jedoch keine Malware, die solche Funktionen hookt...
    Danke

    Dann scheinst du dich aber nicht besonders auszukennen, denn ich kenne sehr viel Malware die rootkit-techniken verwendet die unter anderem sowas manipuliert... Dazu muss man eigentlich nur im PEB (Process Environment Block) unter der Struktur _PEB_LDR_DATA :

    InLoadOrderModuleList
    InMemoryOrderModuleList
    InInitializationOrderModuleList
    HashTableEntry

    manipulieren, das ist schon alles!



  • Naja wir müssen unterscheiden zwischen Code-Injektion und Dll-Injektion. Eine reine Code Injektion wird fast unmöglich sein zu entdecken.

    Wenn man von Dll-Injektionen ausgeht kann es durchaus sein dass du es erkennen kannst, kommt immer drauf an wie gut sie umgesetzt ist.

    Wen die Dll in den Modullisten im PEB gelistet ist kannst du sie so aufspüren. Dann kannst du eine fremde Dll z.B. erkennen wenn du direkt nach dem Starten des Prozesses einen Snapshot machst.

    Wenn die Dll allerdings aus den Listen entfernt wurde (oder mit einem eigenen Dll-Loader geladen wurde) wirds deutlich schwerer. Dann kannst du höchstens alle Teile des virtuellen Speichers mit VirtualQueryEx durchforsten und nach Dll-Headern suchen. Wenn die auch gelöscht sind kannst du eigentlich nicht viel machen - außer einen vorher-nacher Vergleich und der Suche nach bekannten Signaturen falls du die Dll kennst.

    Und falls die Dll nur durch Hooks versteck ist wären die nativen Funktionen aus der ntdll.dll oder direkte Syscalls das Mittel der Wahl.



  • DarkShadow44 schrieb:

    Eine reine Code Injektion wird fast unmöglich sein zu entdecken.

    Denke auch bis da Hardwaremässig was kommt wirds a privat schwierig bleiben.

    Das Problem ist nicht eine Veränderung etwa in einem Memory Dump zu finden
    sondern eben in Echtzeit jede Veränderung mitzubekommen UND zu deuten.
    Die Antiviren-Forscher haben da ganze Batterien an Plattformen
    nur um den Plagegeistern in jeder möglichen Situation auf die Schliche zu kommen
    und dennoch ist eben halt bislang nur ein Hinterherjagen.

    Die Mittel für sichere Systeme hätten wir schon lange
    zb könnte ein Prozessor Code ausführen und der Andere würde alles überwachen
    oder man verabschiedet sich von Neumann..



  • pVoid schrieb:

    DarkShadow44 schrieb:

    Eine reine Code Injektion wird fast unmöglich sein zu entdecken.

    Denke auch bis da Hardwaremässig was kommt wirds a privat schwierig bleiben.

    Das Problem ist nicht eine Veränderung etwa in einem Memory Dump zu finden
    sondern eben in Echtzeit jede Veränderung mitzubekommen UND zu deuten.
    Die Antiviren-Forscher haben da ganze Batterien an Plattformen
    nur um den Plagegeistern in jeder möglichen Situation auf die Schliche zu kommen
    und dennoch ist eben halt bislang nur ein Hinterherjagen.

    Die Mittel für sichere Systeme hätten wir schon lange
    zb könnte ein Prozessor Code ausführen und der Andere würde alles überwachen
    oder man verabschiedet sich von Neumann..

    Ich denke du hast auch nicht so viel Ahnung!



  • & /dev/null schrieb:

    Ich denke du hast auch nicht so viel Ahnung!

    🙄 trollig



  • manche verkraften die warheit nicht... aber was solls



  • zumindest im usermode sollte code injection durch wpm etc erkennbar sein.

    aber ansonsten ist natürlich klar dass es ein stetiges hin und her ist, wenn es darum geht malware/gamehacks zu erkennen.

    Code in fremden Anwendungen NACH DER INJEKTION zu erkennen (könnte ja sein, dass windows sich da was aufschreibt...)

    man sollte da schon alles berücksichtigen und nicht nur "nach der injektion".

    im endeffekt muss man sich wohl tief ins sys einnisten, am besten mittles kernel level programmen. dort geht der kampf dann wohl weiter.^^ aber aus sicht der user ebene hat man da keine chance.



  • Du könntest Hash-Werte bilden auf die Dateien diese müssen aber vor dem Befall gebildet werden und dann um zu gugen ob Code injeziert wurde dann nochmal den Hashwert bilden und beide vergleichen.

    P.S Virenscanner erkennen nur 3-5% aller Viren die weltweit im Umlauf sind. Polymorphe Viren ändern nicht nur in bestimmten Intervallen ihren Code der verschlüsselt ist, sondern haben auch von Rechner zu Rechner unterschiedliche Signaturen der durch ein Alghorithmus erstellt wird da müssten die Virenscanner diesen alghorithmus kennen wenn dann noch die Signatur asymetrisch verschlüsselt ist dann bye bye. Zudem könnte die Signaturerstellung auch von extern kommen der nur die Signatur liefert und intern nur geprüft wird ob die signatur stimmt.



  • Außerdem das was du beschreibst ist keine Code Injection. Code Injection ist wie bei einer SQL Injection. Der Angreifer schmuggelt Code ein der dann ausgeführt wird. Das was du beschreibst ist eine Virusinfektion Schadcode wird in die exe bzw den Prozess eingefügt von anderen Viren.



  • AmonAmarth schrieb:

    Außerdem das was du beschreibst ist keine Code Injection. Code Injection ist wie bei einer SQL Injection. Der Angreifer schmuggelt Code ein der dann ausgeführt wird. Das was du beschreibst ist eine Virusinfektion Schadcode wird in die exe bzw den Prozess eingefügt von anderen Viren.

    😃 blabla - aber keine Ahnung wie sowoas wirklich abläuft.



  • Immer diese dämlichen User die keine Antwort liefern keine Ahnung haben was man sagt aber trotzdem ihren Senf dazugeben wollen.

    Code Injection indem Fall genauer SQL Injection :
    Man hat eine Seite mit Username und Passwort als Eingabefelder daraus wird die Abfrage generiert. Der Angreifer schmuggelt was rein.

    In der Sql-Abfrage steht dann :
    SELECT * FROM tblAdmin WHERE user = [username] AND password = [Passwort];

    Normaler User :
    Username = willi
    password = 123456

    Dann steht da :
    SELECT * FROM tblAdmin WHERE user = "willi" AND password = "123456";

    Angreifer :
    Username = bla
    password = \" OR 1=1 #

    Dann steht da :
    SELECT * FROM tblAdmin WHERE user = "bla" AND password = "" OR 1=1#;

    # steht für Kommentar

    während eine Virusinfektion mit Schadcode so aussieht

    Assemblercode vor der infektion :

    LDAA #56
    LDAB 1894,D
    MUL
    ADDA 89
    STAD 4000
    BRA SP,1

    Assemblercode nach der infektion :

    ;Schadcode anfang
    ....
    TFR A,B
    ....
    ;Schadcode ende
    LDAA #56
    LDAB 1894,D
    MUL
    ADDA 89
    STAD 4000
    BRA SP,1

    natürlich steht da kein assemblercode sondern maschinencode nur zu Beispielzwecken



  • AmonAmarth schrieb:

    Immer diese dämlichen User die keine Antwort liefern keine Ahnung haben was man sagt aber trotzdem ihren Senf dazugeben wollen.

    Code Injection indem Fall genauer SQL Injection :
    Man hat eine Seite mit Username und Passwort als Eingabefelder daraus wird die Abfrage generiert. Der Angreifer schmuggelt was rein.

    In der Sql-Abfrage steht dann :
    SELECT * FROM tblAdmin WHERE user = [username] AND password = [Passwort];

    Normaler User :
    Username = willi
    password = 123456

    Dann steht da :
    SELECT * FROM tblAdmin WHERE user = "willi" AND password = "123456";

    Angreifer :
    Username = bla
    password = \" OR 1=1 #

    Dann steht da :
    SELECT * FROM tblAdmin WHERE user = "bla" AND password = "" OR 1=1#;

    # steht für Kommentar

    während eine Virusinfektion mit Schadcode so aussieht

    Assemblercode vor der infektion :

    LDAA #56
    LDAB 1894,D
    MUL
    ADDA 89
    STAD 4000
    BRA SP,1

    Assemblercode nach der infektion :

    ;Schadcode anfang
    ....
    TFR A,B
    ....
    ;Schadcode ende
    LDAA #56
    LDAB 1894,D
    MUL
    ADDA 89
    STAD 4000
    BRA SP,1

    natürlich steht da kein assemblercode sondern maschinencode nur zu Beispielzwecken

    Und jetzt soll man beeindruckt sein oder was? Dies zeigt überhaupt nichts...



  • @lowbyte nein das war auf den Post darüber bezogen es tut mir leid das du es trotzdem nicht verstehst.



  • AmonAmarth schrieb:

    @lowbyte nein das war auf den Post darüber bezogen es tut mir leid das du es trotzdem nicht verstehst.

    Du bist mir ja einer...


Anmelden zum Antworten