Yandex dzen.

Vad är utnyttjande och hur hackare använder det

Hälsningar. Vem är hackare och vad de redan har diskuterat. Vi kommer inte att upprepa, dessutom är det öppet täckt i nätverket och i bio. Hacker metoder och typer av hackerattack är därför många, att inte skapa från artikeln "Vinaigrette", markerar vi en, som är populär bland svarta hackare och 2020. Jag kommer inte att försöka "spara intrigue", vi kommer att beskriva: "utnyttjar".

För introduktionsbekämpning förstår vi att exploaterna är en del av datorkoden (eller sammanställt program och inte bara ...), som använder "offerets sårbarhet" och då är målen grenade till: att få tillgång "hängande" server; Störning. Om läsaren kom över orden "dos atak", vet då att 85%, hackare använde "utnyttjande". Egentligen, namnet, om det översätts från engelska, betyder: "Använda något." Eller utnyttjande, därmed rötterna av ordet "utnyttjande".

Dessa program (vi kommer att kräva exploater av program, Även om det inte är sant ) är uppdelade i destinationer: för Windows, Linux och andra operatörer; För andra program och så vidare. Etc.

Jag tror att läsarna vill försöka förstå hur det här magiska programmet, som kan engagera sig, hänga och tillhandahålla tillgången "master" på den "konstiga" servern. Låt oss först räkna ut det varför avtalet kallas programmet, inte sant. Faktum är att det utnyttjas inte bara den sammanställda filen, utan också en text (även anteckningsblock med en beskrivning av hur man hacka "systemet" är redan utnyttjat). Jag förstår det enklaste missförståndet av läsningen, men det är: Om du öppnar en anteckningsbok och där i form av en text för att skriva hur man "njuter" någon server, kommer det också att bli ett utnyttjande. Men vad som åtminstone skulle vilja diversifiera en artikel, låt oss åtminstone ibland skriva ordet: programmet. Dessutom stannar sådana exploater i form av ett program på "något" språk. Hackers, det här är tidigare programmerare som tidigare letade efter fel i program Därför äger sådana människor enkelt C / C ++, Perl och TD-språk. Uppgiften för sådana program reduceras till buffertflöde, SQL-poster, "Linden" -förfrågningar om webbplatsen och så vidare.

Vad är utnyttjande och hur hackare använder det

Det råkar använda programmets sekvens, om uppgiften ska vara "komplicerad".

Hitta och ladda ner färdiga exploater i öppet Internet är inte lagligt. Och självklart rekommenderar författaren inte att leta efter sådana program i Darknet.

Så, nu när en förståelse om utnyttjandena som deponeras i huvudet, gå till "Virtual Practice". Antag att situationen: I staden Voronezh bor en man som regelbundet flyger till Moskva och där "vår" en gift dam. Den lurade maken, som inte kan fånga älskaren, bestäms om hämnd, men på distans. För att göra detta behövs din man tillgång till datorn "Scounding". Låt oss inte gå in i detaljerna, men vi säger det faktum: det blev känt hur webbläsaren använder en "cunning rival". Lyckligtvis för en avancerad man, i den här webbläsaren är det en "sårbarhet". Det förblir bara för att tvinga älsklingskoden ", som utan kännetecknen om användaren, laddar malware" på sidan ". Då skriver mannen ett brev, på uppdrag av sin fru och skickar en älskare via post. Resultatet är förståeligt (öppnar brevet, och koden är redan "i ärendet").

De berömda programmen är: "Angler" (komplexa uppsättning (verk i RAM)); "Neutrino" (Russian Brainchild på Java, kostar 34 tusen dollar); "Blackhole Kit" (slår webbläsarna Chrome, "Oslik", "Firefox" ).

Kommentar ("negativ \ positiv"). Prenumerera. Tycka om. Adjö.

Hej, HABROVSK. I väntan på kursens början "Administratörslinux. Professionell » Vår expert - Alexander Kolesnikov förberedde en intressant artikel, som vi gärna delar med dig. Bjud också upp framtida studenter och alla som vill besöka en öppen lektion om ämnet "Metoder och förmåga att felsöka skripten av Bash Shell."

Linux operativsystem har visat sig till världen all kraft i Open Source-projekt - tack vare henne idag har vi möjlighet att undersöka källkoden för arbetet och baserat på det för att montera ditt eget system för att lösa vissa mål. På grund av sin öppenhet var Linux att bli det säkraste operativsystemet i världen, eftersom den öppna källkoden tillåter att utveckla och förbättra skyddsundersystemen från attacker på operativsystemet och förbättra operativsystemet själv. I det ögonblick som det finns ett stort antal skapade samhällsskydd: idag är det inte längre så lätt att övervaka sårbarheterna för typen av buffertflöde för att få förhöjda privilegier för 20 år sedan. Men idag kan du hitta exploater i det offentliga området, som även på de senaste versionerna av kärnan kan öka användarbehörigheterna. Tänk i den här artikeln, som det fungerar och varför det visar sig. Vi kommer att gå igenom de viktigaste komponenterna i utnyttjandet och överväga hur några av dem fungerar.

All information som tillhandahålls uppsamlades uteslutande för informationsändamål.

Typer av utnyttjande

Välj en allmän term som vi kommer att ange vad som är Utnyttja - Algoritmen som bryter mot operativsystemets normala funktion, nämligen mekanismerna för åtkomst av åtkomst. Vi kommer också att introducera konceptet Sårbarhet - Det här är en mjukvaruogener som kan användas av en exploitalgoritm. Utan sårbarhet är existensen av ett utnyttjande omöjligt.

Vi introducerar klassificeringen av utnyttjanden. Den grundläggande separationen av utnyttjande till undergrupperna för vilket operativsystem som helst börjar på arkitekturnivån. Idag omfattar operativsystem minst 2 nivåer av privilegier som används för sitt arbete. Nedan är en bild som tydligt visar separation av privilegier. Bild Härifrån .

Bilden visar mycket tydligt att kärnan (kärnutrymmet) är närvarande i operativsystemet, det är vanligtvis det mest privilegierade läget, det är här som vi kallar operativsystemet. Och den andra nivån är anpassad (användarutrymme): vanliga applikationer och tjänster som vi använder varje dag lanseras här.

Det utvecklades historiskt att för var och en av ovanstående nivåer kan sårbarheter hittas för vilka ett utnyttjande kan skapas, men utnyttjandet av varje nivå har sina begränsningar.

På användarnivå har alla exploater som påverkar programmet exakt de privilegier som används av användaren som lanserade en sårbar ansökan. Därför kan den här typen av exploatera dig att få full kontroll över operativsystemet om programmet lanseras av systemadministratören. I motsats till användarnivå, kärnnivå Om den innehåller en sårbar kod kan den omedelbart aktivera operativsystemet med maximala privilegier. Nedan kommer att fokusera på studien av dessa utnyttjanden.

Explant

Föreställ dig liten statistik om upplysningar om sårbarheter för kärnan i Linux-operativsystemfördelningarna av Debian, Suse, Ubuntu, Arch Linux de senaste 4 åren.

Data som tagits Härifrån . Bilden låtsas inte vara fullständig, men det visar att det finns många sårbarheter, och även idag finns det från vad man ska välja att bygga ett utnyttjande. Låt oss försöka beskriva vad som är utnyttjat.

Eventuellt utnyttjande av någon nivå av operativsystemet består idag av delar som måste genomföras i koden:

  1. Förberedande verksamhet:

    1) Navigera den nödvändiga minnesdisplayen

    2) Skapa de nödvändiga objekten i OS

    3) kringgå OS-skyddsmekanismer för sårbarhet

  2. Ring sårbar del.

  3. Utför en nyttolast:

    1) För att öppna åtkomst till operativsystemet

    2) För att ändra konfigurationen av operativsystemet

    3) för systemets utgång

När du utför alla objekt, som anges ovan, kan du skriva ett fungerande utnyttjande. Ta flera exploater de senaste åren och försök ta reda på om det är möjligt att hitta några regelbundenhet eller lån som används för att bryta mot separation av åtkomst i Linux-operativsystemet. Som föremål för studier tar vi ut exploater som använder följande sårbarheter med CVE-identifierare:

CVE-2020-8835

CVE-2020-27194.

Katastrof utnyttjas

CVE-2020-8835 рASPASSES Kärnan i Linux OS från version 5.5.0. Sårbarhet är i teknik genomförande EBPF. . Tekniken var utformad för att säkerställa att användaren kan skapa anpassade hanterare för att filtrera nätverkstrafik. Som huvudkomponenten för filtrering används en virtuell maskin med sin egen uppsättning kommandon. Koden som utförs av den virtuella maskinen bor i kärnan: Ett fel i den här koden ger en angripare att arbeta med minne med maximala privilegier. I fallet med den beskrivna sårbarheten var problemet att operationsbehandlingsoperationerna 32 bitar inte var korrekt bearbetade, och den virtuella maskinen kunde skriva och läsa data i kärnramen.

Eftersom författaren till utnyttjandet använder denna sårbarhet och vad en nyttolast utförs, överväga vidare.

Förberedande stadium

För detta skede är nästa del av koden ansvarig.

Row 394 - Skapa ett objekt i minnet som lagrar data på kommandon för EBPF. . Row 400 laster i minneskoden som kommer att utföras i den virtuella maskinen och bryter mot villkoren för att bearbeta 32 bitars kommandon. Minnesberedningen är över, följande rader kommer att skapa ett objekt med ett uttag som kommer att kallas uppladdade kommandon för BPF. . Därefter börjar kammaren i sårbarheten.

Ring sårbar kod

Ringa en sårbar kod, eller snarare, arbetar med de virtuella maskinkommandon från linjen 423 till 441. Den huvudsakliga uppgiften för denna kod är att få den grundläggande adressen till den struktur som är i minnet, i det här fallet är det en heap (heap) process. Så snart dessa kommandon utförs, kommer utnyttjandet att kunna detektera de data som används av operativsystemet för att styra åtskillnaden av åtkomst. I Linux-operativsystemet lagras dessa data i strukturen Taskstruct. .

Nyttolast

Den användbara belastningen av detta utnyttjande är att efter dess utförande kan du köra en process med användarrättigheter rot . För detta producerar exploateringskoden ändring av Linux-operativsystemkärnfältfälten - Cred. Detta är en struktur som kommer in i strukturen Taskstruct. . Källkodsstruktur Cred. Kan hittas här .

Fältmodifieringsåtgärder Struct Cred. kan ses på rader 472,473,474. . Det vill säga denna åtgärd återställer värdet Uid, gid, sgid Process skapad. Från synvinkeln är det inställt på identifierare som vanligtvis använder rot . Metoden är mycket lik den som används för attackerna på Windows-operativsystemet.

Du kan skydda dig själv utan att uppdatera operativsystemet, om du gör följande ändringar i konfigurationen: sudo sysctl kernel.unprivileged_bpf_disabled = 1

CVE-2020-27194. - igen sårbarhet i EBPF. . Det finns en version av version 5.8. *. Skaparna av denna teknik skojar det BPF. - Detta är javascript för kärnan. I själva verket är denna dom inte långt ifrån sanningen. Den virtuella maskinen bedriver verkligen manipuleringar över lag som använder JIT-teknik, som i sig bär alla typiska webbläsare sårbarheter i operativsystemkärnan, det vill säga det är svårt att konfigurera skyddsundersystemet för att skydda koden. Den aktuella sårbarheten är att från den virtuella maskinens kod kan du ändra något område av RAM. Kanske beror det på det faktum att den virtuella maskinen är osäker på att arbeta med 64 bitars längd. Helt liknande sårbarhet hos den som vi ansåg ovan.

Exploit, som är utformad för att använda den beskrivna sårbarheten, utför samma operationer som utnyttjande CVE-2020-8835. Exploit Algorithm Nästa:

  1. Nedladdningskod med bearbetning 64 bitars operationer

  2. Skapa ett uttag och skicka data till samtalskommandon EBPF.

    1. Hitta i åtanke adressen till strukturen Taskstruct. Genom att utföra kommandon i en virtuell maskin

  3. Ändra värden Uid, gid, sgid och starta ett interaktivt skal.

Författaren skrev källkoden med nya chips och ytterligare funktioner. Vi erbjuder läsaren att titta på koden själv. De angivna stadierna i utnyttjandet av utnyttjandet ovan kommer inte att bli förvirrade.

Skydd mot denna sårbarhet utan att använda uppdateringar är densamma: sudo sysctl kernel.unprivileged_bpf_disabled = 1

Vad är resultatet?

Baserat på två exploater, som beaktades i artikeln, kan det antas att öka privilegierna i det moderna Linux OS inte längre är mörkt programmeringsmagi, men en fulladdat mallprocess som innehåller återanvändning av funktioner och objekt i RAM. Samtidigt är det inte ens nödvändigt att skriva basberoende (Shellcode) -kod som kommer att utföra de flesta åtgärderna. Det är nog att helt enkelt ändra de identifierare som används för att tilldela privilegier för användare.

Läs mer om kursen "Administratörslinux. Professionell. "

Anmäl dig till en öppen lektion "Metoder och förmåga att felsöka skripten av Bash Shell."

Läs mer:

Vad är utnyttjande?

Vid utvecklingsstadiet i alla program och nätverk är skyddsmekanismerna mot hackare i den typ av lås, varning obehörig övervakning, inbäddade. Sårbarheten liknar det öppna fönstret, för att komma igenom vilket inte är mycket svårt för en angripare. När det gäller en dator eller ett nätverk kan angripare upprätta skadlig programvara genom att använda sårbarhet för att få kontroll eller infektera systemet för deras legosoldat med relevanta konsekvenser. Skålen av allt detta händer utan användarens kunskap.

Explant
Hur uppstår utnyttjandet?

Utnyttjarna orsakas av fel i mjukvaruutvecklingsprocessen, vilket resulterar i vilket sårbarheter som framgångsrikt används i programskyddssystemet, som framgångsrikt används av cyberkriminella för att få obegränsad tillgång till själva programmet, och genom det vidare till hela datorn . Explants klassificeras i enlighet med typen av sårbarhet, som används av en hacker: noll dag, dos, spoofing eller xxs. Självklart kommer programutvecklare snart att släppa säkerhetsuppdateringar för att eliminera funnen defekter, men upp till denna punkt är programmet fortfarande sårbart för inkräktare.

Hur man känner igen utnyttjande?

Eftersom exploaterna använder barer i program säkerhetsmekanismer, har en vanlig användare nästan ingen chans att bestämma deras närvaro. Det är därför det är oerhört viktigt att upprätthålla de etablerade program som uppdateras, särskilt i tid för säkerhetsuppdateringar, tillverkade av programutvecklare. Om mjukvaruutvecklaren släpper ut säkerhetsuppdatering för att eliminera en viss sårbarhet i sin programvara, men användaren inte kommer att fastställa den, då kommer programmet tyvärr inte att få de senaste virala definitionerna.

Hur eliminerar du utnyttjande?

På grund av det faktum att exploaterna är följden av engagerade defekter ingår deras eliminering i utvecklarens direkta uppgifter, så författarna måste förbereda och skicka felkorrigering. Skyldigheten att behålla de installerade programmen uppdaterade och installera uppdateringspaketen för att inte ge chansen att chanser att använda sårbarheter, ligger helt och hållet på användaren. Ett av de möjliga sätten saknar inte de senaste uppdateringarna - använd applikationshanteraren som säkerställer att alla installerade program uppdateras, eller - vad är ännu bättre - använd det automatiska sök- och installationsverktyget.

Hur man slutar försöka av hackare att använda sårbarheter i tredje parts program
  • Se till att du har installerat de senaste säkerhetsuppdateringarna och korrigeringsfilerna för alla program.
  • För att vara säker på nätet och hålla dig uppdaterad med händelser, ställ in alla uppdateringar omedelbart efter utgåvan.
  • Installera och använd Premium Anti-Virus, som kan automatiskt uppdatera de installerade programmen.
Säkra dig från Exploits

Lita på sunt förnuft och följ de grundläggande reglerna för säkert arbete på Internet. Hackers kan bara dra nytta av sårbarhet om de lyckas komma åt din dator. Öppna inte bilagorna i misstänkta meddelanden och ladda inte filer från okända källor. Stöd installerade program uppdaterade, och även snabba säkerhetsuppdateringar. Om du vill maximalt förenkla den här uppgiften, ladda ner Avast Antivirus, som inte bara ger tillförlitligt skydd mot alla typer av skadlig kod, men också kommer att hjälpa till med installationen av de senaste uppdateringarna för program från tredje part.

Добавить комментарий