buffer overflow.pdf

14
Buffer Overflow Written by r00tcreat0r Content: [email protected] Team: blinkhackergroup,MCA,op rohingya Thanks to: Drrat, n00b, adminkill3r, buglab, hardcore , gtone(hackerlammer) Fetalarray, scriptinjector Geetz: brb,nullbyte,bigboss(mmhu),Granze back,drdeath & all myanmar hackers

Upload: mg-aung-zin

Post on 27-Oct-2015

64 views

Category:

Documents


14 download

DESCRIPTION

About Buffer Overflow (myanmar)

TRANSCRIPT

Page 1: Buffer Overflow.pdf

Buffer Overflow

Written by r00tcreat0r

Content: [email protected]

Team: blinkhackergroup,MCA,op rohingya

Thanks to: Drrat, n00b, adminkill3r, buglab, hardcore , gtone(hackerlammer)

Fetalarray, scriptinjector

Geetz: brb,nullbyte,bigboss(mmhu),Granze back,drdeath & all myanmar hackers

Page 2: Buffer Overflow.pdf

FTP Server နဲ႔ Client

download ေတဌ upload ေတဌ လုပသေနၟကတယသဆုိတာ ေနစဥသ ကဌနသၿပဎတာသမာ့ေတဌ လိုအပသခ္ကသပါ ..

ဒီအလုပသေတဌကိ ုေဆာငသရဌကသရနသ FTP (file transfer protocol ) တစသခုမလာ server နဲ႔ client ဆုိၿပီ့ရလိမယသ

Server က host ပဵုစ ဵdata ေတဌကိ ုကိုငသထာ့တာ တပိုငသ့ ေနာကသတစသခုက client က အဲံ data ေတဌကိ ု

လလမသ့ယူတာဆုိၿပီ ့server နဲ႔ client ဆုိၿပီ့ အပိုငသ့နလစသပိုငသ့ပါရလိမယသ

FTP client တစှခ ုက server ကိုခ္ိတသဆကသလိုကသတဲ ံခါမလာ ပထမဆဵု့ လိုအပသခ္ကသက authenticate process

ကိ ုစတငသမလာပါ ..တခ္ိဳ႕ေသာ FTP server ေပၚမလာ set up လုပသထာ့ေပၚမူတညသၿပီ ့user / password

စတာေတဌကိ ုေတာငသ့ဆုိမလာၿဖစသပါတယသ။

FTP client ဆုိတာ FTP server ကိ ုport 21 ကေနခ္ိတသဆကသၿပီ ့file ေတဌ အတငသ အခ္ ကိ ုလုပသတဲ ံ

Software ၿဖစသပါတယသ.. GUI ရလိသလိ ုသူမလာ command line နဲ႔လညသ့ရလိတယသ

ftp GUI command လိုငသ့နဲ႔ပဵုပါ

Page 3: Buffer Overflow.pdf

Buffer Overflow ဆိုတာ

Buffer Overflow ဆိုတာ ဟုိ့အရငသထညသ့ကရလိခဲံတာ ခုထိ application , os နဲ႔ တၿခာ့ software

ေပါကသေနသညသ ံvulnerability ကုိ exploit လုပသနုိငသတံဲနညသ့ပါ ။

ခု FTP server ေပၚမလာ vulnerability ကုိ buffer overflow နဲ႔အေၿခခဵၿပီ့ရလငသ့ၿပမလာၿဖစသပါတယသ ။

Buffer Overflow ဆိုတံဲ Bof attacker ဟာ အၟကမ့သ အာ့ၿဖငသံ user input ထညသံလုိ႔ရတံဲ remote

system ေတဌကုိ တိုကသခိုကသတာကုိ ဆိုလုိပါတယသ ။ Buffer ဆိုတာ buffer array ကေနလာတာၿဖစသၿပိ့

Buffer ဆိုတာက ရလငသ့ဖို႔ stack ဆိုတာကစ ရလငသ့ေၿပာရပါမယသ ။ stack ဆိုတာ memory ထညသ့က

ေနရာေလ့တစသခုၿဖစသတယသ ။သူကုိၿမငသေအာငသၟကညသံမယသဆိုရငသ

တဆငသံၿခငသ့တတသသဌာ့တယသလုိ႔လညသ့ေၿပာလုိ႔ရနုိငသမယသ last in first out ဆိုတံဲ LIFO

ပဵုစဵမ္ိဳ့နဲ႔သဌာ့မယသ

ခု ပဵုေလ့ကုိၟကညသံၟကညသပါ

Fig1. A က B ဟငသလာတံဲ အခ္ိနသမလာ ဒုတိယေနရာေရာကသသဌာ့ပါတယသ B က လညသ့ C ဟငသလာတံဲခ္ိနသမလာ

ဒုတိယေနရာေရာကသသဌာ့ပါတယသ

Page 4: Buffer Overflow.pdf

Fig2. ဒါေပမယသ ံstack ထညသ့က data ၿပနသထုတသတံဲ အခါ C က အရငသဆုဵ့ထဌကသသဌာ့ရပါတယသ ။

C ဆုိတံဲ array နဲ႔ B ဆိုတံဲ array ဆိုၿပီ့ရလိတယသ

Page 5: Buffer Overflow.pdf

C မလာ C[3]={2,3,4}; ဆုိၿပီ့ data 2 3 4 ကုိ array ပဵုစဵနဲ႔သိမသ့စဥသ့ထာ့မယသ

ဒါေပမယသ ံdata 2 3 4 ထကသပိုၿပီ့ထညသံမိရငသ array B ကုိ သဌာ့ ထိခုိကသၿပီ့ data variable ေတဌကုိ

ေနလာကသယလကသ ဖ္ကသဆီ့မလူၿဖစသၿပီ့ program crash ၿဖစသနုိငသပါတယသ ။ ဒါကုိ buffer overflow လုိ႔

ေခၚဆိုပါတယသ ။

ဥပမာ ဆိုၟကပါဆို A ဆိုတံဲ array နဲ႔ B ဆိုတံဲ array မလာ B ရဲံ value က 1979

A ထညသ့မလာ excessive အထညသံမလာ e ရဲံ ASII code က B ကုိသဌာ့ေၿပာငသ့တယသ programmer

ေရ့သာ့ထာ့တံဲ 1979 ကေန 25556 သုိ႔ေၿပာငသ့လဲသဌာ့တယသ ။

ဒီလုိ overflow ၿဖစသေစတံဲ variable ေတဌက network တဆငသံ ဒါမလမဟုတသ file ေတဌကတဆငသံ

ဒါမလဟုတသ command လုိငသ့ေတဌကေနလညသ့ ၿဖစသတတသပါတယသ ။ မေတာသတဆ ၿဖစသတတသသလုိ

တမငှသကှသကှ ဟကသကာေတဌ ရဲ ံလုပသေဆာငသမလဎလညသ့ၿဖစသနုိငသပါတယသ ။

Page 6: Buffer Overflow.pdf

Buffer overflow နဲ႔ malicious shell code

Attacker တစသေယာကသက buffer overflow လုပသတဲ data ကုိ ထိနသ့ခ္ဳပသနုိငသၿခငသ့ၿဖငသ ံprogram flow

တစသခုလုဵ့ကုိ ထိနသ့ခ္ဳပသနုိငသတယသ ။

သာမနသ buffer overflow တစသခု ဟာ application တစသခု ကုိ crash ပ္ကသၿပာ့ ၿဖစသသဌာ့ေစယုဵပါပဲ

ဒါေပမယသ ံbuffer overfulow ကုိတဆငသ ံခ ဵအသုဵ့ၿပဳၿပီ့ hacker တစသေယာကသအေနနဲ႔ေတာံ malicious

executed code ေတဌကုိ system ထညသ့ထညသံသဌငသ့သဌာ့နုိငသတယသ

သာမနသအာ့ၿဖငသ ံhacker တစသေယာကသဟာ overflow ၿဖစသေနတံဲ buffer system တစသခုထည့သ EIP

register (instruction pointer လုိေခၚၿပီ့ ေနာကသ တစသခု ထပသလုပသမဲံ programming instruction

ကုိညဌနသၿပေပ့တာကုိ ကုိငသထာ့တံဲေနရပါ) ေတဌကုိ ခ္ိနသ့သဌာ့မလာပါ ။

Hacker ေတဌ ဟာ application code ေတဌေနရာမလာ သူတို႔ရဲ ံ shell code

ေတဌကုိထညသံသဌငသ့ေရ့သာ့သဌာ့မလာပါ။

EIP ေတဌကုိ over right လုပသၿပီ့ သူတို႔ shell code ထာ့တံဲေနရာကုိညဌနသၿပသဌာ့မလာပါ ။။

ဒီေတာ ံapplication ကလညသ့ ဟကသကာ ထညသံထာ့တံဲ EIP အရာံ malicious shell code ကုိ သဌာ့ၿပီ့

အလုပသလုပသေစမယသ ။ ေနာကသၿပီ့ shell code ကတဆငသံ system တစသခုလုဵ့ကုိ root access

ယူသဌာ့နုိငသပါတယသ ။

Page 7: Buffer Overflow.pdf

လကသေတဌ႕ exploit ကုိစမသ့သပသရမလာ က္ေနာသတို႔ ဟာ backtrack နဲ႔ metasploit ဆိုတံဲ tool

ကုိသုဵ့သဌာ့မလာၿဖစသပါတယသ ။

Backtrack ကုိ vmware မလာအသုဵ့ၿပဳနုိငသၿပီ့ metasploit မလာ backtrack မလာ အသငသံအသုဵ့

ၿပဳနုိငသပါတယသ ။

( လကသရလ ိtutorial မလာ အသုဵ့ၿပဳထာ့တာ backtrack 5 R3 ကုိအဓိကထာ့ၿပီ့

Vmware base အသုဵ့ၿပဳထာ့ၿခငသၿဖစသသညသ။)

Metasploit ဆိုတာ penetration testing တဌကသကုိ exploit development တဌကသပါ သုဵ့လုိ႔ရပါတယသ။

Python programming နဲ႔ေရ့ထာ့တာၿဖစသၿပီ့ Mac, linux , window စတာေတဌ အတဌကသ ပါ run

လုပသလုိ႔ရတံဲ development မ္ိဳ့ပါ ။ ဒ ီtutorial မလာ metasploit ကုိ အေၿခခ ဵအသုဵ့ခ္ပဵုနဲ႔

vulnerability ၿဖစသေနတံဲ ftp server ကုိ exploit လုပသပဵုကုိရလငသ့ၿပသဌာ့မလာပါ ။ ေနာကသၿပီ့ target

system ကုိ window xp sp2 အေနနဲ႔အသုဵ့ၿပဳထာ့ပါတယသ ။။

သငသခနသ့ စာရဲံရညသရဌယသခ္ကသက အရမသ့အေၿခခဵက္တံဲ msf ရဲံအသုဵ့ၿပဳပဵုပါ ။

မညှသညှ ံmalicious attempt မလမဟုတသသညသံအၿပငသ private exploit အမ္ိဳ့အစာ့မဟုတသပဲ old

version ကုိသာ educational purpose အေနနဲ႔အသုဵ့ၿပဳထာ့သညသ.. ဒါေပမယသ.ံ. တခ္ိဳ႕ တခ္ိဳ႕ေသာ

malicious act ေတဌတဌကသ  တာဟနသမယူပါ..

Page 8: Buffer Overflow.pdf

Metasploit Metasploit မလာ cli and console, web interface , Gui စတံဲ interface မ္ာ့ၟကိ့ ရလိတံဲထညသ့မလာ

console interface ကုိအဓိကေၿပာသဌာ့မလာပါ ။

ေနာကသၿပိ့မိမိတုိ႔ တိုကသခဲံမယသ target မလာ warftp 1.65 တငသထာ့တံဲ window xp

ကဌနသၿပဎတာၿဖစသရပါမယသ ။ ဒီေတာံ က္ေနာသ က္ေတာံ virtual lab ကုိယသတိုငသ set up လုပသထာ့တာပါ

က္ေနာသ target ip ကေတာံ192.168.137.131 ပါ

Backtrack ရဲ ံterminal မလာ msfconsole လို႔ရိုကသလိုပါ

Page 9: Buffer Overflow.pdf

Exploit ေတဌ ေပၚေအာငသ show exploits လို႔ရိုကသပါ

Metasploit ထညသ့မလာ exploit package ေတဌကိုေတဌ႕ရမလာပါ ။ မိမိတုိ႔ နဲ႔ သငသံေလလ္ာသတဲ ံexploit package

ကိုအသဵု့ခ္၇မလာၿဖစသပါတယသ

Windows/ftp/warftpd_165_user ကိုေတဌ႕မလာ metasploit မလာအဓိက vulnerability ၿဖစသေနတဲ ံversion

မလနသဖို႔အေရ့ၟကီ့ပါတယသ ။ ခ ုversion warftp 1.65 ကိ ုpenetrate လုပသမလာၿဖစသတယသ ။

Page 10: Buffer Overflow.pdf

ေနာကသတဆငသံအေနနဲ႔ msf box ထညသ့မလာပ ဲ

use windows/ftp/warftpd_165_user ဆိုတဲ ံcommand နဲ႔ exploit ကိုအသဵု့ၿပဳရနသေခၚရမလာပါ ။

show options မလာ လိုအပသတဲ ံsetting ေတဌနဲ႔ require ေတဌ ရလိပါတယသ ။

RPOST ဆုိတာ remote post ပါ .. target ip ပါ

ဒီေတာ ံset RPOST ပါ target ip ကေတာ ံက္ေနာသ Local မလာ install လုပသထာ့တဲ ံmetasploit vulnerability

ရလီတဲ ံftp server ပါ ။

Page 11: Buffer Overflow.pdf

ေနာကသတစသခ ုထပသရိုကသရမလာ က show payloads ပါ

Payloads ဆုိတာ ေပါကသေနတဲ ံtarget system ကိ ုexecute လုပသမဲ ံ command ပဵုစဵပါပ ဲ

Shell,reverse shell , dl injection မ္ာ့ၟကီ့ပါ .. ဒ ီtutorial မလာက္ေနာသတုိ႔ က meterpreter payload

ကိုအသဵု့ခ္မလာၿဖစသပါတယသ

Page 12: Buffer Overflow.pdf

Meterperter ကိ ုအသဵု့ခ္ရနသ set PAYLOAD windows/meterpreter/bind_tcp

Payload optons ပါ target ip နဲ႔ တဌဲေပၚလာပါမယသ

Page 13: Buffer Overflow.pdf

ေနာကသတဆငသံက exploit လုပသမဲံအဆငသ ံၿဖစသပါတယသ

ဒိီတဌကသ command က exploit ပၿဲဖစသပါတယသ .. exploit လို႔ run လို႔ window xp sp2 ဘာညာနဲ႔ၟကလာရငသ

bingo
 . သငှ ဟာ သ ူရဲ ံcmd ကိုထိနသ့ခ္ဳပသနုိငသပါၿပ ိ

xD ေနာကသတဆငသံက ifconfig လို႔ window command ကိ ုbacktrack မ လရိုကသၟကညသံပါ .. ip information

ေတဌကိုေတဌ႕ၿမငသရမလာပါ

Page 14: Buffer Overflow.pdf

ၿပီ့ရငသ dir လို႔ရိကုသခ္ငသ့ၿဖငသ ံ

က ဲဒါဆုိရငသ window command ကိ ုbacktrack နဲ႔ အသဵု့ၿပဳၿပီ့ ေနာကသ ကဌနသၿပဎတာတစသလဵု့ကိ ုလိုသလိ ုထိနသ့

ခ္ဳပသနုိငသသဌာ့ပါၿပီၿဖစသပါတယသ 

Written by rootcreator (သစသရဌကသ)