Beruflich Dokumente
Kultur Dokumente
B`fery nxpIj`tet`jf emeIed snbued prjsns lnlefaeetcef cnInledef mer` suetu b`fery snbege` cnuftufgef
uftuc pnfynrefg.
B`fery nxpIj`tet`jf emeIed snbued prjsns lnfggufecef suetu a`tur mnfgef oere yefg t`mec snlnst`fye
eger a`tur tnrsnbut t`mec bncnrje mnfgef snlnst`fye.
B`fery nxpIj`tet`jf bncnrje mnfgef pr`fs`p lnfggufecef bug eteu cnInledef yefg tnrmepet peme
snbued epI`ces`, uftuc lnfynbebcef cnjem`ef yefg t`mec tnreft`s`pes` jInd mnvnIjpnr eteu pnlbuet
epI`ces` tnrsnbut
LAYOUT MEMORY
Uftuc lnlpnIejer` B`fery NxpIj`t, lece c`te derus lnfgnfeI muIu Ieyjut lnljry mer` b`fery
meIel deI `f` meIel bnftuc NIA (NxnoutebIn efm I`fcebIn Ajrlet). Cernfe cnt`ce lnfjeIefcef
snbued b`fery, b`fery tnrsnbut ecef m`-ijem cn meIel lnljry. Lnljry `f`
jbungrerbt``sperjms`nbsegn`ccsnpI2j`jtnefs`sf,y3e2e-bce`tfmelfn1f4je-mb``tb,
Bnrmesercef gelber m`etes, Ieyjut lnljry b`fery 32-b`t tefpe prjtncs` ESIR (Emmrnss Speon
Ieyjut Refmjl`zet`jf) tnrm`r` mer` snglnf snbege` bnr`cut;
5. Snglnf NIA
e. Snglnf .tnxt
Bnr`s` `fstrucs` `fstrucs` l`I`c b`fery (NIA) meIel bedese essnlbIy. ojftjd; ljv
nex,2
b. Snglnf .mete
Bnr`s` ver`ebnI-ver`ebnI gIjbeI peme b`fery yefg m``f`s`es`cef.
o. Snglnf .bss
Bnr`s` ver`ebnI-ver`ebnI gIjbeI peme b`fery yefg t`mec m``f`s`es`cef.
2. Dnep
]nlpet pnfy`lpefef mete m`fel`s, yefg b`esefye m`gufecef cnt`ce lnlbuet snbued
jbjnc beru, mef eteu aufgs` leIIjo() m`pefgg`I. MeIel pnlbnftuceffye,
3. d n e p m` lu Ie` mer` emmrnss yefg t`fgg` cn yefg Inb`d rnfmed (cn bewed).
S te o c
]nlpet pnfy`lpefef ver`ebIn IjceI meIel suetu aufgs`, tnrlesuc urutef pnlefgg`Ief
aufgs`fye. MeIel pnlbnftuceffye, steoc m`luIe` mer` emmrnss yefg rnfmed cn yefg
Inb`d t`fgg` (cn etes).
4. Ergv , Nfv`rjflnft ver`ebIn
]nlpet m`s`lpeffye Ergv (Xerelntnr yefg m`bnr`cef cn b`fery), mef Nfv`rjflnft
Qer`ebIn (ver`ebnI-ver`ebnI yefg m`l`I`c` jInd JS yefg lnfgncsncus` b`fery)
>. CnrfnI Speon
Beg`ef lnljry yefg m`cdususcef uftuc cnrfnI, snd`fgge t`mec b`se m`gufecef jInd
b`fery
Xeme prjsns b`fery nxpIj`t, yefg ecef c`te efeI`se b`esefye emeIed snglnf Dnep mef Steoc.
]ep` sumed pest` ecef eme b`fery yefg m`prjtncs` jInd ESIR. DeI `f` lnfynbebcef t`fgcet
cnsuI`tef meIel ncspIj`tes` bnrtelbed.
ESIR(Emmrnss Speon Ieyjut Refmjl`zet`jf) emeIed seIed setu jnf`s prjtncs` yefg tnrmepet
peme b`fery. Oere cnrjefye emeIed mnfgef lnlbnr`cef jaasnt yefg f`Ie`fye refmjl snbnIul
emmrnss eweI dnep mef steoc. Snd`fgge emmrnss pjs`s` mete eteu ver`ebIn m` dnep mef steoc
`tu lnfjem` t`mec tntep, yefg lnfyuI`tcef prjsns ncspIj`tes`
SnIe`f lnfgntedu` Ieyjut lnljry, c`te juge derus lnfgntedu` Ieyjut peme steoc. L`seIcef
peme snbued b`fery, tnrmepet aufgs` le`f yefg lnlefgg`I snbued aufgs` yefg urutef
`fstrucs`fye emeIed; aufgs`(perel 5, perel 2 ,perel f)
eIelet `fstrucs`
v Xusd 9perelntnr f6
w Xusd 9perelntnr 26
x Xusd 9perelntnr 56
y OeII 9aufgs`6
z ...
S`aet steoc emeIed lnfg`s` mer` rnfmed cn yefg Inb`d t`fgg`, jem` perelntnr f ecef m`lesuccef m`
steoc peI`fg rnfmed, IeIu perelntnr 2, IeIu perelntnr 5.
Snmefgcef cnt`ce oeII 9aufgs`6 m`jeIefcef, juge ecef m`Iecucef pusd cn meIel steoc, tep` yefg
m` pusd cn meIel steoc emeIed eIelet yefg ecef m`ncsncus` sntnIed prjsns oeII, meIel deI `f`
eIelet z. Eger sntnIed aufgs` snInse` m`ncsncus`, prjgrel ecef m`Iefjutcef cn eIelet tnrsnbut.
SntnIed lesuc cnmeIel aufgs`, b`fery ecef lnlbnftuc steoc areln beru, ye`tu steoc snlnftere yefg
ecef m`gufecef defye uftuc aufgs` `tu snfm`r`. Oerefye emeIed mnfgef lnlbuet meser mer` steoc
areln tnrsnbut mnfgef lnIecucef pusd EBX (besn pj`ftnr). Xeme eweIfye f`Ie` NSX ecef sele
mnfgef NBX. Feluf, cnt`ce perelntnr perelntnr yefg m`butudcef aufgs` yefg sumed eme m`
steoc ecef m` pusd cn meIel steoc areln, F`Ie` NSX ecef fe`c, snd`fgge NBX lnfjem` betes
bewed steoc areln. Mef NSX lnfjem` betes etes steoc areln.
9- pusd 9perelntnr 56
9- pusd 9perelntnr 26
9- pusd 9perelntnr f6
Ieyjut steoc l`I`c b`fery 14-b`t, snm`c`t bnrbnme mnfgef l`I`c b`fery 32-b`t. Cnt`ce b`fery
32-b`t lnlesuccef perelntnr perelntnr aufgs` yefg ecef m`gufecef aufgs` yefg m`pefgg`I
cn meIel steoc, b`fery 14-b`t lnIecucefye mnfgef oere lnlesucef perelntnr tnrsnbut cn
meIel rng`stnr snpnrt` RM@, RS@ mef Ie`ffye lnfggufecef
`fstrucs` ljv. Ojftjd;
Mjv rm` , 9perelntnr 56
Mjv rs` , 9perelntnr 26
.
.
OeII 9aufgs`6
Bnr`cut emeIed bnbnrepe tjjIs leupuf pIug`f yefg snr`fg m`gufecef meIel b`fery nxpIj`t.
M@SASSEMBLER / MEBUGGER
Uftuc lnfgefeI`se b`fery. Bnbnrepe tjjIs yefg pnfuI`s gufecef emeIed;
5. @MA
@f` mepet m`gufecef uftuc m`sessnlbIy eteu mnbugg`fg. Qnrs` gret`sfye mepet m`
mjwfIjem m` s`f` . vnrs` arnnfye defye b`se m`gufecef uftuc b`fery 14-b`t
2. B@FARY F@FKA
Aufgs`fye t`mec jeud bnrbnme mnfgef @ME, feluf uftuc lnIecucef petod`fg m` b`fery, Inb`d
lumed m`Iecucef mnfgef tjjI `f`. Qnrs` gret`s/mnlj fye mepet m` mjwfIjem m` s`f` . vnrs` mnlj
defye b`se m`gufecef uftuc b`fery 32-b`t
3. GMB-XEMA
@f` emeIed pIug`f mer` gmb, yefg lnlbuet gmb Inb`d bnrwerfe mef lumed uftuc m`
gufecef. M` I`fux, j`ce bnIul eme Iefgsufg mepet m` elb`I mer` rnpjs`tjry, mnfgef
ojllefm sumj ept-gnt `fsteII gmb.
K`ce sumed pufye, stnp pnfg`fsteIef fye b`se m` I`det m` s`f`
Uftuc oere lnfggufeceffye, mepet m`I`det peme MjmuI Rnvnrsn Efg`fnnr`fg
4. RAMARE2
@f` emeIed arelnwjrc yefg m`gufecef uftuc rnvnrsn-nfg`fnnr`fg mef efeI`s`s b`fery. Remern2 juge
lnl`I`c` befyec ut`I`ty yefg mepet m`gufecef snoere `fmnpnfmnf. Remern2
`f` bnrbes`s OI@ (Ojllefm I`fn @ftnraeon)
XYTDOF
Uftuc lnlbuet sor`pt. Xeme JS I`fux, b`se m``fsteII mnfgef ojllefm sumj ept-gnt `fsteII
pytdjf2. B`esefye sor`pt m`buet mnfgef pytdjf vnrs` 2
XWFTOOLS
LjmuIn pytdjf yefg ecef snr`fg m`gufecef uftuc b`fery nxpIj`t. Cnt`ce sumed lnfg`fsteII pytdjf,
`fsteII pwftjjIs mnfgef ojllefm sumj p`p `fsteII pwftjjIs.
Oere pnlece`effye b`se m`pnIejer` m` s`f`
ROXGAMGET
]jjI yefg m`gufecef uftuc lnfoer` gemgnt-gemgnt peme lntjmn Rnturf Jr`nftnm Xrjgrell`fg yefg
ecef m`bedes feft`fye
PROTEKSI
Cnt`ce lnIecucef b`fery nxpIj`t, c`te ecef lnfnlucef bnbnrepe jnf`s prjtncs` yefg m`tnrepcef peme
b`fery, bnbnrepe m`efterefye emeIed
1. CANARY
Oefery emeIed prjtncs` yefg lnlest`cef t`mec tnrjem`fye buaanr jvnraIjw peme b`fery
2. NX
FT emeIed prjtncs` yefg lnlbuet steoc mepet m` ecsns, tep` t`mec mepet m`ncsncus`.
Snd`fgge t`mec lufgc`f lnIecucef sdnIIojmn `fjnot`jf cnmeIel steoc IeIu lnfgncsncus`fye.
3. FORTIFY
Ajrt`ay emeIed prjtncs` yefg lnlest`cef t`mec mepet tnrjem`fye ajrlet str`fg etteoc peme b`fery
BUFFER OVERFLOW
SntnIed lnledel` tnftefg Ieyjut steoc, c`te tedu, bedwe f`Ie` f`Ie` perelntnr yefg eme peme suetu aufgs`
ecef m`Inteccef bnrmncetef cnt`ce m`lesuccef m` steoc. DeI `f` Ied yefg ecef c`te lefaeetcef uftuc
lnIecucef buaanr jvnraIjw nxpIj`t.
L`seI;
Xeme snbued b`fery 32-b`t, eme snbued aufgs` yefg lnlbutudcef 2 perelntnr uftuc lnfjeIefcef
aufgs` tnrsnbut. Efggep seje perelntnr 5 f`Ie`fye emeIed 8 mef perelntnr 2 emeIed snbued errey ja
oder yefg pefjefgfye 4 nInlnf mef `s`fye emeIed EBOMNAGD. Lece cnt`ce lesuc cn meIel aufgs`
tnrsnbut, cnemeef steocfye curefg Inb`d snpnrt` `f`.
Xerelntnr 2
Yx44(M) Yx43(O) Yx42(B) Yx45(E)
Emmrnss; x
Yx44(D) Yx47(G) Yx41(A) Yx4>(N)
IeIu epe yefg tnrjem` ceIeu c`te bnr` `fput Inb`d mer` 4 nInlnf: Ojftjdfye EBOMNAGD@KCI
Pefg tnrjem` emeIed perelntnr 2 ecef tntep lnlesuccef snlue `fput l`I`cfye, snd`fgge lnfgec`betcef
f`Ie` perelntnr 5 tnr-jvnrwr`tn. @f`Ied yefg m`felecef mnfgef Buaanr OvnraIjw.
Iet`def5
B`fery; steoc8
SntnIed lnlbeoe mef lnledel` prjgrel o `f`, yefg ecef c`te Iecucef emeIed lnljm`a`ces` f`Ie`
mer` ljm`a`nm lnfjem` f`Ie` epepuf snIe`f 8. Ler` c`te efeI`s`s lnfggufecef gmb.
K`ce m` ojojccef mnfgef sjuronojmn yefg tnrsnm`e, lece `ft ljm`a`nm `f` ecef sele mnfgef ljv
MWORM PTR Snsp+8x>o\,8x8 yefg bnrert` ljm`a`nm sele mnfgef Snsp+8x>o\. Mef gnts(buaanr)
ecef sele mnfgef oeII 8x484438o 9gntsHpIt6, mnfgef perelntnr buaanr yefg sele mnfgef
Snsp+8x>o\.
nsp
.
nsp+8x5o
nsp+8x>o
SeIed setu aufot`jf yefg mepet lnfgec`betcef tnrjem`fye buaanr jvnraIjw emeIed gnts, yefg lnlbuet c`te
mepet lnlesuccef `fput snpefjefg epepuf cn meIel steoc.
Cernfe b`se tnrjem` buaanr jvnraIjw, sncerefg c`te ecef lnfojbe uftuc lnfggeft` f`Ie` mer`
ljm`a`nm, yefg bnreme m` bewed buaanr m` steoc. Oerefye emeIed mnfgef lnfgd`tufg pefjefg
`fput yefg m`butudcef uftuc lnfoepe` emmrnss ljm`a`nm, ye`tu 8x>o-8x5o<8x48<14 mns`leI.
Berarti kita akan memasukkan input sepanjang 64 karakter, ditambah dengan niIai untuk modified.
Gunakan python
stack:
esp
Bagaimana jika kita harus mengganti niIai modified menjadi niIai tertentu serta memakai jenis inputan
yang berbeda?
Iatihan2
Binary:stack1
stack1
(stack1.c)
'
SeteIah memahami program ini, dapat disimpuIkan bahwa kita harus mengganti niIai modified menjadi
0x61626364. KaIau yang tadi kita memasukkan input didaIam binary, stack1 ini memasukkan inputan
berupa argumen.
Karena kita ingin membuat niIai modified menjadi 0x61626364, kita harus memberi inputan tiap byte
daIam IittIe-endian. Sehingga bentuknya akan menjadi \x64\x63\x62\x61.
Gunakan python.
Untuk inputan yang berupa argumen ini, gunakan simboI h (di bawah esc keyboard UWNR]P) untuk
menjaIankan command bash di argumen
Iatihan3:
Binary:stack2
stack2
Pada binary ini, vuInerabiIity nya terdapat pada stropy(buffer,veriebIe),sehingga kita akan
menggunakan variabeI veriebIe untuk meIakukan buffer overfIow. NiIai veriebIe diperoIeh dari fungsi
getefv(’GREENIE“), yaitu mengambiI environment variabIe yang bernama GRNNN@N dari JS
masing masing.
Kondisi stacknya juga sama dengan yang sebeIumnya, yaitu 64 karakter ditambah niIai byte untuk
mengubah modified, yaitu \x0a\x0d\0x0a\x0d
Untuk meIihat environment variabIe apa saja yang ada di JS Iinux masing masing, gunakan command
efv.
Kita juga bisa menambahkan environment variabIe sendiri, dengan menggunakan command
export.
RETURN ORIENTEM PROGRAMMING (ROP)
RJP adaIah jenis expIoit yang memanfaatkan return address yang di simpan pada stack, untuk mengubah
aIur berjaIannya program sesuai keinginan penyerang.
NxpIoit ini dapat diIakukan dengan beberapa cara, saIah satunya adaIah dengan menggunakan
buffer overfIow. Kika sebeIumnya yang kita overwrite adaIah niIai sebuah variabIe, maka yang kita
overwrite sekarang adaIah return address yang disimpan pada stack
9-yang itu
Oaranya kurang Iebih sama, yaitu mencari address stack disimpannya return address, dan
mencari address stack variabIe yang akan di expIoit.
Iatihan3:
Binary:stack4
stack4
Pang akan kita Iakukan adaIah membuat aIur program berubah, dari yang awaInya start-6fungsi main-6
Karena semua data sudah berhasiI kita ambiI, sekarang saatnya kita membuat script expIoit.
Sekarang saya akan memakai pytdof dan moduIenya, pwftooIs.
Mef cnt`ce sor`pt m`jeIefcef,