Pokaż wyniki 1 do 6 z 6

Temat: shellcode z funkcja system

  1. #1

    Domyślnie shellcode z funkcja system

    Czy da sie zrobic shellcode ktory wywoluje funkcje system z argsami a przy okazji zeby byl maly
    A jesli tak to jak

  2. #2
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Da sie... mozna znalezc adres funkcji system albo wywolac cos innego co jest standardowo dostepne. Oczywiscie dochodzi zabawa z kanarkami na stosie ale to tez da sie obejsc dosc latwo. Jesli chcesz odpalac system() to moze zainteresuj sie "return to libc" :P
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  3. #3

    Domyślnie

    Shellcode z funkcją system W shellcode możesz wstawiać co si się podoba, ogranicza Cię ograniczony rozmiar i przede wszystkim wyboraźnia. Zwykle w systemach unixowych jest to execve wywołujące powłokę.
    Return to libc - technika omijania zabezpieczeń typu non-executable-stack. Shellcode jest tu niepotrzebny. Kopia EIP jest nadpisywana adresem funkcji system() (lub innej), i do tego na stos są kładzione argumenty funkcji.
    Napisz dokładniej o co Ci chodzi.
    Na twoje pytanie na tym etapie mogę Ci odpowiedzić:
    Kod:
    call name
    run:
    call <adres do system>
    name:
    call run
    db "argumenty dla system"
    Nie wiem czy dobrze, ponieważ bawiłem się tym dawno.
    Ostatnio edytowane przez rafal44 : 02-22-2009 - 20:22
    "a imię jego będzie czterdzieści i cztery"
    A. Mickiewicz Dziady cz. III

  4. #4

    Domyślnie

    znalazlem takie cos:
    Address Publics by Name
    0001:00005C9C System

    Z devcpp.
    Czy wystarczy ze uzyje takiego adresu i kompilne nasmem

    A tak w ogole czy ta funkcja czegos nie zwraca
    Bo jakzwraca to chyba jest jakas jeszcze zabawa

  5. #5

    Domyślnie

    O tworzeniu shellcodów możesz sobie poczytać w książce Hacking. Sztuka penetracji. Tam wszystko jest dobrze opisane.
    Adres funkcji system zależy, jeżeli dobrze pamiętam, od wersji kompilatora. W twoim przypadku jest to gcc z Dev-C++. Adres każdej funkcji można znaleźć w prosty sposób: w katalogu głównym Deva jest podkatalog bin a w nim pomocnicze narzędzie nm. Uruchamiasz nm, jako argument podajesz nazwę pliku wykonywalnego i widzisz adresu wszystkich funkcji łącznie z ich nazwami.
    Sprawdzałem u siebie, funkcja system miała adres 0x00401800, co utrudnia sprawę, ponieważ adres zawiera dwa bajty zerowe.
    Radzę ci zajrzeć do tej książki, tam poznasz odpowiedzi na dręczące Cię pytania.
    "a imię jego będzie czterdzieści i cztery"
    A. Mickiewicz Dziady cz. III

  6. #6

    Domyślnie

    Mam pierwsze wydanie XD.
    Wiem cos o stosie.
    Ale w ogole tam nie ma nic o kompilowaniu programow z funkcjami...

Podobne wątki

  1. neibezpieczne dzialanie funkcja sleep() w PHP
    By gogulas in forum Security
    Odpowiedzi: 15
    Autor: 05-28-2008, 00:07
  2. blad w skrypcie, funkcja str_replace()
    By gogulas in forum PHP/CGI/ASP/JSP/J2EE
    Odpowiedzi: 1
    Autor: 03-22-2008, 20:37
  3. Excel - funkcja BAHTTEXT
    By northdakota in forum Windows
    Odpowiedzi: 0
    Autor: 01-17-2008, 18:39
  4. win32 shellcode
    By naichniach in forum Off Topic
    Odpowiedzi: 5
    Autor: 12-01-2007, 11:38
  5. Odczyt shellcode
    By zorlan in forum Newbie - dla początkujących!
    Odpowiedzi: 8
    Autor: 05-14-2007, 21:13

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj