Skip to main content

Ano ang isang shellcode?

Ang Shellcode ay pagkakasunud -sunod ng code ng makina, o maipapatupad na mga tagubilin, na na -injected sa isang memorya ng computer na may hangarin na kontrolin ang isang tumatakbo na programa.Sa ganitong pag -atake, ang isa sa mga hakbang ay upang makakuha ng kontrol ng counter ng programa, na kinikilala ang susunod na pagtuturo na naisakatuparan.Ang daloy ng programa ay maaaring mai -redirect sa nakapasok na code.Ang panghihimasok na code ng makina ay tinatawag na payload ng pag -atake at ang elemento na karaniwang tinutukoy ng term na shellcode.Ang pamamaraang ito ay madalas na ginagamit upang magbigay ng pag -access sa pag -atake sa pamamagitan ng pagbubukas ng isang shell ng command ng system, kaya ang mga pag -atake ng code injection sa pangkalahatan ay kilala bilang shellcode.ng data ng pag -input at humahawak ng mga error sa memorya.Ang mga developer ng software ay karaniwang maiiwasan ang banta na ito sa pamamagitan ng mahigpit na pagtukoy ng data ng pag -input at pagtanggi sa mga hindi tamang halaga.Kung hindi mapigilan, ang mga halaga na nangangailangan ng mas maraming espasyo sa pag -iimbak kaysa sa memorya na inilalaan para sa halagang iyon ay maaaring tanggapin.Nagdudulot ito ng isang security breech na tinatawag na isang buffer overflow, kung saan ang bahagi ng data ay nakasulat sa mga lokasyon ng memorya na katabi ng mga halagang itinalagang espasyo.Kapag maingat na manipulahin, ang anomalya na ito ay maaaring payagan ang panghihimasok na code na ipakilala.

Ang Shellcode ay karaniwang nakasulat sa isang wika ng programming na may pag-access sa mababang antas tulad ng pagpupulong, C o C ++.Depende sa naka -target na kahinaan, gayunpaman, ang parehong resulta ay maaaring mapagtanto sa pamamagitan ng pagpasok ng code para sa isang isinalin na wika ng script, tulad ng Perl, o bytecode para sa isang virtual machine, tulad ng Java.Ang code ay maaaring itanim bago, sa panahon o pagkatapos ng hijack ng counter ng programa.Kaya, ang panghihimasok na code ay maaaring nakapaloob sa isang file sa naka -target na makina o nailipat sa isang koneksyon sa network sa real time.

Ang mga lokal na pagsasamantala sa shellcode ay idinisenyo upang magbigay ng kontrol sa pag -atake sa isang makina kung saan mayroon siyang pisikal na pag -access.Ang isang layunin sa kasong ito ay maaaring lumikha ng isang account na may mga pribilehiyo ng administrator, halimbawa.Katulad nito, kung ang isang proseso ng pagtakbo ay may mataas na antas ng pribilehiyo, ang isang matagumpay na pagsasamantala ay pansamantalang magbibigay ng parehong antas ng pag -access sa intruder.

Ang mga proseso na tumatakbo sa isang remote machine ay maaaring samantalahin gamit ang mga karaniwang protocol ng network upang makipag -usap sa target na computer.Ang Connect-Back Shellcode ay nagtuturo sa target na makina upang simulan ang isang koneksyon sa computer ng intruders.Kung sinimulan ng intruder ang koneksyon, ang code ay tinatawag na isang bindshell, dahil sinusubukan nitong kontrolin ang isang koneksyon sa network na tinatawag na isang port sa remote machine.Ang pamamaraan ng connect-back ay mas malawak na ginagamit, dahil ang mga firewall ay bihirang pagbawalan ang mga koneksyon sa papalabas.