Juggl3r's 1st Challenge - Bufferoverflow1

  • Hallo,

    ich will mal bisschen Werbung machen, vielleicht interessiert sich ja der eine oder andere dafür und macht auch bei der Challenge mit!
    Es geht darum einen local Exploit zu schreiben, um root-Rechte zu erhalten. Das Challenge-Level ist easy, weshalb ASLR, NX und stack smashing protection vernachlässigt werden darf.

    Hier der Video Link:
    http://www.securitytube.net/video/2246

    Viel Spaß allen denjenigen, die versuchen, die Challenge zu lösen (ist wirklich nicht allzu schwer).

    lg,
    Juggl3r

    "The quieter you become, the more you are able to hear."
    -------------------------------------------------------------------------------------

    3 Mal editiert, zuletzt von Juggl3r (23. September 2011 um 23:17)

  • Super Idee! und das 'Exploit Me' kommt mir aber *sehr* bekannt vor ;)

    Einziger (momentaner) 'Verbesserungsvorschlag': auf eine Virtual Machine Appliance referenzieren od. selbst anbieten -- viele koennten versucht sein, das gleich auf ihrem Produktivsystem auszutesten.

  • Super Idee! und das 'Exploit Me' kommt mir aber *sehr* bekannt vor ;)

    *Hust* *Kopf Kratz* ^^
    Hab mich schon gefragt, wann der erste draufkommt..... Code ist aber sowieso ziemlich hässlich....


    Einziger (momentaner) 'Verbesserungsvorschlag': auf eine Virtual Machine Appliance referenzieren od. selbst anbieten -- viele koennten versucht sein, das gleich auf ihrem Produktivsystem auszutesten.


    Hmm ja, aber es ist ja "nur" ein local Exploit, also nicht so schlimm wie remote. Und ich hoffe mal, dass Leute die die Challenge machen wollen, sich der Gefahren von BOF bewusst sind....
    Jetzt im nachhinein hätte ich vll. noch gcc + linux version angeben sollen. Wollte zuerst auch live vorführen wie kompiliert wird usw., allerdings spackt mein Mikrofon auf linux (noch) rum, weil die Stimme abgehackt wird.

    Ich nutze jetzt mal die Gelegenheit und weise darauf hin, dass auf securitytube noch andere Challenges sind. (z.B.: von Vivek über WLAN hacking, z.b. WEP Cracken mit nur 1 Packet, WEP Cracken mit abgeschnittenen Packeten, WPA2 hacken ohne das es einen Client gibt usw. sind nette Ideen dabei). Außerdem gibt es tolle Megaprimers (vorallem wieder von Vivek), aber es gibt noch andere gute Leute dort, z.b. Andrew King, der ein Primer darüber macht, wie man AntiViren-Software umgeht (beim derzeitigen Stand kann er glaube ich jede am Markt erhältliche Software umgehen, allerdings gibt er den Code nur einigen wenigen Leuten weiter, welche wirklich interesse haben und keinen Blödsinn machen. Und dabei ist die Idee eine andere als z.b. bei Runtime-PE-Cryptern von carders, also professioneller)

    lg

    edit: Für Leute, die sich vielleicht noch nicht so gut mit Bufferoverflows auskennen: Ein kleines Tutorial, welches ich vor 2-3 Jahren mal geschrieben habe (aber welches nie 100%tig fertig wurde)
    http://juggl3r.at/index.php/text…:bufferoverflow

    "The quieter you become, the more you are able to hear."
    -------------------------------------------------------------------------------------

    3 Mal editiert, zuletzt von Juggl3r (23. September 2011 um 16:37)

  • Code
    T getbla(void) {
        return bla;
    }

    Did you mean: extern T bla;


    protip: function-pointers muessen nicht derefenziert werden, um gecallt zu werden (aehntlich wie functions ja auch nicht &ed werden muessen, um zugewiesen werden zu koennen)

    i.e.,

    Code
    int (*f)(const char *) = puts;
    f("bla");
  • Code
    T getbla(void) {
        return bla;
    }

    Did you mean: extern T bla;

    Hmm? Versteh ich nicht, wo ist das im Code?
    edit: Achso ja, weiß schon was du meinst :D Der Code ist älter, jetzt wo du's sagst ... haha ;)


    Code
    protip: function-pointers muessen nicht derefenziert werden, um gecallt zu werden (aehntlich wie functions ja auch nicht &ed werden muessen, um zugewiesen werden zu koennen)
    
    
    i.e.,
    [CODE]int (*f)(const char *) = puts;
    f("bla");

    Ja danke, ich weiß. Ich finds so aber übersichtlicher. Aber generell ist der Code nicht wirklich hübsch (eig. sogar ziemlich hässlich, aber ja ;) )

    edit2: Achja, du wirst vielleicht noch paar andere "hässlichkeiten" entdecken, teile davon gehören aber zur Challenge. Insgesamt ist mehr als nur ein Fehler eingebaut, benötigt werden aber nicht alle Fehler. Und in den Comments vom Video habe ich auch schon geschrieben, dass der Code hässlich ist ;)

    "The quieter you become, the more you are able to hear."
    -------------------------------------------------------------------------------------

    Einmal editiert, zuletzt von Juggl3r (27. September 2011 um 12:26)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!