Buffer Overflow Exploitin 3-cü Mərhələsi (JMP Əlavə Edilməsi)
Buffer Overflow nədir? Buffer Overflow Laboratoriyası nədən ibarətdir? Buffer Overflow zəifliyinin exploit edilməsi necədir?EİP adresini idarə etmək necədir? JMP instruksiyası necə əlavə edilir?
Telegram kanalına qoşularaq bu və digər mövzular üzrə quizlərdə iştirak edə bilərsiniz!
Telegram (Kanal): https://t.me/xakeraz_official
EİP İdarə Edilməsi
Bu mərhələdə biz digər iki paylaşımda yerinə yetirdiyimiz əməliyyatlar ilə EİP necə reaksiya verdiyini vizuallaşdıracayıq. Digər iki paylaşımı aşağıya əlavə edirəm.
Yuxarıdakı paylaşımlardan Bufferin ölçüsünü 2019 olduğunu təyin etmişdik və bunun əsasından payload hazırlayırıq.
2019A + 4B + 5000C
Burada 2003 A (A 16-lıq say sistemində 41 bərabərdir) bufferin ölçüsüdür.4 B (B 16-lıq say sistemində 42 bərabərdir.) EİP ölçüsünü bildirir.Susmaya görə EİP registerinin ölçüsü 4 baytdan ibarətdir.Ən sonda isə təsadüfi 5000 ədəd C simvolunu ( C 16-lıq say sistemində 43 bərabərdir.) daxil edirik ki, EİP registerindən sonra yaddaş necə görünür.
# Serverə göndəriləcək test datası
test = b"A" * 2003 + b"B" * 4 + 5000 * b"C"
Python skriptimizdə müvafiq hissəni dəyişirik və skripti yadda saxladıqdan sonra aşağıdakı addımları yerinə yetiririk.
- Host cihazda yəni Windows-da Vulnserver.exe proqramının Administrator olaraq işə salındığından əmin olun.
- Windows-da İmmunity Debugger proqramını işə salın və vulnserver proqramını daxil edin. (Əvvəlki paylaşımda göstərilmişdir)
- İmmunity Debugger proqramında Run düyməsini basın və gözləyin.
- Kali cihazında Python skriptini icra edin.
- İmmunity Debugger proqramında nəticələrə baxın.


Şəkilə diqqətlə baxın və A ,B, C simvollarının necə səliqəli şəkildə registerlərdə oturuşduğunu görə bilərsiniz. Məhz bu vizual görüntü ilə biz Vulnserver proqramında istifadə edəcəyik.
JMP İnstruksiyasının Əlavə Edilməsi
Stackin idarə edilməsi mərhələsinə gəldiyimiz zaman ilk tapşırığımız EİP registerinə JMP ESP instruksiyasını icra etməsinə əmr etməkdir.Bəs niyə JMP ESP? Məqsədimiz ESP registerini bizim shell-code-un payloadu ilə doldurmaqdır. (Yuxarıdakı şəkildə ESP registerinin C simvolları ilə dolduğunu görə bilərik.) Amma bunu yerinə yetirməzdən əvvəl EİP registerinə assembler ilə shell-code olan registeri JMP ESP instruksiyası ilə icra etməlidir. JMP ESP adresini tapmaq üçün İmmunity Debugger alətindən istifadə edəcəyik. Tapmaq üçün aşağıdakı ardıcılıq ilə əməliyyatları yerinə yetirək.
- Host cihazda yəni Windows-da Vulnserver.exe proqramının Administrator olaraq işə salındığından əmin olun.
- Windows-da İmmunity Debugger proqramını işə salın və vulnserver proqramını daxil edin. (Əvvəlki paylaşımda göstərilmişdir)
- İmmunity Debugger proqramında Run düyməsini basın və gözləyin.
- Siçanın sağ düyməsini klikləyin və açılan Assembly İnstructions pəncərəsindən Search For – All Commands in All Modules seçirik.
- Find pəncərəsi açılan zaman jmp esp yazın axtarırıq.

6.Axtarışa uyğun olana bütün hallar göstəriləcəkdir və siz aşağıdakı instruksiyaları seçin. (Nəticə sizin üçün fərqli ola bilər)

- Address=625011AF
- Disassembly=JMP ESP
- Module Name=C:\Users\Rose\Desktop\vulnserver-master\essfunc.dll
Shell-code hissəsinə keçməzdən əvvəl tapdığımız adres ilə necə müraciət edəcəyimizi bilməliyik. Müraciət üçün bizim əvvəlki paylaşımlarda keçmiş olduğumuz Litlle Endian ( kiçik bayt öncə) metodundan istifadə edəcəyik.
Bizi izləyin:
Telegram (Kanal): https://t.me/xakeraz_official
Paylaşımların səliqəli yığılmış halı: https://t.me/xakerazgroup
Fikir və şərhləriniz : https://t.me/xakerazchat