Súil ar leas a bhaint as leochaileachtaí

Agus mé ag tnúth le leanúint den ábhar seo a phlé, lig dom beagán staire, teoirice agus cleachtais ar leochaileachtaí a insint duit. Chuala muid go léir faoin am seo go bhféadfadh go leor costas a bheith ar lochtanna slándála, tá a fhios againn go léir go gcaithfimid ár mbogearraí a choinneáil suas chun dáta, tá a fhios againn go léir gur fabhtanna slándála is cúis le go leor nuashonruithe. Ach inniu inseoidh mé beagán duit faoin gcaoi a ndéantar na hearráidí seo a aimsiú agus a shaothrú 🙂 Ach roimhe seo táimid chun cúpla mionsonra a shoiléiriú d’fhonn forbhreathnú níos fearr a bheith againn.

Sula dtosaíonn tú

Ar dtús ba mhaith liom a rá leat go bhfuilimid chun díriú ar an gcéad leochaileacht a d’fhoghlaim mé leas a bhaint as, an t-eolas Thar maoil maolánacha, sa leochaileacht seo bainimid leas as easpa fíoraithe sa chuimhne chun rudaí spraíúla a dhéanamh 🙂 Ach déanaimis beagán níos mó a shoiléiriú faoi.

Ní cás fíor-domhain é seo

Ní féidir liom acmhainn a mhúineadh dóibh aon chlár a fheiceann siad a bhriseadh - ar dtús toisc go bhfuil sé contúirteach dá ríomhairí, sa dara háit toisc go dtógfadh sé sin níos mó ná mo ghnáth-chuóta focal.

Téimid ar thuras go dtí na 80idí

An rud a bheidh mé ag taispeáint duit gur féidir liom a dhéanamh ar mo ríomhaire glúine, ach ní chiallaíonn sé gur féidir é a dhéanamh inniu ar bhealach simplí have saothraíodh go leor de na coincheapa seo an oiread sin uaireanta gur tháinig modhanna cosanta nua agus modhanna nua chun iad a imghabháil chun cinn 😛 ach má fhilleann muid ar an áit chéanna, níl aon spás ann a bheith in ann é sin go léir a insint 🙂

B’fhéidir nach n-oibreoidh sé ar do phróiseálaí

Cé go bhfuilim chun sampla an-simplí a úsáid, teastaíonn uaim go mbeadh sé soiléir ón tús go bhfuil na sonraí faoi seo chomh mór agus chomh héagsúil sin go díreach mar is féidir leis teacht amach mar an gcéanna liomsa, más mian leat triail a bhaint as, b’fhéidir nach mbainfear an éifeacht inmhianaithe amach freisin 🙂 Ach is féidir leat a shamhlú nach féidir liom a mhíniú go bhfuil níos mó ná 300 focal tógtha agam cheana féin sa spás seo, go háirithe ós rud é leis an réamhrá seo, agus mar sin téimid díreach go dtí ár bpointe.

Cad é a Thar maoil maolánach

Chun é seo a fhreagairt ní mór dúinn an chéad leath den teaglaim seo a thuiscint ar dtús.

Buffers

Ós rud é go mbaineann gach rud le cuimhne i ríomhaire, tá sé loighciúil go gcaithfidh coimeádán faisnéise de chineál éigin a bheith ann. Nuair a labhraímid faoi ionchuir aschur, tagaimid go díreach le coincheap na maoláin. Chun é a choinneáil gearr, a Maolán Is spás cuimhne é de mhéid sainithe ina mbeimid ag stóráil méid faisnéise, simplí 🙂

Tarlaíonn ró-shreabhadh, mar a thugann an t-ainm le tuiscint, nuair a líonann maolán níos mó faisnéise ná mar is féidir leis a láimhseáil. Ach cén fáth go bhfuil sé seo tábhachtach?

Cruach

Ar a dtugtar cruacha freisin, is cineál teibí sonraí iad inar féidir linn cruachta faisnéis, is é an príomhthréith atá acu ná go bhfuil ordú acu LIFO (Last In First Out). Déanaimis smaoineamh ar feadh soicind faoi chruach plátaí, cuirimid iad ar bharr ceann ar cheann, agus ansin tógann muid amach ceann ar cheann iad ón mbarr, déanann sé seo an pláta deireanach a chuir muid (an ceann atá ag an mbarr) an chéad phláta go bhfuilimid chun é a thógáil amach, ar ndóigh mura féidir linn ach pláta amháin a thógáil amach ag an am agus má shocraíonn muid é a dhéanamh san ord sin: P.

Anois go bhfuil an dá choincheap seo ar eolas agat, ní mór dúinn iad a chur in ord. Tá cruacha tábhachtach mar tá a chlár féin ag gach clár a reáchtáilimid cruachta forghníomhaithe. Ach tá a tréith ar leithfásann síos. Is é an t-aon rud atá uait faoi seo ná, cé go bhfuil clár ar siúl, nuair a ghlaoitear feidhm, go dtéann an chruach ó uimhir X sa chuimhne go huimhir (Xn). Chun leanúint ar aghaidh ní mór dúinn coincheap amháin eile a thuiscint.

Leideanna

Is coincheap é seo a chuireann go leor ríomhchláraitheoirí ar mire nuair a thosaíonn siad i saol C, i ndáiríre tá cumhacht mhór ríomhchlárú C mar gheall go páirteach ar úsáid leideanna. Chun é a choinneáil simplí, pointeoir pointí chuig seoladh cuimhne. Fuaimeann sé seo casta, ach níl sé casta, tá RAM againn go léir inár meaisíní, ceart? Bhuel, is féidir é seo a shainiú mar socrú i ndiaidh a chéile bloic, de ghnáth cuirtear na suíomhanna seo in iúl i líon heicsidheachúlach (ó 0 go 9 agus ansin ó A go F, mar shampla 0x0, 0x1, 0x6, 0xA, 0xF, 0x10). Seo mar nóta aisteach, 0x10 NÍL cothrom le 10 😛 má dhéanaimid é a thiontú go ord deachúlach bheadh ​​sé mar an gcéanna le rá 15. Seo rud a chuireann mearbhall ar níos mó ná ceann amháin ar dtús, ach déanaimis é a dhéanamh.

Taifid

Oibríonn na próiseálaithe le roinnt taifid, a oibríonn chun láithreacha a tharchur ó chuimhne fhisiciúil chuig an bpróiseálaí, le haghaidh ailtireachtaí a úsáideann 64-giotán, tá líon na gclár mór agus deacair cur síos a dhéanamh orthu anseo, ach chun an smaoineamh a fháil, tá na cláir cosúil le leideanna, tugann siad le fios i measc nithe eile. rudaí, spás cuimhne (suíomh).

Anois cleachtadh

Tá a fhios agam go raibh sé an-chuid faisnéise a phróiseáil go dtí seo, ach i ndáiríre is saincheisteanna casta iad a dhéanaim iarracht a mhíniú ar bhealach an-simplí, táimid chun clár beag a fheiceáil a úsáideann maoláin agus táimid chun é a bhriseadh chun é seo a thuiscint faoi thar maoil, is léir nach bhfuil an ceann seo Is clár fíor é, agus táimid chun “seachaint” a dhéanamh ar go leor de na frithbhearta a úsáidtear inniu, díreach chun a thaispeáint conas a rinneadh rudaí roimh 🙂 agus toisc go bhfuil cuid de na prionsabail sin riachtanach le go mbeimid in ann rudaí níos casta a fhoghlaim 😉

GDB

Clár iontach atá, gan amhras, ar cheann de na cinn is mó a úsáideann ríomhchláraitheoirí C. I measc a bhuanna iomadúla tá an fhíric againn go dtugann sé deis dúinn é seo go léir a raibh muid ag caint air go dtí seo a fheiceáil, cláir, an chruach, maoláin, srl. 🙂 Feicfimid an clár atáimid ag úsáid mar shampla.

athchur.c

Féin. Christopher Diaz Riveros

Is clár measartha simplí é seo, táimid chun an leabharlann a úsáid stdio.h a bheith in ann faisnéis a fháil agus í a thaispeáint i gcríochfort. Is féidir linn feidhm ar a dtugtar a fheiceáil return_input a ghineann a Maolán dtugtar eagar, a bhfuil fad 30 aige bytes (tá an cineál sonraí charr 1 bheart ar fhad).

An fheidhm gets(array); faisnéis a iarraidh de réir consól agus feidhm printf() cuireann sé ábhar eagar ar ais agus taispeánann sé é ar an scáileán.

Tosaíonn gach clár a scríobhtar i C leis an bhfeidhm main(), ní bheidh sé seo i gceannas ach ar return_input a ghlaoch, anois táimid chun an clár a chur le chéile.

Féin. Christopher Diaz Riveros

Gabhaimis beagán den rud a rinne mé díreach. An rogha -ggdb insíonn gcc go gcaithfidh sé an clár a chur le chéile le faisnéis le go mbeidh gdb in ann dífhabhtú i gceart. -fno-stack-protector Is rogha é nár cheart dúinn a bheith á úsáid i ndáiríre, ach go bhfuilimid chun úsáid a bhaint as mar gheall ar shlí eile bheifí in ann an ró-shreabhadh maolánach a ghiniúint sa chruach. Sa deireadh rinne mé tástáil ar an toradh. ./a.out ní ritheann sé ach an méid a thiomsaigh mé, iarrann sé faisnéis agus cuireann sé ar ais é. Ag rith 🙂

Rabhaidh

Nóta eile anseo. An bhfeiceann tú na rabhaidh? is léir gur rud é atá le cur san áireamh agus muid ag obair le cód nó le chéile, tá sé seo rud beag follasach agus is beag clár a bhfuil an fheidhm acu inniu gets() Sa chód. Buntáiste amháin a bhaineann le Gentoo ná trí gach clár a chur le chéile, go bhfeicim cad a d’fhéadfadh a bheith mícheart, níor cheart go mbeadh clár “idéalach” acu, ach chuirfeadh sé iontas ort an méid clár mór a bhfuil na rabhaidh seo acu toisc nach bhfuil siad ach an-mhór agus go bhfuil sé deacair súil a choinneáil orthu. feidhmeanna contúirteacha nuair a bhíonn go leor rabhaidh ann ag an am céanna. Anois má leanaimid ar aghaidh

Dífhabhtú an chláir

Féin. Christopher Diaz Riveros

Anois, is féidir leis an gcuid seo a bheith beagáinín mearbhaill, ach ós rud é go bhfuil go leor scríofa agam cheana féin, ní féidir liom gach rud a mhíniú, mar sin brón orm má fheiceann tú go bhfuilim ag dul ró-thapa 🙂

An cód a dhí-armáil

Tosaímid trí bhreathnú ar ár gclár teanga meaisín tiomsaithe.

Féin. Christopher Diaz Riveros

Is é seo cód ár bpríomhfheidhm i Tionól, seo a thuigeann ár bpróiseálaí, is é an líne ar chlé an seoladh fisiceach i gcuimhne, an <+ n> ar a dtugtar fhritháireamh, go bunúsach an fad ó thús na feidhme (príomh) go dtí an ráiteas sin (ar a dtugtar opchód). Ansin feicimid an cineál teagaisc (push / mov / callq…) agus clár amháin nó níos mó. Achoimrithe is féidir linn a rá gurb é an tásc a leanann an foinse / tionscnamh agus an ceann scríbe. <return_input> tagraíonn sé don dara feidhm atá againn, déanaimis féachaint.

Tuairisceán_ionchur

Féin. Christopher Diaz Riveros

Tá sé seo beagán níos casta, ach níl uaim ach go ndéanfaidh tú cúpla rud a sheiceáil, tá tag ar a dtugtar <gets@plt> agus opcode deireanach amháin ar a dtugtar retq ag léiriú deireadh na feidhme. Táimid chun cúpla briseadh a chur, ceann san fheidhm gets agus ceann eile sa retq.

Féin. Christopher Diaz Riveros

Rith

Anois táimid chun an clár a reáchtáil le feiceáil conas a thosaíonn an gníomh.

Féin. Christopher Diaz Riveros

Is féidir linn a fheiceáil go bhfuil saighead bheag le feiceáil ag léiriú an opcode ina bhfuil muid, ba mhaith liom go gcuirfeadh siad an treo san áireamh 0x000055555555469b, seo an seoladh tar éis an ghlao chuig return_input i bhfeidhm main , tá sé seo tábhachtach mar is é seo an áit ar chóir don chlár filleadh nuair a chríochnóidh tú an ionchur, déanaimis dul isteach ar an bhfeidhm. Anois táimid chun an chuimhne a sheiceáil sula dtéann tú isteach san fheidhm gets.

Féin. Christopher Diaz Riveros

Chuir mé an phríomhfheidhm ar ais duit, agus leag mé béim ar an gcód a raibh mé ag tagairt dó, mar a fheiceann tú, mar gheall ar an diamhracht Tá sé deighilte ina dhá mhír, ba mhaith liom go gcuirfeá an treo san áireamh 0x7fffffffdbf0 (an chéad cheann ón taobh clé i ndiaidh an commando x/20x $rsp) ós rud é gurb é seo an áit a gcaithfimid a úsáid chun torthaí na dtorthaí a sheiceáil, leanaimis ar aghaidh:

An clár a bhriseadh

Féin. Christopher Diaz Riveros

Chuir mé béim orthu sin 0x44444444toisc gurb iad ionadaíocht ár Ds 🙂 anois táimid tosaithe ag cur leis ionchur chuig an gclár, agus mar a fheiceann tú, níl muid ach dhá líne ón seoladh atá uainn, táimid chun é a líonadh go dtí go mbeidh muid díreach roimh na seoltaí a thugamar suntas dóibh sa chéim roimhe seo.

An cosán fillte a athrú

Anois agus gur éirigh linn an chuid seo den chód a iontráil sa chás go dtugann sé le fios go bhfuil an fheidhm ar ais, feicfimid cad a tharlóidh má athraímid an seoladh 🙂 in ionad dul go suíomh an opcode a leanann an ceann a bhí againn nóiméad ó shin, cad a cheapann tú má théimid ar ais chuig return_input? Ach chuige seo, is gá an seoladh a theastaíonn uainn go dénártha a scríobh, táimid chun é a dhéanamh leis an bhfeidhm printf ó bash 🙂

Féin. Christopher Diaz Riveros

Anois fuaireamar an fhaisnéis faoi dhó 😀 is cinnte nach ndearnadh an clár chuige sin, ach d’éirigh linn an cód a bhriseadh agus a dhéanamh arís rud nach raibh sé ceaptha a dhéanamh.

Machnaimh

Is féidir an t-athrú simplí seo a mheas a leas a bhaint as an-bhunúsach 🙂 d’éirigh leis an clár a bhriseadh agus rud a dhéanamh a theastaíonn uainn a dhéanamh.

Níl anseo ach an chéad chéim i liosta beagnach gan teorainn de rudaí le feiceáil agus le cur leis, tá bealaí ann chun níos mó rudaí a chur leis ná ordú a athrá, ach an uair seo tá go leor scríofa agam agus gach rud a bhaineann leis sliogán is ábhar é níos mó ná ailt a scríobh, leabhair iomlána a déarfainn. Tá brón orm mura raibh mé in ann beagán níos mó a iniúchadh ar ábhair a thaitneodh liom, ach is cinnte go mbeidh seans ann 🙂 Beannachtaí agus buíochas as teacht anseo.


Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

14 trácht, fág mise

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú.

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.

  1.   2p2 a dúirt

    Bí níos dírí. Scríobh níos lú agus dírigh ar a bhfuil tábhachtach

    1.    ChrisADR a dúirt

      Dia duit, go raibh maith agat as an trácht.

      Chun an fhírinne a rá, tá cuid mhaith smaointe gearrtha agam, ach mar sin féin ba chuma liomsa gur fhág sé an t-íosmhéid ionas gur féidir le duine nach bhfuil eolas cláraithe aige smaoineamh a fháil.

      Maidir is

      1.    Anonymous a dúirt

        Is í an fhadhb atá ann ná nach bhfaighidh na daoine sin nach bhfuil eolas cláraithe acu eolas ar rud ar bith toisc go bhfuil sé ró-chasta i dtosach, ach is mór acu siúd a bhfuil aithne acu ar an gclár a bheith níos dírí.

        Buille faoi thuairim mé nach féidir leat gach duine a bhaint amach, caithfidh tú rogha a dhéanamh, agus sa chás seo pheacaigh tú ag iarraidh go leor a chlúdach.

        Dála an scéil, deirim leat mar cháineadh cuiditheach, is breá liom na hábhair seo agus ba mhaith liom go leanfá ar aghaidh ag scríobh altanna, comhghairdeas!

    2.    Anonymous a dúirt

      I mo thuairimse, mar an gcéanna.

      1.    ChrisADR a dúirt

        Go raibh míle maith agat beirt! is cinnte go bhfuil sé deacair a thuiscint conas an spriocghrúpa a bhaint amach nuair is í an fhírinne gur beag an líon daoine a bhfuil ardleibhéal clár acu a léann na hailt seo (ar a laghad is féidir é sin a thátal bunaithe ar na tráchtanna)

        Is cinnte gur pheacaigh mé ó bheith ag iarraidh rud a shimpliú a éilíonn bonn eolais leathan a thuiscint. Tá súil agam go dtuigeann tú, agus mé díreach ag tosú sa bhlagáil seo, nár aimsigh mé an pointe cruinn go fóill ina bhfuil a fhios ag mo léitheoirí agus a bhfuil á rá agam. D’fhágfadh sé sin go mbeadh sé i bhfad níos éasca an fhírinne a rá 🙂

        Déanfaidh mé iarracht a bheith níos giorra nuair is fiú é gan an fhormáid a dhíphearsanú, ós rud é go bhfuil an bealach scríbhneoireachta a scaradh ón ábhar rud beag níos casta ná mar a shamhlófá, tá nasc sách maith agam leo ar a laghad, ach is dóigh liom go mbeidh mé in ann línte a chur isteach sa deireadh. in ionad ábhar a ghearradh.

        Maidir is

  2.   Mario a dúirt

    Cá bhféadfá tuilleadh a fháil amach faoin ábhar? Aon leabhar molta?

    1.    ChrisADR a dúirt

      Tógadh an sampla ó Lámhleabhar Shellcoder le Chris Anley, John Heasman, Felix Linder agus Gerardo Richarte, ach d’fhonn an t-aistriúchán 64-giotán a dhéanamh b’éigean dom foghlaim faoi m’ailtireacht, is é an lámhleabhar forbróra intleachta, imleabhair 2 agus 3 a foinse iontaofa go leor chuige sin. Is maith freisin cáipéisíocht GDB a léamh, a thagann leis an ordú ‘info gdb’, Chun Tionól agus C a fhoghlaim tá go leor leabhar an-mhaith ann, ach amháin go bhfuil leabhair an Tionóil rud beag sean agus mar sin tá bearna le líonadh le ceann eile doiciméadú cineáil.

      Níl an sliogán féin chomh héifeachtach a thuilleadh na laethanta seo ar chúiseanna éagsúla, ach tá sé suimiúil fós teicnící nua a fhoghlaim.

      Tá súil agam go gcabhróidh sé le beagán 🙂 Beannachtaí

  3.   Franz a dúirt

    Alt maith, atógadh an seanbhlag desdelinux =)
    Nuair a deir tú nach bhfuil iargúlta bhlaosc chomh héifeachtach sin, ciallaíonn tú frithbhearta atá deartha chun ionsaithe a mhaolú, glaonn siad slándáil ionsaitheach air.
    Beannachtaí agus coinnigh suas é

    1.    ChrisADR a dúirt

      Go raibh míle maith agat Franz words focail an-chineálta, i ndáiríre chiallaigh mé go bhfuil Shellcoding inniu i bhfad níos casta ná mar a fheicimid anseo. Tá an ASLR againn (gineadóir suíomh cuimhne randamach) an cosantóir cruachta, na bearta agus na frithbhearta éagsúla a chuireann teorainn le líon na n-opcóidí is féidir a instealladh i gclár, agus níl ann ach an tús.

      Mhéin,

  4.   bogearraí saor in a dúirt

    Dia duit, an ndéanfaidh tú cuid eile ag leathnú an ábhair? Tá sé suimiúil

    1.    ChrisADR a dúirt

      Dia duit, is cinnte go bhfuil an topaic suimiúil go leor, ach d’éireodh an leibhéal castachta a thógfaimis an-ard, is dócha go mbeadh líon mór post ann chun na réamhriachtanais éagsúla a mhíniú chun an ceann eile a thuiscint. Is dócha go scríobhfaidh mé faoi, ach ní na poist seo a leanas a bheidh ann, ba mhaith liom cúpla ábhar a scríobh sula leanfaidh mé ar aghaidh leis seo.

      Beannachtaí, agus buíochas as a roinnt

  5.   cactus a dúirt

    An-mhaith che! Tá tú ag cur poist iontacha! Ceist amháin, táim ag cur tús leis an rud Slándála TF seo trí leabhar darb ainm "Assuring security by pen Test" a léamh. An moltar an leabhar seo? Conas a mholann tú go dtosóinn ag fiosrú faoi na saincheisteanna seo?

    1.    ChrisADR a dúirt

      Dia duit cactus, is cruinne iomlán é faoi leochaileachtaí, agus eile, chun an fhírinne a rá braitheann sé go leor ar an rud a ghlacann d’aird, agus ar na riachtanais atá agat, ní gá go mbeadh a fhios ag bainisteoir TF mar an gcéanna le tástálaí peann, Nó imscrúdaitheoir leochaileachta, nó anailísí fóiréinseach, tá tacar scileanna an-difriúil ag foireann téarnaimh tubaiste. Gan amhras teastaíonn leibhéal difriúil eolais theicniúil ó gach ceann acu, molaim duit tosú ag fáil amach go díreach cad is maith leat, agus tús a chur le leabhair, ailt agus eile a chaitheamh, agus is tábhachtaí, gach rud a léann tú a chleachtadh, fiú má tá sé as dáta , déanfaidh sé sin difríocht sa deireadh.
      Mhéin,

  6.   Eizen a dúirt

    Dia duit.
    Go raibh míle maith agat as an ábhar seo a mhíniú, chomh maith le trácht a dhéanamh go bhfuil "Lámhleabhar Shellcoder" againn le haghaidh faisnéise breise. Tá léamh ar feitheamh agam cheana 😉

bool (fíor)