Yandex Dzen.

Hva er utnyttelse og hvordan hackere bruker den

Hilsener. Hvem er hackere og hva de allerede har diskutert. Vi vil ikke gjenta, dessuten er det åpenbart dekket i nettverket og i kino. Hacker metoder og typer hackerangrep er mange, derfor, for ikke å skape fra artikkelen "Vinaigrette", fremhever vi en, som er populær blant svarte hackere og i 2020. Jeg vil ikke prøve å "redde intriger", vi vil beskrive: "Utnyttelse".

For innledende bekjentskap forstår vi at utnyttelsene er en del av datakoden (eller kompilert program og ikke bare ...), som bruker "offerets sårbarhet" og deretter er målene forgrenet til: Få tilgang; "Hanging" server; Forstyrrelse. Hvis leseren kom over ordene "dos atak", så vet du at 85%, hackere brukt "utnytter". Faktisk vil navnet, hvis de oversetter fra engelsk, bety: "Bruke noe." Eller utnytte, dermed røttene til ordet "utnytte".

Disse programmene (vi vil ringe for utnyttelse av programmer, Selv om det ikke er sant ) er delt inn i destinasjoner: for Windows, Linux og andre operatører; For andre programmer og så videre. Etc.

Jeg tror leserne vil søke å forstå hvordan dette magiske programmet, i stand til å engasjere seg, henge og gi tilgangen "Master" på den "merkelige" serveren. La oss først finne ut hvorfor avtalen kalles programmet, ikke sant. Faktum er at den utnyttes ikke bare den kompilerte filen, men også en tekst (selv Notisblokk med en beskrivelse av hvordan å hacke "systemet" er allerede utnyttet). Jeg forstår den enkleste misforståelsen av lesingen, men det er: Hvis du åpner en notatbok og der i form av en tekst for å skrive hvordan du "liker" hvilken som helst server, vil det også være en utnyttelse. Men hva som i det minste ville, diversifisere en artikkel, la oss minst noen ganger skrive ordet: programmet. Dessuten kommer slike utnytter i form av et program på "ethvert" språk. Hackere, disse er tidligere programmerere som tidligere var på utkikk etter feil i programmer Derfor eier slike mennesker lett C / C ++, Perl og TD-språk. Oppgaven med slike programmer reduseres til bufferoverløpet, SQL-poster, "Linden" forespørsler om nettstedet og så videre.

Hva er utnyttelse og hvordan hackere bruker den

Det skjer å bruke sekvensen av programmer, hvis oppgaven skal være "komplisert".

Finn og last ned ferdige utnyttelser i Open Internet er ikke lovlig. Og selvfølgelig anbefaler forfatteren ikke å lete etter slike programmer i Darknet.

Så, nå når en forståelse om utnyttelsen deponert i hodet, gå til "virtuell praksis". Anta situasjonen: I byen Voronezh bor en mann som regelmessig flyr til Moskva og det "vår" en gift dame. Den lurte ektefellen, ikke i stand til å fange kjæresten, er bestemt på hevn, men eksternt. For å gjøre dette, din mann er nødvendig tilgang til datamaskinen "scounding". La oss ikke gå inn i detaljene, men vi oppgir faktumet: det ble kjent hvordan nettleseren bruker en "listig rival". Heldigvis for en avansert mann, i denne nettleseren er det et "sårbarhet". Det forblir bare for å tvinge lover "Kjørekoden", som uten kjennskap til brukeren, laster malware "på siden". Deretter skriver mannen et brev, på vegne av sin kone og sender en elsker via post. Resultatet er forståelig (åpner brevet, og koden er allerede "i saken").

De berømte programmene er: "Angler" (komplisert sett (fungerer i RAM)); "Neutrino" (Russian Brainchild på Java, koster 34 tusen dollar); "Blackhole Kit" (slår nettleserne Chrome, "Oslik", "Firefox" ).

Kommentar ("negativ \ positiv"). Abonnere. Som. Ha det.

Hei, Habrovsk. I påvente av begynnelsen av kurset "Administrator Linux. Profesjonell » Vår ekspert - Alexander Kolesnikov forberedte en interessant artikkel, som vi gjerne vil dele med deg. Inviter også fremtidige studenter og alle som ønsker å besøke en åpen leksjon om emnet "Metoder og evnen til å feilsøke skriptene til Bash Shell."

Linux-operativsystemet har vist seg å verden hele kraften til Open Source-prosjekter - takket være henne i dag, har vi muligheten til å se på kildekoden til arbeidssystemet og basert på det for å montere ditt eget system for å løse visse mål. På grunn av åpenhet var Linux å bli det sikreste operativsystemet i verden, siden den åpne kildekoden tillater å utvikle og forbedre beskyttelsesundersystemene fra angrep på operativsystemet og forbedre operativsystemet selv. For øyeblikket er det for øyeblikket et stort antall samfunnsbeskyttelse som er opprettet: I dag er det ikke lenger så lett å overstreke sårbarhetene til typen bufferoverløp for å oppnå forhøyede privilegier, for eksempel 20 år siden. Men i dag kan du finne utnyttelser i det offentlige området, som selv på de nyeste versjonene av kjernen kan øke brukerrettighetene. Vurder i denne artikkelen, som det fungerer og hvorfor det viser seg. Vi vil gå gjennom de viktigste komponentene i utnyttelsen og vurdere hvordan noen av dem jobber.

All informasjon som tilbys ble samlet utelukkende for informasjonsformål.

Typer av utnyttelse

Velg en generell begrep som vi vil betegne hva som er Utnytte - Algoritmen som bryter med normalfunksjonen til operativsystemet, nemlig mekanismene for separasjon av tilgang. Vi vil også introdusere konseptet Sårbarheter - Dette er en programvarefeil som kan brukes av en utnyttingsalgoritme. Uten sårbarhet er eksistensen av en utnyttelse umulig.

Vi introduserer klassifiseringen av utnytter. Den grunnleggende separasjonen av utnyttelser til undergruppene for ethvert operativsystem begynner på arkitekturnivået. I dag inkluderer operativsystemene minst 2 nivåer av privilegier som brukes til sitt arbeid. Nedenfor er et bilde som tydelig viser separasjonen av privilegier. Bilde tatt Herfra .

Bildet viser tydelig at kjernen (kjerneplassen) er tilstede i operativsystemet, det er vanligvis den mest privilegerte modusen, det er her at vi kaller operativsystemet. Og det andre nivået er tilpasset (brukerplass): Vanlige applikasjoner og tjenester som vi bruker hver dag, lanseres her.

Det utviklet historisk at for hvert av de ovennevnte nivåene ovenfor kan sårbarheter bli funnet som en utnyttelse kan opprettes, men utnyttelsen for hvert nivå har sine begrensninger.

På brukernivået vil enhver utnyttelse som påvirker søknaden, ha akkurat de privilegiene som brukes av brukeren som lanserte et sårbart program. Derfor lar denne typen utnyttelse få full kontroll over operativsystemet bare hvis programmet er lansert av systemadministratoren. I motsetning til brukernivået, Kernelnivå Hvis den inneholder en sårbar kode, kan den umiddelbart aktivere operativsystemet med maksimale privilegier. Nedenfor vil fokusere på studiet av disse utnyttelsene.

Eksplantert

Tenk deg liten statistikk om avsløringen av sårbarheter for kjernen til Linux-operativsystemfordelingen av Debian, SUSE, Ubuntu, Arch Linux de siste 4 årene.

Data tatt Herfra . Bildet ligner ikke på å være komplett, men det viser at det er mange sårbarheter, og selv i dag er det fra hva du skal velge å bygge en utnyttelse. La oss prøve å beskrive hva som er utnyttelse.

Eventuell utnyttelse for hvilket som helst nivå av operativsystemet i dag består av deler som må implementeres i koden:

  1. Forberedende operasjoner:

    1) Naviger den nødvendige minnetvisningen

    2) Opprette de nødvendige objektene i OS

    3) Bypassering av OS-beskyttelsesmekanismer for sårbarhet

  2. Ring sårbar del.

  3. Utfører en nyttelast:

    1) for å åpne tilgangen til operativsystemet

    2) For å endre konfigurasjonen av operativsystemet

    3) For produksjonen av systemet

Når du utfører alle elementene, som er angitt ovenfor, kan du skrive en brukbar utnyttelse. Ta flere utnyttelser på de siste årene, og prøv å finne ut om det er mulig å finne noen regelmessige eller lån som brukes til å krenke separasjonen av tilgangen i Linux-operativsystemet. Som studieobjekter, tar vi utnytter som bruker følgende sårbarheter med CVE-identifikatorer:

CVE-2020-8835.

CVE-2020-27194.

Katastrofeutnyttelse

CVE-2020-8835. рAspasses kjernen til Linux OS fra versjon 5.5.0. Sårbarhet er i teknologi implementering Ebpf. . Teknologien ble utviklet for å sikre at brukeren kan lage tilpassede håndlysere for å filtrere nettverkstrafikken. Som hovedkomponent for filtrering brukes en virtuell maskin med sitt eget sett med kommandoer. Koden som utføres av den virtuelle maskinen bor i kjernen: En feil i denne koden bringer en angriper for å jobbe med minne med maksimale privilegier. I tilfelle av det beskrevne sårbarheten var problemet at driftsbehandlingsoperasjonene 32 biter ikke ble behandlet riktig, og den virtuelle maskinen kunne skrive og lese dataene i kjernefysisk ram.

Som forfatteren av utnyttelsen bruker dette sikkerhetsproblemet, og hva en nyttelast utføres, vurder videre.

Forberedende stadium

For dette stadiet er neste del av koden ansvarlig.

Row 394 - Opprette et objekt i minnet som vil lagre data på kommandoer for Ebpf. . Rad 400 laster inn i minnekoden som skal utføres i den virtuelle maskinen, og vil krenke betingelsene for behandling av 32 bits kommandoer. Minnepreparatet er over, følgende linjer vil skape et objekt av en stikkontakt som vil bli kalt opplastede kommandoer for bpf. . Deretter begynner kammeret i sårbarheten.

Ring sårbar kode

Ringer en sårbar kode, eller rettere, arbeider med de virtuelle maskinkommandoene, utføres fra linjen 423 til 441. Hovedoppgaven til denne koden er å skaffe den grunnleggende adressen til strukturen som er i minnet, i dette tilfellet er det en Heap (Heap) prosess. Så snart disse kommandoene utføres, vil utnyttelsen kunne oppdage dataene som brukes av operativsystemet for å kontrollere separasjonen av tilgangen. I Linux-operativsystemet lagres disse dataene i strukturen Oppgavestruktur. .

Nyttelast

Den nyttige belastningen av denne utnyttelsen er at etter utførelsen kan du kjøre en prosess med brukerrettigheter rot . For dette produserer utnyttelseskoden modifikasjon av Linux-operativsystemets kjernefeltfelt - Cred. Dette er en struktur som kommer inn i strukturen Oppgavestruktur. . Kildekode struktur Cred. Kan bli funnet her .

Feltmodifikasjonshandlinger Struktur cred. kan ses på rader 472,473,474. . Det vil si at denne handlingen tilbakestiller verdien UID, GID, SGID Prosess opprettet. Fra synspunktet er det satt til identifikatorverdier som vanligvis bruker rot . Metoden er veldig lik den som brukes til angrepene på Windows-operativsystemet.

Du kan beskytte deg selv uten å oppdatere operativsystemet, hvis du gjør følgende endringer i konfigurasjonen: sudo sysctl kernel.unprivileged_bpf_disabled = 1

CVE-2020-27194. - igjen sårbarheten i Ebpf. . Det er en versjon av versjon 5.8. *. Skaperne av denne teknologien sjokkerer det bpf. - Dette er javascript for kjernen. Faktisk er denne dommen ikke langt fra sannheten. Den virtuelle maskinen utfører virkelig manipulasjoner over lag med JIT-teknologi, som i seg selv bærer alle de typiske nettleserens sårbarheter i operativsystemkjernen, det vil si det er vanskelig å konfigurere beskyttelsesundersystemet for å beskytte koden. Sårbarheten som undervurderes er at fra koden til den virtuelle maskinen kan du endre et hvilket som helst område av RAM. Kanskje dette skyldes det faktum at den virtuelle maskinen er usikker på å jobbe med 64 bit lengde operasjoner. Fullstendig lignende sårbarhet av den vi vurderte ovenfor.

Utnyttelse, som er utformet for å bruke det beskrevne sårbarheten, utfører de samme operasjonene som utnyttelsen CVE-2020-8835. Utnytte algoritme neste:

  1. Last ned kode med behandling 64 bit operasjoner

  2. Opprett en stikkontakt og send data til å ringe kommandoer Ebpf.

    1. Finn i tankene adressen til strukturen Oppgavestruktur. Ved å utføre kommandoer i en virtuell maskin

  3. Endre verdier UID, GID, SGID og start et interaktivt skall.

Forfatteren skrev kildekoden med nye sjetonger og tilleggsfunksjoner. Vi tilbyr leseren å se på koden selv. De børsnoterte stadiene av arbeidet med utnyttelsen ovenfor vil ikke bli forvirret.

Beskyttelse mot dette sikkerhetsproblemet uten å bruke oppdateringer er det samme: sudo sysctl kernel.unprivileged_bpf_disabled = 1

Hva er resultatet?

Basert på to utnytter, som ble vurdert i artikkelen, kan det antas at det å øke privilegiene i det moderne Linux-operativsystemet er ikke lenger mørk programmeringsmagin, men en fulladet malprosess som inkluderer gjenbruk av funksjoner og objekter i RAM. Samtidig er det ikke engang nødvendig å skrive basisavhengig (ShellCode) -kode som vil utføre de fleste handlingene. Det er nok å bare endre identifikatorene som brukes til å tilordne privilegier for brukere.

Lær mer om kurset "Administrator Linux. Profesjonell. "

Registrer deg for en åpen leksjon "Metoder og evnen til å feilsøke skriptene til Bash Shell."

Les mer:

Hva er utnyttelse?

På utviklingsstadiet i alle programmer og nettverk, er mekanismene for beskyttelse mot hackere i typen låser, advarsel uautorisert overvåking, innebygd. Sårbarheten ligner på det åpne vinduet, for å komme seg gjennom som ikke vil være mye vanskelig for en angriper. I tilfelle av en datamaskin eller et nettverk kan angripere etablere ondsinnet programvare ved å bruke sårbarhet for å oppnå kontroll eller infisere systemet for deres leiesoldat med relevante konsekvenser. Bollen av alt dette skjer uten brukerens kunnskap.

Eksplantert
Hvordan oppstår utnyttelsen?

Utnyttelsen er forårsaket av feil i programvareutviklingsprosessen, som følge av hvilke sårbarheter som er vellykket brukt i programbeskyttelsessystemet, som vellykket brukes av cyberkriminelle for å oppnå ubegrenset tilgang til selve programmet, og gjennom det videre til hele datamaskinen . Eksplanter er klassifisert i samsvar med typen sikkerhetsproblem, som brukes av en hacker: null dag, dos, spoofing eller xxs. Selvfølgelig vil programutviklere snart frigjøre sikkerhetsoppdateringer for å eliminere funnet feil, men frem til dette punktet, er programmet fortsatt sårbart for inntrengere.

Hvordan gjenkjenne utnyttelse?

Siden utnyttelsene bruker barer i programens sikkerhetsmekanismer, har en vanlig bruker nesten ingen sjanse til å bestemme deres tilstedeværelse. Derfor er det ekstremt viktig å opprettholde de etablerte programmene oppdatert, spesielt i tide sikkerhetsoppdateringer, produsert av programutviklere. I tilfelle at programvareutvikleren frigjør sikkerhetsoppdateringen for å eliminere et bestemt sikkerhetsproblem i programvaren, men brukeren vil ikke etablere det, da vil programmet dessverre ikke få de siste virale definisjonene.

Hvordan eliminere utnyttelse?

På grunn av det faktum at utnyttelsene er konsekvensen av engasjerte mangler, er eliminering inkludert i utviklerne direkte oppgaver, slik at forfatterne må forberede og sende feilkorreksjon. Forpliktelsen til å opprettholde de installerte programmene oppdatert og rettidig installere oppdateringspakker for ikke å gi en sjanse for sjanser til å bruke sårbarheter, ligger helt på brukeren. En av de mulige måtene går ikke glipp av de nyeste oppdateringene - bruk programbehandling som vil sikre at alle installerte programmer oppdateres, eller - hva er enda bedre - bruk det automatiske søk og installasjonsverktøyet.

Slik stopper du forsøk på hackere for å bruke sårbarheter for tredjepartsprogrammer
  • Pass på at du har installert de nyeste sikkerhetsoppdateringene og oppdateringene for alle programmer.
  • For å være trygg på nettet og holde deg oppdatert med hendelser, sett alle oppdateringer umiddelbart etter utgivelsen.
  • Installer og bruk Premium Anti-Virus, som er i stand til å automatisk oppdatere de installerte programmene.
Sikre deg selv fra utnyttelser

Stol på sunn fornuft og følg de grunnleggende reglene for trygt arbeid på Internett. Hackere kan bare dra nytte av sårbarheten hvis de klarer å få tilgang til PCen. Ikke åpne vedleggene i mistenkelige meldinger og ikke last ned filer fra ukjente kilder. Støtteinstallerte programmer oppdatert, og også rettidig installere sikkerhetsoppdateringer. Hvis du vil maksimere forenkle denne oppgaven, last ned Avast Antivirus, som ikke bare gir pålitelig beskyttelse mot alle typer malware, men vil også hjelpe med installasjonen av de nyeste oppdateringene for tredjepartsprogrammer.

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