Skip to main content

Mi az a héjkód?

A ShellCode a gépkód vagy a végrehajtható utasítások sorozata, amelyet egy számítógépes memóriába injektálnak azzal a szándékkal, hogy átvegyék a futó program irányítását.Egy ilyen támadás során az egyik lépés a programszámláló irányításának megszerzése, amely azonosítja a következő végrehajtandó utasítást.A programáramlás ezután átirányítható a beillesztett kódra.A tolakodó gépkódot a támadás hasznos teherének nevezzük, és ez a ShellCode kifejezés által általában hivatkozott elem.Ezt a módszert gyakran használták a támadó hozzáférésének biztosítása érdekében egy operációs rendszer parancs héjának megnyitásával, így a kódinjekciós támadásokat általában ShellCode néven ismerték.a bemeneti adatok és a memória hibáinak kezelése.A szoftverfejlesztők általában elkerülhetik ezt a fenyegetést azáltal, hogy szigorúan meghatározzák a bemeneti adatokat és elutasítják a nem megfelelő értékeket.Ha nem jelölik meg, akkor az értékekre több tárolóhelyre van szükség, mint az értékhöz kiosztott memória.Ez egy puffer túlcsordulásnak nevezett biztonsági nadrágot okoz, ahol az adatok egy részét a hozzárendelt értékek melletti memóriahelyekre írják.Gondos manipuláció esetén ez a rendellenesség lehetővé teszi a tolakodó kód bevezetését.

A ShellCode általában olyan programozási nyelven van írva, amelynek alacsony szintű rendszer-hozzáférése van, például összeszerelés, C vagy C ++.A célzott sebezhetőségtől függően ugyanakkor ugyanazt az eredményt úgy lehet megvalósítani, ha egy értelmezett szkriptnyelv, például a Perl, vagy a virtuális gép bytecode, például a Java bájtja beilleszthető.A kód beültethető a programszámláló eltérítésére, alatt vagy után.Így a tolakodó kódot a célzott gépen lévő fájlban lehet tartalmazni, vagy valós időben továbbíthat egy hálózati kapcsolaton keresztül.

A helyi héjkód -kizsákmányolás célja, hogy a támadó irányítást biztosítson egy olyan gép felett, amelyhez fizikai hozzáféréssel rendelkezik.Ebben az esetben cél lehet például egy fiók létrehozása a rendszergazdai jogosultságokkal.Hasonlóképpen, ha egy futási folyamatnak magas a kiváltsági szintje, akkor a sikeres kizsákmányolás ideiglenesen azonos szintű hozzáférést biztosít a betolakodóhoz.

A távoli gépen futó folyamatok kiaknázhatók a standard hálózati protokollok segítségével, hogy kommunikáljanak a cél számítógéppel.Connect-Back ShellCode utasítja a célgépet, hogy kezdeményezzen kapcsolatot a betolakodók számítógéppel.Ha a betolakodó elindítja a kapcsolatot, akkor a kódot Bindshellnek hívják, mivel megpróbálja átvenni egy hálózati kapcsolat irányítását a távoli gépen.A Connect-Back módszert szélesebb körben alkalmazzák, mivel a tűzfalak ritkán tiltják a kimenő kapcsolatokat.