Exploit ( engelska exploit , exploit) - ett datorprogram , en bit programkod eller en sekvens av kommandon som utnyttjar sårbarheter i programvara och används för att attackera ett datorsystem. Målet med en attack kan antingen vara att ta kontroll över systemet ( privilegieupptrappning ) eller att störa dess funktion ( DoS-attack ).
Virus för att förstöra program, spel, applikationer.
Beroende på metoden för att få åtkomst till sårbar programvara delas utnyttjande in i fjärr ( eng. remote ) och lokal ( eng. local ).
En exploateringsattack kan riktas mot olika komponenter i ett datorsystem – serverapplikationer , klientapplikationer eller operativsystemmoduler . För att utnyttja en serversårbarhet behöver en exploatering bara generera och skicka en begäran som innehåller skadlig kod till servern. Att utnyttja en klientsårbarhet är lite svårare - du måste övertyga användaren att ansluta till en falsk server (följa en länk om den sårbara klienten är en webbläsare ).
Exploater är faktiskt utformade för att utföra tredjepartsåtgärder på ett sårbart system och kan delas upp sinsemellan enligt följande:
Termen pivotering syftar på en teknik som används av datorsäkerhetstestare i penetrationstester , [2] som använder ett komprometterat system för att attackera andra system på samma nätverk för att undvika restriktioner, såsom brandväggskonfigurationer , som kan förbjuda direkt åtkomst till alla maskiner. Till exempel, om en angripare kompromitterar en webbserver på ett företagsnätverk, kan angriparen sedan använda den intrångade webbservern för att attackera andra system i nätverket. Dessa typer av attacker kallas ofta för skiktade attacker. [3]
Exploateringen kan distribueras i form av källkod , körbara moduler eller en verbal beskrivning av utnyttjandet av sårbarheten. Det kan skrivas i vilket programmeringsspråk som helst (vanligast: C / C++ , Perl , Python , PHP , HTML + JavaScript ) [4] .
Exploater kan också klassificeras efter vilken typ av sårbarhet de utnyttjar, såsom: buffertspill , SQL-injektion , cross site scripting , cross site request forgery , etc.
Informationen som erhålls som ett resultat av upptäckten av en sårbarhet kan användas både för att skriva en exploatering och för att åtgärda sårbarheten. Därför är båda parter lika intresserade av det - både krackaren och tillverkaren av den krackade programvaran. Distributionen av denna information avgör hur lång tid en utvecklare behöver innan en patch släpps .
Efter att sårbarheten har stängts av tillverkaren börjar chansen att framgångsrikt tillämpa exploateringen snabbt minska. Därför är de så kallade 0day exploits, som använder nyligen uppenbara sårbarheter som ännu inte blivit allmänt kända, särskilt populära bland hackare [5] .
Exploitbuntar är ett exploateringspaket för flera program (versioner) samtidigt och/eller för olika sårbarheter i dem. I de senaste versionerna av paket väljs en exploit specifikt för ett specifikt användarprogram.
I de flesta fall används exploateringssatser för attacker som utnyttjar sårbarheter i webbläsare eller webbläsartillägg ( till exempel Java , Flash och PDF [6] är vanliga mål ).
Det finns också uppsättningar av lokala utnyttjande för att höja privilegier i det attackerade systemet. I själva verket är sådana uppsättningar också buntar, men i hackermiljön betraktas de inte som sådana och kallas inte.