Yandex dzen.

Wat is exploit en hoe hackers het gebruiken

Groeten. Wie zijn hackers en wat ze al hebben besproken. We zullen niet herhalen, bovendien is het openlijk bedekt met het netwerk en in de bioscoop. Hacker-methoden en -typen hacker-aanval zijn daarom talrijk, om niet te creëren uit het artikel "Vinaigrette", we kennen één, die populair is bij zwarte hackers en in 2020. Ik zal niet proberen "Intrigue op te slaan", we zullen het beschrijven: "exploiteert".

Voor inleidende kennis, begrijpen we dat de exploits deel uitmaken van de computercode (of het gecompileerde programma en niet alleen ...), dat de "slachtoffer" van het slachtoffer gebruikt en dan zijn de doelen vertakt naar: toegang krijgen; "Hangende" server; Verstoring. Als de lezer de woorden "DOS ATAK" tegenkwam, weet dan dat 85%, hackers "exploits" gebruikten. Eigenlijk zal de naam, als het vertalen van het Engels, betekent: "iets gebruiken". Of exploiteren, vandaar de wortels van het woord "exploiteren".

Deze programma's (wij zullen een beroep doen op exploits door programma's, Hoewel het niet waar is ) zijn onderverdeeld in bestemmingen: voor Windows, Linux en andere operaters; Voor andere programma's enzovoort. Enz.

Ik denk dat de lezers willen proberen te begrijpen hoe dit magische programma, in staat is om deel te nemen, te hangen en de toegang "Master" op de "Strange" -server te bieden. Laten we het eerst uitzoeken waarom de overeenkomst het programma wordt genoemd, niet waar. Het feit is dat het niet alleen het gecompileerde bestand wordt geëxploiteerd, maar ook een tekst (zelfs notitieblok met een beschrijving van het hacken "het systeem" is al exploitatie). Ik begrijp het gemakkelijkste misverstanden van het lezen, maar het is: als u een notebook opent en daar in de vorm van een tekst om te schrijven hoe u elke server wilt "genieten", is het ook een exploitatie. Maar wat zou er minstens op, diversifiëren, diversifiëren een artikel, laten we het minst soms het woord schrijven: programma. Bovendien komen dergelijke exploits in de vorm van een programma over "elke" taal. Hackers, dit zijn voormalige programmeurs die in het verleden op zoek waren naar fouten in programma's Daarom hebben dergelijke mensen gemakkelijk C / C ++, PERL- en TD-talen. De taak van dergelijke programma's wordt gereduceerd tot de bufferoverloop, SQL-records, "Linden" -verzoeken voor de site enzovoort.

Wat is exploit en hoe hackers het gebruiken

Het gebruikt de reeks programma's, in het geval dat de taak "gecompliceerd" is.

Zoek en download kant-en-klare exploits in open internet is niet legaal. En natuurlijk raadt de auteur niet aan om dergelijke programma's in Darknet te zoeken.

Dus, nu wanneer een begrip van de exploits in het hoofd is gestort, ga dan naar "virtuele praktijk". Stel dat de situatie: in de stad Voronezh, een man leeft die regelmatig naar Moskou en daar "de onze" een getrouwde dame vliegt. De misleidende echtgenoot, niet in staat om de minnaar te vangen, wordt besloten over wraak, maar op afstand. Om dit te doen, is uw man nodig toegang tot de computer "Scounding". Laten we niet in de details gaan, maar we stellen het feit: het werd bekend hoe de browser een "cunning rivaal" gebruikt. Gelukkig voor een geavanceerde echtgenoot, in deze browser is er een "kwetsbaarheid". Het blijft alleen om de Lover "Run Code" te forceren, die zonder de kennis van de gebruiker, malware "aan de zijkant" laadt. Dan schrijft de man een brief, namens zijn vrouw en stuurt een minnaar per post. Het resultaat is begrijpelijk (opent de brief en de code is al "in de zaak").

De beroemde programma's zijn: "Angler" (complexe set (Works in RAM)); "Neutrino" (Russisch Hersenkind bij Java, kosten 34 duizend dollar); "Blackhole Kit" (verslaat de browsers Chrome, "Oslik", "Firefox" ).

Commentaar ("negatief \ positief"). Abonneren. Leuk vinden. Vaarwel.

Hallo, Habrovsk. In afwachting van het begin van de cursus "Beheerder Linux. Professional » Onze expert - Alexander Kolesnikov heeft een interessant artikel voorbereid, dat we graag met u delen. Nodig ook toekomstige studenten uit en iedereen die een open les op het onderwerp wenst te bezoeken "Methoden en het vermogen om de scripts van de bash-shell te debuggen."

Het Linux-besturingssysteem is bewezen in de wereld alle kracht van open source-projecten - dankzij haar vandaag hebben we de mogelijkheid om in de broncode van het werksysteem te kijken en op basis daarvan om uw eigen systeem te monteren om bepaalde doelstellingen op te lossen. Vanwege de openheid, was Linux om het veiligste besturingssysteem ter wereld te worden, aangezien de open source-code het mogelijk maakt om de beveiligingssubsystemen van aanvallen op het besturingssysteem te ontwikkelen en te verbeteren, en het besturingssysteem zelf te verbeteren. Op dit moment zijn er op dit moment een groot aantal gecreëerde communautaire bescherming: vandaag is het niet langer zo eenvoudig om de kwetsbaarheden van het type bufferoverloop te overlopen om zo 20 jaar geleden verhoogde privileges te verkrijgen. Vandaag, vandaag vindt u exploits in het publieke domein, die zelfs op de laatste versies van de kernel gebruikersrechten kunnen verhogen. Overweeg in dit artikel, zoals het werkt en waarom het blijkt. We zullen door de hoofdcomponenten van de exploit gaan en overwegen hoe sommige van hen werken.

Alle verstrekte informatie is exclusief verzameld voor informatieve doeleinden.

Typen exploit

Kies een algemene term die we zullen duiden wat is Exploiteren - het algoritme dat de normale werking van het besturingssysteem schendt, namelijk de mechanismen van de toegang van de toegang. We zullen ook het concept introduceren Kwetsbaarheden - Dit is een software-imperfectie die kan worden gebruikt door een exploitalgoritme. Zonder kwetsbaarheid is het bestaan ​​van een exploit onmogelijk.

We introduceren de classificatie van exploits. De basisscheiding van exploits aan de subgroepen voor elk besturingssysteem begint op het niveau van de architectuur. Tegenwoordig omvatten besturingssystemen ten minste 2 niveaus van privileges die worden gebruikt voor hun werk. Hieronder staat een foto die duidelijk de scheiding van privileges laat zien. Foto gemaakt Vanaf hier .

De foto toont heel duidelijk dat de kernel (kernelruimte) in het besturingssysteem aanwezig is, het is meestal de meest bevoorrechte modus, het is hier dat we het besturingssysteem noemen. En het tweede niveau is aangepast (gebruikersruimte): regelmatige toepassingen en diensten die we elke dag gebruiken, worden hier gelanceerd.

Het ontwikkelde het historisch dat voor elk van de bovenstaande niveaus kwetsbaarheden te vinden zijn waarvoor een exploit kan worden gemaakt, maar de exploitatie voor elk niveau heeft zijn beperkingen.

Op het gebruikersniveau heeft een exploitatie die van invloed is op de aanvraag precies die rechten hebben die door de gebruiker worden gebruikt die een kwetsbare toepassing lanceerde. Daarom kunt u dit type exploit de mogelijkheid om alleen volledige controle over het OS te krijgen als de aanvraag wordt gestart door de systeembeheerder. In tegenstelling tot het gebruikersniveau, kernelniveau Als het een kwetsbare code bevat, kan het onmiddellijk het besturingssysteem mogelijk maken met maximale privileges. Hieronder richt zich op de studie van deze exploits.

Explantaat

Stel je voor kleine statistieken over de openbaarmaking van kwetsbaarheden voor de kernel van de Linux-besturingssysteemverdelingen van Debian, SUSE, Ubuntu, boog Linux van de afgelopen 4 jaar.

Genomen gegevens Vanaf hier ​De foto doet niet alsof het compleet is, maar het laat zien dat er veel kwetsbaarheden zijn, en zelfs vandaag is er van wat te kiezen om een ​​exploit te maken. Laten we proberen te beschrijven wat exploiteert.

Elke exploit voor elk niveau van het besturingssysteem bestaat uit onderdelen die in zijn code moeten worden geïmplementeerd:

  1. Voorbereidende operaties:

    1) Navigeer op het benodigde geheugenweergave

    2) De benodigde objecten in OS maken

    3) Bevestiging van OS-beschermingsmechanismen voor kwetsbaarheid

  2. Bel kwetsbaar onderdeel.

  3. Voert een lading uit:

    1) Om de toegang tot het besturingssysteem te openen

    2) Om de configuratie van het besturingssysteem te wijzigen

    3) Voor de uitvoer van het systeem

Bij het uitvoeren van alle items, die hierboven zijn aangegeven, kunt u een werkbaar exploit schrijven. Neem meerdere exploits van de afgelopen jaren en probeer erachter te komen of het mogelijk is om een ​​aantal regelmatigheden of leningen te vinden die worden gebruikt om de scheiding van toegang in het Linux-besturingssysteem te schenden. Als objecten van studie nemen we exploits die de volgende kwetsbaarheden gebruiken met CVE-ID's:

CVE-2020-8835

CVE-2020-27194.

Noodplooit

CVE-2020-8835 рAspasses de kernel van het Linux OS van versie 5.5.0. Kwetsbaarheid is in technologie-implementatie EBPF. ​De technologie is ontworpen om ervoor te zorgen dat de gebruiker aangepaste handlers kan maken om netwerkverkeer te filteren. Naarmate het hoofdcomponent voor het filteren, wordt een virtuele machine met zijn eigen reeks opdrachten gebruikt. De code die wordt uitgevoerd door de virtuele machine woont in de kernel: een fout in deze code brengt een aanvaller met het werk met geheugen met maximale privileges. In het geval van de beschreven beveiligingslek was het probleem dat de bewerkingsbewerkingen 32 bits niet correct werden verwerkt en de virtuele machine kon schrijven en de gegevens in de nucleaire ram lezen en lezen.

Zoals de auteur van de exploit deze kwetsbaarheid gebruikt en wat een payload wordt uitgevoerd, overweeg dan verder.

Voorbereidende fase

Voor deze fase is het volgende deel van de code verantwoordelijk.

RECHT 394 - Een object in het geheugen maken dat gegevens op opdrachten opslaat voor EBPF. ​Row 400 laadt in de geheugencode die in de virtuele machine wordt uitgevoerd en zal de voorwaarden voor het verwerken van 32 bit-opdrachten overtreden. De geheugenvoorbereiding is voorbij, de volgende regels maken een voorwerp van een socket die geüploade commando's voor wordt genoemd BPF. ​Daarna begint de kamer van de kwetsbaarheid.

Bel kwetsbare code

Een kwetsbare code oproepen, of liever, het werken met de opdrachten van virtuele machine wordt uitgevoerd vanaf de regel 423 tot 441. De hoofdtaak van deze code is om het basisadres van de structuur te verkrijgen die in het geheugen is, in dit geval is het in dit geval heap (heap) proces. Zodra deze opdrachten worden uitgevoerd, kan de exploit de gegevens die door het besturingssysteem worden gebruikt om de scheiding van toegang te regelen. In het Linux-besturingssysteem worden deze gegevens opgeslagen in de structuur Taskstruct. .

Lading

De nuttige belasting van dit exploit is dat u na de uitvoering een proces met gebruikersrechten kunt uitvoeren wortel ​Hiervoor produceert de exploitcode wijziging van het veldvelden van Linux-besturingssysteem Kernel - Cred. Dit is een structuur die de structuur binnenkomt Taskstruct. ​Broncodestructuur Cred. Kan gevonden worden hier .

Veldmodificatie-acties Struct cred. is te zien op rijen 472.473.474. ​Dat wil zeggen, deze actie is de waarde instellen UID, GID, SGID Proces gemaakt. Vanuit het oogpunt is het ingesteld op identificeerwaarden die meestal gebruiken wortel ​De methode lijkt erg op degene die wordt gebruikt voor de aanvallen op het Windows-besturingssysteem.

U kunt uzelf beschermen zonder het besturingssysteem bij te werken, als u de volgende wijzigingen in de configuratie maakt: sudo sysctl kernel.unprivileged_bpf_disabled = 1

CVE-2020-27194. - opnieuw kwetsbaarheid in EBPF. ​Er is een versies van versie 5.8. *. De makers van deze technologie maken het een grapje BPF. - Dit is JavaScript voor de kernel. In feite is dit oordeel niet ver van de waarheid. De virtuele machine doet echt manipulaties over teams met behulp van JIT-technologie, die zelf alle typische kwetsbare browsers in het besturingssysteem Kernel draagt, dat wil zeggen, het is moeilijk om het beveiligingssubsysteem te configureren om de code te beschermen. De kwetsbaarheid in overweging is dat u vanuit de code van de virtuele machine een ramgebied kunt wijzigen. Misschien is dit het gevolg van het feit dat de virtuele machine onveilig is met werken met 64 bit length operaties. Volledig vergelijkbare kwetsbaarheid van degene die we hierboven beschouwden.

Exploit, die is ontworpen om de beschreven beveiligingslek te gebruiken, voert dezelfde bewerkingen uit als de exploitatie CVE-2020-8835. Exploitalgoritme Volgende:

  1. Downloadcode met verwerking 64 bitbewerkingen

  2. Maak een socket en verzend gegevens naar oproepopdrachten EBPF.

    1. Vind het adres van de structuur Taskstruct. Door opdrachten in een virtuele machine uit te voeren

  3. Wijzig waarden UID, GID, SGID en start een interactieve shell.

De auteur schreef de broncode met nieuwe chips en extra functies. We bieden de lezer om zelf naar de code te kijken. De beursgenoteerde stadia van het werk van de bovenstaande exploiten zullen niet in de war raken.

Bescherming tegen deze kwetsbaarheid zonder updates te gebruiken is hetzelfde: sudo sysctl kernel.unprivileged_bpf_disabled = 1

Wat is het resultaat?

Op basis van twee exploits, die in het artikel werden overwogen, kan worden aangenomen dat het verhogen van de voorrechten in het Moderne Linux OS niet langer donkere programmeermagie is, maar een volledig opgeladen sjabloonproces dat hergebruik bevat van functies en objecten in RAM. Tegelijkertijd is het niet eens nodig om basisafhankelijke (shellcode) -code te schrijven die het grootste deel van de acties zal uitvoeren. Het is genoeg om de identificaties die worden gebruikt om privileges voor gebruikers toe te wijzen.

Meer informatie over de cursus "Beheerder Linux. Professional. "

Meld je aan voor een open les "Methoden en het vermogen om de scripts van de bash-shell te debuggen."

Lees verder:

Wat is exploit?

In het stadium van ontwikkeling in alle programma's en netwerken zijn de mechanismen van bescherming tegen hackers in het type sloten, waarschuwing ongeautoriseerd toezicht, ingebed. De kwetsbaarheid is vergelijkbaar met het open raam, om door te komen, wat niet veel moeilijk zal zijn voor een aanvaller. In het geval van een computer of netwerk kunnen aanvallers schadelijke software opzetten door kwetsbaarheid te gebruiken om controle te verkrijgen of het systeem te infecteren voor hun huursoldeden met relevante gevolgen. De kom van dit alles gebeurt zonder de kennis van de gebruiker.

Explantaat
Hoe is de exploit?

De exploits worden veroorzaakt door fouten in het ontwikkelingsproces van de software, waardoor kwetsbaarheden met succes worden gebruikt in het programmabeschermingssysteem, dat met succes door cybercriminalen wordt gebruikt om onbeperkte toegang tot het programma zelf te verkrijgen, en door deze verder naar de gehele computer te verkrijgen . Explantaten worden geclassificeerd in overeenstemming met het type kwetsbaarheid, dat wordt gebruikt door een hacker: nuldag, dos, spoofing of xxs. Natuurlijk zullen programmaontwikkelaars binnenkort beveiligingsupdates vrijgeven om gevonden gebreken te elimineren, maar tot op dit moment is het programma nog steeds kwetsbaar voor indringers.

Hoe exploiteren te herkennen?

Aangezien de exploits bars gebruiken in programma-beveiligingsmechanismen, heeft een gewone gebruiker bijna geen kans om hun aanwezigheid te bepalen. Daarom is het buitengewoon belangrijk om de gevestigde programma's bijgewerkt, vooral tijdig van beveiligingsupdates, vervaardigd door programmaontwikkelaars. In het geval dat de Software Developer beveiligingsupdate vrijgeeft om een ​​bepaalde beveiligingslek in haar software te elimineren, maar de gebruiker zal het niet vaststellen, dan ontvangt het programma, helaas niet de meest recente virale definities.

Hoe exploit te elimineren?

Vanwege het feit dat de exploits het gevolg zijn van toegewijde gebreken, is hun eliminatie opgenomen in de directe taken van de ontwikkelaars, zodat de auteurs een foutcorrectie moeten voorbereiden en verzenden. De verplichting om de geïnstalleerde programma's bijgehouden en tijdig de updatepakketten te onderhouden om de update-pakketten te installeren om de kans om kwetsbaarheden te gebruiken, ligt volledig op de gebruiker. Een van de mogelijke manieren mis je niet de nieuwste updates - gebruik de applicatiemanager die ervoor zorgt dat alle geïnstalleerde programma's worden bijgewerkt, of - wat nog beter is - gebruik de automatische zoek- en installatietool.

Hoe stoppen met pogingen van hackers om kwetsbaarheden van programma's van derden te gebruiken
  • Zorg ervoor dat u de nieuwste beveiligingsupdates en patches voor alle programma's hebt geïnstalleerd.
  • Om veilig online te zijn en op de hoogte te blijven van evenementen, stelt u alle updates onmiddellijk na hun vrijlating in.
  • Installeer en gebruik Premium Anti-Virus, die in staat is om de geïnstalleerde programma's automatisch bij te werken.
Bevestig jezelf van exploits

Vertrouw op gezond verstand en volg de basisregels van veilig werk op internet. Hackers kunnen alleen gebruik maken van kwetsbaarheid als ze erin slagen om toegang te krijgen tot uw pc. Open de bijlagen niet in verdachte berichten en download geen bestanden uit onbekende bronnen. Ondersteuning geïnstalleerde programma's bijgewerkt en installeer ook de beveiligingsupdates. Als u deze taak maximaal wilt vereenvoudigen, downloadt u AVAST-antivirus, die niet alleen betrouwbare bescherming zal bieden tegen alle soorten malware, maar ook helpt bij de installatie van de meest recente updates voor programma's van derden.

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