Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26

Hybrid-Darstellung

  1. #1
    NoClose Wurm
    Registriert seit
    26.10.2008
    Beiträge
    185

    Standard Crypter in Php

    Hey,
    Ich beschäftige mich nun schon eine Weile in Php und hab mir nun vorgenommen einen Crypter in Php zu coden. Ich bin schon soweit, das ich eine Datei geöffnet habe und im Format von "00 fb 2c" usw habe, immer Leerzeichen nach jedem Hexwert eben. Nun fehlt mir jedoch das Wissen wie Crypter genau arbeiten, man kann ja nicht wahllos irgendwelche hexwerte ändern, das würde die Datei ja zerstören. Habe mal gelesen das man FF´s durch 00´s ersetzten soll oder umgekehrt, was könnte man noch tun?
    Gibt es irgendwelche Basic-Crypter Sourcen wo man sehen kann "wie" man es theoretisch machen kann? Eine Idee die ich dazu hätte wäre das man Assembler befehle als Hexwert sucht, und diese durch gleichwertige Assemblerbefehle die das gleiche tun ersetzt, könnte das klappen?
    Würde mich freuen wenn mir da jemand etwas Tipps gibt diesbezüglich.

    Lg Surflam
    Geändert von Surflam (04.09.2010 um 01:58 Uhr) Grund: Rechtschreibfehler ausgebessert

  2. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    dev0 (05.09.2010)

  3. #2
    I'm in ur VM. Avatar von l0dsb
    Registriert seit
    23.07.2007
    Beiträge
    1.038

    Standard

    Ein Leerzeichen nach jedem Hexwert? Das ergibt in vielen Weisen keinen Sinn. Informiere dich ausführlich über das PE-Format (aus deinem Post lese ich irgendwie, dass es um ausführbare Dateien geht), dann weißt du alles, das du brauchst.

    Sections verschlüsseln, Code an die Executable anhängen, Directories selbst parsen. It's teh simpelz.
    I can haz RCE?

  4. #3
    Bugbear Wurm Avatar von Eneth
    Registriert seit
    13.02.2010
    Beiträge
    247

    Standard

    N Crypter in PHP? Sorry,davon hab ich noch nie gehört...Wenn es dir was bringt kann ich dir Source Codes in C++ und VB anbieten?

  5. #4
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Zitat Zitat von Eneth Beitrag anzeigen
    N Crypter in PHP? Sorry,davon hab ich noch nie gehört...Wenn es dir was bringt kann ich dir Source Codes in C++ und VB anbieten?
    Also erstmal um das klar zu stellen: einen Builder bekommt man in jeder Sprache hin, die mit Binärdateien arbeiten kann (also Möglichkeiten bereitstellt, um BYTE's, WORD's, DWORD's usw. aus-, wie einzulesen).

    Das geht auch in PHP (man betrachte sich mal die Funktionen pack() und unpack(), welche sich die PHP-Entwickler wohl bei Perl abgeschaut haben).
    Dabei würde ich jedoch empfehlen sich von Anfang an eine Wrapper-Klasse zu schreiben, damit man abstraktionsmäßig möglichst weit von pack() und unpack() wegkommt, da diese den Code nicht wirklich übersichtlicher machen (Stichwort: bamcompile... ein einziges Durcheinander...).

    Wenn es also keine Crypter (damit beziehe ich mich auf den Builder-Teil) in PHP gibt, dann weil die meißten Leute einfach nicht genug können, um sowas umzusetzen (und meißt sowieso von Tuten und Blasen keine Ahnung haben und nur Code zusammenpasten).

    Also zurück zum konstruktiven Teil: ich verweise gleich auch mal auf OpCodez' Post (http://free-hack.com/482895-post5.html), in der Hoffnung, dass er dadurch von jedem hier Anwesenden mindestens einmal gelesen worden ist.

    "Scantime" Crypter lassen wir mal außen vor, da sowas sogar ein gehirnamputierter Schimpanse schreiben könnte (wobei ich sogar vermute, dass solche "Crypter" ausschließlich von gehirnamputierten Schimpansen geschrieben werden).

    Ich gehe jetzt also mal auf RunTime Crypter ein. Nach traditioneller Copy&Paste Manier, kennen die meißten Leute zumindest eine Art davon. Diese erfordert es einen neuen Prozess zu starten und den Code des gestarteten Programms durch den von der gecrypteten Datei zu ersetzen.
    Das Problem bei der Sache ist, dass man dafür die WinAPI braucht und das in PHP wohl auf Probleme stößt (ich meine sogar in PECL mal eine Extension für die WinAPI gesehen zu haben, aber ich beziehe mich da eher auf das PHP->EXE Problem, das bisher nur von bamcompile in Angriff genommen wurde, aber an sich im Grunde nichts anderes als ein Dropper mit einer "portable" PHP Version ist).
    Selbstverständlich könnte man an dieser Stelle auch eine Stub in ASM schreiben, die das umsetzt, aber ich denke mal, dass wenn man ASM kann, sich mit etwas interessanteren Methoden (um auf die Wortwahl von OpCodez zurückzukommen) befassen möchte.

    Das bringt mich auf die Methode, die ich empfehlen würde: Codeinjection. Vom Konzept könnte man meinen wir würden einen Packer (beispielsweise UPX) schreiben, wobei wir nicht Packen (obwohl das natürlich auch funktionieren würde, aber mit wesentlich mehr Aufwand verbunden ist), sondern nur verschlüsseln.
    Dazu empfehle ich mal mein Paper/Tutorial:
    http://free-hack.com/ansi-c-c-c/3850...schreiben.html
    Dabei habe ich mich bemüht den theoretischen Teil stark vom praktischen Teil zu trennen. Sollte es dir jedoch keine praktische Hilfe sein (was ich nicht glaube, da man als PHP-Programmierer zumindest erahnen kann, was ein C Source da evtl. macht - zumal die Schritte im praktischen Teil kommentiert sind!), so würde ich es dennoch als eine gute Einführung in das PE-Format betrachten, wobei ich hoffe, alle für Crypter relevante Member der im PE-Format auftauchende Header erklärt zu haben (mal abgesehen von extra Sachen, wie Import bzw Export bezogene Header usw.).

    EDIT:

    Zitat Zitat von Surflam Beitrag anzeigen
    nunja die Stub würde ich dann dementsprechend mit Assembler machen,und mit Php einfügen.
    Richtig

    Zitat Zitat von Surflam Beitrag anzeigen
    Crypter die ich bisher gesehen hab hatten auch die Stub als externe Datei, und nicht direkt im Sourcecode vorliegen also sollte das kein Problem darstellen.
    Vergiss Crypter, die du bisher gesehen hast. Du hast scheinbar bisher auch keinen tauglichen Crypter in PHP gesehen. Also!
    Crypter mit externer Stub sind entweder Scantime Crypter, oder RunTime Crypter mit Methode #1 (Stub, die das Programm entschlusselt und den Code in einen anderen Prozess injeziert).
    Sowas in PHP zu machen wird scheitern, da du keinen vernünftigen Weg hast, um aus einer PHP Datei eine EXE Datei zu machen. Auf bamcompile bin ich ja oben schon eingegangen und ich bin überzeugt, dass es damit nicht funktionieren wird (selbst wenn du die ca. 2 MB in Kauf nimmst, die bamcompile aus deinen Skripten macht), da bamcompile im Grunde das Skript, sowie eine portable PHP Version auf die Festplatte droppt und dort aufruft und du wohl somit wenig Chancen haben wirst an die angehängten Daten (dein verschlüsseltes Programm) wieder ran zu kommen.

    Zitat Zitat von Surflam Beitrag anzeigen
    [...] ich frag mich nur wie ich das in Php machen soll, allein die Header Definitionen ,und wo die einzelnen Sections sind..das geht glaube nicht so einfach mit Php
    Habe nie das Gegenteil behauptet
    Ich habe lediglich gesagt, DASS es geht. Darum, wie gesagt, auch meine Empfehlung, sich von Anfang an eine geeignete Abstraktionsschicht zu bauen. Dazu bräuchtest du dann eigentlich:
    Klassen zum Ein- und Auslesen von Daten aus Binärdateien (wichtig ist dabei vor allem die Größe von dem, was man einliest - also bytes, words, dwords, usw.).
    Darauf aufbauend könntest du dann halt Klassen erstellen, die Strukturen wie IMAGE_DOS_HEADER, IMAGE_NT_HEADERS und IMAGE_SECTION_HEADER emulieren - d.h. du gibst dem Objekt dann im Konstruktor den Bytestream, den du mit deinen Wrappern parsen kannst und speicherst dann entsprechend die Attribute. Wenn du es dann richtig schön machen willst, dann kannst du es via der magischen __set()-Methode auch so implementieren, dass beim Verändern der Attribute auch der Wert im Bytestream entsprechend geändert wird.

    Zitat Zitat von Surflam Beitrag anzeigen
    Hab ich das Prinzip eines Crypter richtig verstanden?Hier mal ein Pseudo Code wie ich
    Als Grundgerüst erscheint mir das nicht schlecht. Du musst dann jedoch auch Assembler lernen, damit du diesen Verschlüsselungsprozess dann auch wieder umkehren kannst, wenn das Programm gestartet wird (das ist jetzt natürlich einfacher gesagt als getan... sollte klar sein).
    Geändert von blackberry (04.09.2010 um 10:25 Uhr)

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  6. #5
    NoClose Wurm
    Registriert seit
    26.10.2008
    Beiträge
    185

    Standard

    Hab mir dein Tutorial/Paper schon runtergeladen angeschaut, und muss zugeben das mich das PE-Format noch etwas irritiert, überall neue Begriffe die ich noch nicht kannte. Bisher hatte ich nur direkt mit Hexcode veränderung und etwas Assembler zu tun gehabt, denke ich werde mich da langsam einarbeiten müssen und erstmal genau durchlesen was jeder begriff bedeutet bis ich das begreife Aber die Erklärungen und Links die bisher gepostet wurden finde ich doch schon mal sehr interessant und wert gelesen zu werden, werde das mal die nächsten Tage durcharbeiten und dann mal schauen ob ich einen Crypter in Php hinbekomme, denke aber schon.
    Nochmals vielen dank

    p.s:Blackberry , bamcompile ist doch ein Php2Exe Converter bzw Compiler...und das hat ja relativ wenig mit dem zu tun, was ich eigendlich vor habe..und zwar den Crypter später als Php-Script auf einem webspace mit Apache laufen zu lassen. Also kein Php-Script das dann unter Windows als exe laufen soll oder sonstiges zeug..

    lg
    Geändert von Surflam (04.09.2010 um 10:19 Uhr)

  7. #6
    NoClose Wurm
    Registriert seit
    26.10.2008
    Beiträge
    185

    Standard

    @l0dsb Das hat so schon seine richtigkeit, ich lese die datei nämlich mit file_get_contents(); aus und wandele sie dann in hex um,und wandele sie nur so um mit dem Leerzeichen damit ich es einfacher beeinflussen kann,dort liegt aber ja nicht das problem.
    Und ja es handelt sich um ausführbare dateien

    P.s: Hätte es auch im Format "0xbc,0x02,0xff" oder "00bbff" machen können,was aber das bearbeiten des Strings etwas blöder gemacht hätte..so ises einfacher da man den String dann auch in nen Hexeditor als Beispiel einfügen kann oder die jeweiligen Hexwerte vom Hexeditor ins Script Kopieren ohne es anpassen zu müssen

    @Eneth
    Es gab mal einen Php-Crypter von einem anderem Hackerboard hatte ich gelesen und gesehen, leider ist dieser jetzt Down, und ich würd gerne selbst so einen Programmieren Jepp bei Sources ist es egal welche Sprache, C++ wäre mir am liebsten da ich mit C++ ab und an Gamehacks code

    lg
    Geändert von Surflam (04.09.2010 um 02:42 Uhr)

  8. #7
    Coding Contest Winner
    Registriert seit
    21.03.2008
    Beiträge
    273

    Standard

    Zitat Zitat von Surflam Beitrag anzeigen
    @Eneth
    Es gab mal einen Php-Crypter von einem anderem Hackerboard hatte ich gelesen und gesehen, leider ist dieser jetzt Down, und ich würd gerne selbst so einen Programmieren
    Dahinter steckt ein Server mit einem Programm namens "Crypter" der per Kommandozeile o.ä aufgerufen wird.
    Geändert von Easysurfer (04.09.2010 um 02:47 Uhr)

  9. #8
    Chloë Grace Moretz Avatar von ocz
    Registriert seit
    29.05.2010
    Beiträge
    384

    Standard

    Zitat Zitat von Surflam Beitrag anzeigen
    @l0dsb Das hat so schon seine richtigkeit
    Mag sein, dass du sie in deinem PHP Script temporär in diesem format hast, aber wenn du hinterher wieder zurück in die exe schreibst hast du dann einiges zu konvertieren.

    Und ja es handelt sich um ausführbare dateien
    Sonderlich ausführbar werden die nach deiner 0x20 Behandlung aber nicht mehr sein.

    Das Problem scheint aber eher zu sein, dass du gar nicht weißt, was ein crypter macht. Dazu darf ich dich hierauf verweisen:
    http://free-hack.com/482895-post5.html

    Du wirst aber wohl nicht umhin kommen, die stub nicht in PHP zu schreiben. Dein Script verschlüsselt dann im endeffekt nur die datei, hängt die stub an und passt einiges im PE Header an.

  10. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    luxury11 (04.09.2010)

  11. #9
    NoClose Wurm
    Registriert seit
    26.10.2008
    Beiträge
    185

    Standard

    Nunja ich weiß ungefähr was in Crypter macht, aber nicht genau was..das Problem ist das die Erklärungen immer so Oberflächig sind, und wozu man die Stub brauch (bzw was in ihr genau enthalten ist?ist ja bei jedem crypter anderst) und wie man genau die Änderungen macht..einfach aufgebaute Sources ohne "extra features",sogesehen nur das Grundgerüst wären genial..damit ich das mal sehe

  12. #10
    Bugbear Wurm Avatar von Eneth
    Registriert seit
    13.02.2010
    Beiträge
    247

    Standard

    Meld dich doch mal bitte morgen bei mir per ICQ dann kann ich sie dir schicken ich wollte jetzt off...

Seite 1 von 3 123 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •