Pokaż wyniki 1 do 5 z 5

Temat: bo

  1. #1
    Avatar ble34
    ble34 jest offline jestem bugiem
    Zarejestrowany
    Oct 2006
    Skąd
    krzesło
    Postów
    681

    Domyślnie bo

    odjakiegoś czasu męcze przepełnienia bufora
    dokładni eod 2 dni
    powiedzcie jak
    to jest
    mam podatny program
    załużmy z buforem wiekości 100
    powiedzmy ze 110 bajtuw "wzucone do tego bufora"
    niepowoduje błeu segmentacji ale zminia sterowanie programu
    to teraz
    powinienam
    napisać exploita który wypełni 110 bajtowy bufor
    instrukcją NOP - shellcode-4 bajty na ret i wyśle go do podatnego programu
    czy tak to wyglada zawsze
    amoze bładze
    niewiem jak wam się chce to odpowiadajcie
    jak nie to poradze sobie sam

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

    Domyślnie

    prawie... tylko gdzies jeszcze musisz wrzucic kod ktory sie wykona... generalnie to za danymi jest ret, jak go przepiszesz na inna wartosc to skok odbedzie sie do innego kodu... NOP-sled pomaga zwiekszyc prawdopodobienstwo trafienia wlansnie w ret sa do tego nawet skrypty, ktore pomagaja ustalic wielkosci bufora (bo nikomu sie chyba nie chce recznie klepac). Jak znasz rozmiar bufora to chyba nie ma sensu robic NOP'ow bo nic nie dadza... bufor 100 to 100... dalej bedzie ret... no chyba ze :-)

    w sumie to tlumacze to w lekko zakrecony sposob ale dzisiaj nic wiecej juz ze mnie nie wycisniecie
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  3. #3
    Avatar ble34
    ble34 jest offline jestem bugiem
    Zarejestrowany
    Oct 2006
    Skąd
    krzesło
    Postów
    681

    Domyślnie re

    to samo wsobie jest niezle pokręcone

    no ale jak niewkleisz nopów to jak trafisz w shellkod
    gdziego umieścisz
    przecież jak wypełnisz cały bufor
    shelkodem
    to nic nieda
    cała sztuka polega na umiszczeniu shellkodu tak
    zeby adres powrotu wskazywał na niego chyba

    genrealnie inrteresuje mnie gdzie mam umieścic shelcode
    jeśli czysto hipotetycznie zkaładać
    ze bufor ma 100 bajtów a 110 niepowoduje błedu segmentacj tylko zmaiane strowania programem czyli chyba nadpisanie RET
    to szelkod ma się zaczynac
    od bajtu 106 czy ma sie tam kończyć

    o boshe

    wszedzie piszom to samo nawet te same kody zródłowe tylko inne nazwy zmiennych
    ech...

    ok spra\awa wyglada tak
    odpalam exploit
    program pada
    ale jeśli odejme 1700 od wirzchołka stosu program się zapętla
    ztym że niewykonuje polecenia zawartego w szelkodzie
    wydaje mi się ze powodem jest to ze w komurce pamięci znajdują się dodatkowe dane
    pytanie jak się ich pozbyc
    oto screen troche nieczytelny ale jest
    okienko po prawei to sypiacy się program (nadpisany nieodpowiedni adres chyba)
    to w lewym górnym rogu i to ogłupiony program z odjętom wartościom 1700 od esp
    (troche się zapętlił)


    zrwaca taką zawrtośc bufora

    Kod php:
    >ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
    ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
    ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
    ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉŰ
    ↓1└^ł╗M◄ć|PV Ë1└P╗ó╩ü| ËŔÔ   calc.exeN┬žă☺Š■ 
    É-(to zdaje się NOPY)
    calc.exe-to wiadomo

    a reszta co to za śmieci zkąd się to wzieło
    co jest zle zadurzo argumentów przesyłam do dziurawgo programu
    czy zamało
    temat który rodzi więcei pytań po przeczytaniu każdego artykółu niż odpowiedzi (szewska pasja)

    powiedzcie mi czy dobrze mysle
    ide spać bo padam normalnie
    Ostatnio edytowane przez ble34 : 06-07-2007 - 23:52

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

    Domyślnie

    zgodnie z moja wiedza o budowie stosu itd... (sam pisalem ze ostatnio zaczalem sie w to wglebiac i jest to chyba moja pieta achillesowa - buffer overflow'y) to jak masz bufor 100 bjatow to pamietaj o tym:

    - stos jest LIFO wiec argumenty sa odkladane odwrotnie - najpierw ret (dol stosu), pozniej bufor danych
    - po JMP do kodu program zacznie obsluge danych z bufora
    - czyta calosc liniowo az dojdzie do RET - wtedy bedzie JMP ret i program wyjdzie z wywolanej funkcji czy tez ogolnie kawalka kodu, zaczynajac prace od nastepnej linii

    Jak bufor jest 100 bajtow to ret bedzie nastepne 4 bajty (dla architektury 32bit). Sztuka polega na tym aby trafic w ret albo adresem ktory wskarze na twoj kod alobo NOP'ami po ktorych system przeleci az dotrze do adresu i zrobi skok do pamieci. NOPy nie sa konieczne jesli wiesz dokladnie jaka jest dlugosc bufora i gdzie bedzie ret, dalej musisz znalezc shellcode ktory umiescisz w pamieci a pozniej wykonasz skok do tego kodu. NOPy sa do tego abys nie sprawdzal wielkosci bufora bajt po bajcie ale np. w krokach po 200 bajtow wypelniajac bufor NOPami.

    Tak mi sie wydaje - moge sie mylic, sprawdze jak bede w domu, odpowiedz najwczesniej w poniedzialek (przeprowadzka)... :-)
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  5. #5
    Avatar ble34
    ble34 jest offline jestem bugiem
    Zarejestrowany
    Oct 2006
    Skąd
    krzesło
    Postów
    681

    Domyślnie

    trafiłem chyba przy pomocy tutka h07 i shelkodu napisanego przez niewime kogo
    jakie było moje zdziwiene wczoraj odpaliłem wersje sploita która dodaje nowego usera do grupy administrators
    i niby nic soiie niestało
    myśle sobie znów coś kjest zle
    dzisiai włączam komputer
    patsze atu nowy user w grupir adminów

    a co do wilekości bufora i adresu ret
    to niedokońca tak
    jesli masz bufor 100 alokowany w programie to jego wielkośc jest nieco większa
    zreszta lłatwo to sprawdzić
    jesli
    napiszez prosty program
    o buforze sto który niesprawdz a długości wprowadzanych danych
    i przyjmież ze jeden znak to jeden bajt
    to okaze się ze jakieś 120 znaków dopiero powoduja problemy
    tzn zmiane sterowania albo bład segmentacji

    musze jeszcez nad tym posiedzieć
    sporo

    oczywiście się pospieszyłem oja głupi nieszczęsliwy
    nich mi ktoś powie przynajmniei dlaczego ten program się zapętla
    Ostatnio edytowane przez ble34 : 06-08-2007 - 13:17

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