Exploit ( angolul exploit , exploit ) – számítógépes program , programkódrészlet vagy parancssorozat , amely kihasználja a szoftverek sebezhetőségeit , és számítógépes rendszer megtámadására szolgál. A támadás célja lehet a rendszer feletti irányítás átvétele ( jogkiterjesztés ), vagy működésének megzavarása ( DoS-támadás ).
Vírus programok, játékok, alkalmazások elpusztítására.
A sérülékeny szoftverekhez való hozzáférés módjától függően az exploitokat távolira ( eng. remote ) és helyire ( eng. local ) osztják .
A kizsákmányoló támadások a számítási rendszer különböző összetevőit célozhatják meg – kiszolgálóalkalmazásokat , ügyfélalkalmazásokat vagy operációs rendszer modulokat . A kiszolgáló biztonsági résének kihasználásához a kizsákmányolásnak csak egy rosszindulatú kódot tartalmazó kérést kell generálnia és elküldenie a kiszolgálónak. Az ügyfél sebezhetőségének kihasználása kicsit nehezebb – meg kell győznie a felhasználót, hogy csatlakozzon egy hamis kiszolgálóhoz (egy hivatkozást követve, ha a sebezhető ügyfél böngésző ).
Az exploitokat valójában arra tervezték, hogy harmadik féltől származó műveleteket hajtsanak végre egy sebezhető rendszeren, és a következőképpen oszthatók fel egymás között:
A pivoting kifejezés a számítógépes biztonsági tesztelők által a behatolási tesztek során használt technikára utal , [2] amely egy kompromittált rendszert használ ugyanazon a hálózaton lévő más rendszerek megtámadására, hogy elkerülje azokat a korlátozásokat, például a tűzfalkonfigurációkat , amelyek megtilthatják a közvetlen hozzáférést gépek. Például, ha egy támadó feltör egy webszervert egy vállalati hálózaton, akkor a támadó a feltört webszerver segítségével megtámadhatja a hálózat más rendszereit. Az ilyen típusú támadásokat gyakran réteges támadásoknak nevezik. [3]
A kizsákmányolás forráskód , végrehajtható modulok vagy a biztonsági rés kihasználásának szóbeli leírása formájában terjeszthető. Bármilyen programozási nyelven írható (leggyakrabban használt: C / C++ , Perl , Python , PHP , HTML + JavaScript ) [4] .
A kihasználások az általuk kihasznált sebezhetőség típusa szerint is osztályozhatók, például: puffertúlcsordulás , SQL-befecskendezés , helyeken átívelő szkriptelés , helyek közötti kérés hamisítása stb.
A sérülékenység felfedezésének eredményeként megszerzett információk felhasználhatók egy exploit megírására és a sérülékenység javítására is. Ezért mindkét fél egyformán érdeklődik iránta - mind a feltörő, mind a feltört szoftver gyártója. Ezen információk elosztása határozza meg, hogy a fejlesztőnek mennyi időre van szüksége a javítás kiadása előtt .
Miután a gyártó bezárta a sebezhetőséget, az exploit sikeres alkalmazásának esélye rohamosan csökkenni kezd. Ezért a hackerek körében különösen népszerűek az úgynevezett 0day exploitok, amelyek a közelmúltban megjelent, nyilvánosan még nem ismert sebezhetőségeket használják fel [5] .
Az exploit csomagok egy exploit csomag több program (verzió) számára egyszerre és/vagy a bennük lévő különféle sebezhetőségekre. A csomagok legújabb verzióiban egy exploit kifejezetten egy adott felhasználói programhoz van kiválasztva.
A legtöbb esetben exploit kiteket használnak olyan támadásokhoz, amelyek a böngészők vagy a böngészőbővítmények sebezhetőségeit használják ki ( például a Java , a Flash és a PDF [6] gyakori célpontok ).
Vannak helyi kihasználások is, amelyek jogosultságokat szerezhetnek a támadott rendszerben. Valójában az ilyen készletek is kötegek, de a hacker környezetben ezeket nem tekintik annak, és nem hívják meg.