Yandex dzen.

Ce este exploatarea și modul în care hackerii o folosesc

Salutari. Cine sunt hackeri și ceea ce au discutat deja. Nu vom repeta, în plus, este acoperită în mod deschis în rețea și în cinema. Metodele de hacker și tipurile de atac Hacker sunt numeroase, prin urmare, pentru a nu crea din articolul "Vinaigrette", subliniem unul, care este popular cu hackerii negri și în 2020. Nu voi încerca să "salvez intriga", vom descrie: "Exploatați".

Pentru cunoștința introductivă, înțelegem că exploatațiile fac parte din codul calculatorului (sau compilate și nu numai ...), care utilizează "vulnerabilitatea victimei" și apoi obiectivele sunt ramificate: obținerea accesului; "Hanging"; Perturbare. Dacă cititorul a venit peste cuvintele "DOS ATAK", știți că 85%, hackerii au folosit "exploatați". De fapt, numele, dacă traducerea din limba engleză, va însemna: "Folosind ceva". Sau exploatarea, prin urmare, rădăcinile cuvântului "Exploit".

Aceste programe (vom solicita exploatări prin programe, Deși nu este adevărat ) sunt împărțite în destinații: pentru Windows, Linux și alte operațiuni; Pentru alte programe și așa mai departe. Etc.

Cred că cititorii vor să încerce să înțeleagă cum acest program magic, capabil să se angajeze, să stea și să ofere accesul "master" pe serverul "ciudat". Să găsim mai întâi de ce acordul este numit programul, nu este adevărat. Faptul este că este exploatat nu numai fișierul compilat, ci și un text (chiar și notepad cu o descriere a modului de a hack "sistemul" este deja exploatat). Înțeleg cea mai ușoară neînțelegere a lecturii, dar este: Dacă deschideți un notebook și acolo sub forma unui text pentru a scrie cum să "bucurați" orice server, va fi, de asemenea, o exploatare. Dar ceea ce ar dori cel puțin, diversifică un articol, să scriem cel puțin uneori cuvântul: program. Mai mult, astfel de exploatații se întâlnesc sub forma unui program pe "orice" limbă. Hackerii, aceștia sunt foști programatori care în trecut căutau erori în programe Prin urmare, astfel de persoane cu ușurință dețin limbile C / C ++, Perl și TD. Sarcina unor astfel de programe este redusă la depășirea tamponului, înregistrările SQL, cererile "Linden" pentru site și așa mai departe.

Ce este exploatarea și modul în care hackerii o folosesc

Se întâmplă să folosească secvența de programe, în cazul în care sarcina trebuie să fie "complicată".

Găsirea și descărcarea de exploatări gata realizate în Internet deschis nu este legală. Și, bineînțeles, autorul nu recomandă căutarea unor astfel de programe în DarkNet.

Deci, acum, atunci când o înțelegere despre exploatările depuse în cap, du-te la "practică virtuală". Să presupunem că situația: în orașul Voronezh, un bărbat trăiește care zboară în mod regulat spre Moscova și acolo "a noastră" o doamnă căsătorită. Soțul înșelător, incapabil să prindă iubitul, este decis în răzbunare, dar de la distanță. Pentru a face acest lucru, soțul dvs. este necesar accesul la computerul "scounding". Să nu intrăm în detalii, dar spunem faptul: a devenit cunoscut cum browserul folosește un "rival viclean". Din fericire pentru un soț avansat, în acest browser există o "vulnerabilitate". Rămâne doar pentru a forța iubitul "Codul de conducere", care fără cunoașterea utilizatorului, încărcăturile malware "pe partea". Apoi, soțul scrie o scrisoare, în numele soției sale și trimite un amant prin poștă. Rezultatul este de înțeles (deschide litera, iar codul este deja "în cazul").

Programele celebre sunt: ​​"Angler" (set complex (lucrări în RAM)); "Neutrino" (BrainChild rus la Java, costa 34 mii de dolari); "Kit Blackhole" (bate browserele Chrome, "Oslik", "Firefox" ).

Comentariu ("negativ \ pozitiv"). Abonati-va. Ca. La revedere.

Bună, Habrovsk. În anticiparea începutului cursului "Administrator Linux. Profesional » Expertul nostru - Alexander Kolesnikov a pregătit un articol interesant, pe care îl vom împărtăși cu plăcere cu dvs., de asemenea, invitați viitori studenți și toți cei care doresc să viziteze o lecție deschisă pe această temă "Metodele și capacitatea de a depana scripturile coajă de bash".

Sistemul de operare Linux a demonstrat lumii toată puterea proiectelor open source - datorită ei astăzi, avem ocazia să privim codul sursă al sistemului de lucru și pe baza acestuia pentru a vă asambla propriul sistem pentru a rezolva anumite obiective. Datorită deschiderii sale, Linux urma să devină cel mai sigur sistem de operare din lume, deoarece codul sursă open permite dezvoltarea și îmbunătățirea subsistemelor de protecție din atacurile de operare și îmbunătățirea sistemului de operare în sine. Într-adevăr, în acest moment există un număr mare de protecție comunitară creată: astăzi nu mai este atât de ușor să supraviețuiți vulnerabilităților tipului de depășire a tamponului pentru a obține privilegii ridicate la doar 20 de ani în urmă. Cu toate acestea, astăzi puteți găsi exploatări în domeniul public, care chiar și pe cele mai recente versiuni ale kernelului pot crește privilegiile utilizatorilor. Luați în considerare în acest articol, așa cum funcționează și de ce se dovedește. Vom trece prin principalele componente ale exploatării și vom lua în considerare cum unii dintre ei lucrează.

Toate informațiile furnizate au fost colectate exclusiv în scopuri informaționale.

Tipuri de exploatare

Alegeți un termen general pe care îl vom denota ceea ce este Exploata - algoritmul care încalcă funcționarea normală a sistemului de operare, și anume mecanismele de separare a accesului. De asemenea, vom introduce conceptul Vulnerabilități - Aceasta este o imperfecțiune software care poate fi utilizată de un algoritm de exploatare. Fără vulnerabilitate, existența unui exploatat este imposibilă.

Introducem clasificarea exploatărilor. Separarea de bază a exploatărilor la subgrupurile pentru orice sistem de operare începe la nivelul arhitecturii. Astăzi, sistemele de operare includ cel puțin 2 niveluri de privilegii folosite pentru munca lor. Mai jos este o imagine care arată în mod clar separarea privilegiilor. Imagine luată De aici .

Imaginea arată foarte clar că kernelul (spațiul de kernel) este prezent în sistemul de operare, este de obicei cel mai privilegiat mod, aici este că numim sistemul de operare. Iar al doilea nivel este personalizat (spațiu utilizator): aplicații și servicii regulate pe care le folosim în fiecare zi sunt lansate aici.

Ea a dezvoltat istoric că pentru fiecare dintre nivelurile de mai sus, pot fi găsite vulnerabilități pentru care poate fi creat un exploatat, dar exploatarea pentru fiecare nivel are limitările sale.

La nivel de utilizator, orice exploatare care afectează aplicația va avea exact acele privilegii utilizate de utilizatorul care a lansat o aplicație vulnerabilă. Prin urmare, acest tip de exploatare vă permite să obțineți controlul deplin asupra sistemului de operare numai dacă aplicația este lansată de administratorul de sistem. Spre deosebire de nivelul de utilizator, Nivelul kernelului. Dacă conține un cod vulnerabil, acesta poate permite imediat sistemul de operare cu privilegii maxime. Mai jos se va concentra pe studiul acestor exploatări.

Explante

Imaginați-vă statisticile mici privind divulgarea vulnerabilităților pentru kernelul distribuției sistemului de operare Linux ale Debian, Suse, Ubuntu, Arch Linux din ultimii 4 ani.

Datele luate De aici . Imaginea nu pretinde că este completă, dar arată că există o mulțime de vulnerabilități și chiar astăzi există din ceea ce să aleagă să construiască un exploatat. Să încercăm să descriem ceea ce este exploatat.

Orice exploatare pentru orice nivel al sistemului de operare astăzi constă în părți care trebuie implementate în codul său:

  1. Operațiuni pregătitoare:

    1) Navigați afișajul necesar memoriei

    2) Crearea obiectelor necesare în sistemul de operare

    3) Bypassing Mecanisme de protecție OS pentru vulnerabilitate

  2. Apelați partea vulnerabilă.

  3. Efectuează o sarcină utilă:

    1) Pentru a deschide accesul la sistemul de operare

    2) Pentru a schimba configurația sistemului de operare

    3) Pentru ieșirea sistemului

Când efectuați toate elementele, care sunt indicate mai sus, puteți scrie un exploatat funcțional. Luați mai multe exploatări ale anilor trecuți și încercați să aflați dacă este posibil să găsiți unele regularități sau împrumuturi care sunt utilizate pentru a încălca separarea accesului în sistemul de operare Linux. Ca obiecte de studiu, luăm exploatări care utilizează următoarele vulnerabilități cu identificatorii CVE:

CVE-2020-8835.

CVE-2020-27194.

Exploatarea dezastrului

CVE-2020-8835. рAspasă-l pe kernelul sistemului de operare Linux de la versiunea 5.5.0. Vulnerabilitatea este în implementarea tehnologică Ebpf. . Tehnologia a fost concepută pentru a se asigura că utilizatorul poate crea manipulatori personalizați pentru a filtra traficul de rețea. Ca componentă principală pentru filtrarea, se utilizează o mașină virtuală cu setul propriu de comenzi. Codul care este realizat de mașina virtuală trăiește în kernel: o eroare în acest cod aduce un atacator pentru a lucra cu memorie cu privilegii maxime. În cazul vulnerabilității descrise, problema a fost că operațiunile de procesare a operațiunilor 32 de biți nu au fost procesate corect, iar mașina virtuală ar putea scrie și citi datele din memoria RAM nucleară.

Pe măsură ce autorul exploatului utilizează această vulnerabilitate și ce se efectuează o sarcină utilă, luați în considerare în continuare.

Etapa pregătitoare

Pentru această etapă, următoarea parte a codului este responsabilă.

Rândul 394 - Crearea unui obiect în memorie care va stoca date despre comenzi pentru Ebpf. . Rândul 400 Încărcarea în codul de memorie care va fi efectuată în mașina virtuală și va încălca condițiile pentru procesarea comenzilor de 32 de biți. Pregătirea memoriei sa terminat, următoarele linii vor crea un obiect de soclu care va fi numit comenzi încărcate pentru bpf. . După aceea, camera vulnerabilității va începe.

Apelați codul vulnerabil

Apelând un cod vulnerabil sau mai degrabă, lucrul cu comenzile mașinilor virtuale se efectuează de la linia 423 la 441. Principala sarcină a acestui cod este obținerea adresei de bază a structurii care este în memorie, în acest caz este a heap (heap) proces. De îndată ce aceste comenzi sunt efectuate, exploatarea va fi capabilă să detecteze datele utilizate de sistemul de operare pentru a controla separarea accesului. În sistemul de operare Linux, aceste date sunt stocate în structură TaskStrut. .

Încărcătură utilă

Sarcina utilă a acestui exploatat este că după executarea sa, puteți rula un proces cu drepturile utilizatorilor rădăcină . Pentru aceasta, codul de exploatare produce modificarea câmpurilor de câmp de sistem de operare Linux - Cred. Aceasta este o structură care intră în structură TaskStrut. . Structura codului sursă Cred. Poate fi găsit Aici .

Acțiuni de modificare a câmpului Struct cred. pot fi văzute pe rânduri 472,473,474. . Adică această acțiune resetează valoarea UID, GID, SGID Procesul creat. Din punct de vedere, acesta este setat la valorile de identificare care utilizează de obicei rădăcină . Metoda este foarte asemănătoare cu cea utilizată pentru atacurile asupra sistemului de operare Windows.

Vă puteți proteja fără actualizarea sistemului de operare, dacă efectuați următoarele modificări ale configului: sudo sysctl kernel.unprivileged_bpf_disabled = 1

CVE-2020-27194. - Vulnerabilitatea din nou în Ebpf. . Există o versiune a versiunii 5.8. *. Creatorii acestei tehnologii glumesc asta bpf. - Acesta este JavaScript pentru kernel. De fapt, această judecată nu este departe de adevăr. Mașina virtuală conduce într-adevăr manipulări peste echipe folosind tehnologia JIT, care are în sine toate vulnerabilitățile tipice de browsere în kernelul sistemului de operare, adică este dificil să configurați subsistemul de protecție pentru a proteja codul. Vulnerabilitatea luată în considerare este că din codul mașinii virtuale, puteți modifica orice zonă de memorie RAM. Poate că acest lucru se datorează faptului că mașina virtuală este nesigură de lucru cu operațiuni de lungime de 64 de biți. Vulnerabilitatea complet similară a celui pe care l-am considerat mai sus.

Exploatarea, care este concepută pentru a utiliza vulnerabilitatea descrisă, efectuează aceleași operații ca și Exploatul CVE-2020-8835. Exploatați algoritmul următor:

  1. Codul de descărcare cu procesarea operațiunilor de 64 de biți

  2. Creați o priză și trimiteți date pentru a apela comenzi Ebpf.

    1. Găsiți în minte adresa structurii TaskStrut. Prin efectuarea comenzilor într-o mașină virtuală

  3. Modificați valorile UID, GID, SGID și lansați o coajă interactivă.

Autorul a scris codul sursă cu chipsuri noi și caracteristici suplimentare. Oferim cititorului să se uite la codul singur. Etapele enumerate ale activității exploatării de mai sus nu vor fi confuze.

Protecția împotriva acestei vulnerabilități fără a utiliza actualizări este aceeași: sudo sysctl kernel.unprivileged_bpf_disabled = 1

Care este rezultatul?

Pe baza a două exploatări, care au fost luate în considerare în articol, se poate presupune că creșterea privilegiilor în sistemul de operare modern Linux nu mai este o magie de programare întunecată, ci un proces de șablon complet încărcat, care include reutilizarea funcțiilor și a obiectelor din RAM. În același timp, nu este chiar necesar să scrieți codul dependent de bază (scdecode) care va efectua majoritatea acțiunilor. Este suficient să modificați pur și simplu identificatorii care sunt utilizați pentru a atribui privilegii utilizatorilor.

Aflați mai multe despre curs "Administrator Linux. Profesional ".

Înscrieți-vă pentru o lecție deschisă "Metodele și capacitatea de a depana scripturile coajă de bash".

Citeste mai mult:

Ce este exploatat?

În etapa de dezvoltare în toate programele și rețelele, sunt încorporate mecanismele de protecție împotriva hackerilor în tipul de încuietori, avertizând supravegherea neautorizată. Vulnerabilitatea este similară cu fereastra deschisă, pentru a trece prin care nu va fi mult dificil pentru un atacator. În cazul unui calculator sau al unei rețele, atacatorii pot stabili software rău intenționat prin utilizarea vulnerabilității pentru a obține controlul sau a infecta sistemul în scopuri mercenar cu consecințe relevante. Bowlul tuturor lucrurilor se întâmplă fără cunoștințele utilizatorului.

Explante
Cum se ridică exploatarea?

Exploatațiile sunt cauzate de erori în procesul de dezvoltare a software-ului, ca urmare a utilizării cu succes a vulnerabilităților în sistemul de protecție a programului, care sunt utilizate cu succes de cibernetice pentru a obține acces nelimitat la programul propriu-zis și prin intermediul întregului computer . Explictele sunt clasificate în funcție de tipul de vulnerabilitate, care este utilizat de un hacker: Zero Zi, Dos, Spoofing sau XXS. Desigur, dezvoltatorii de programe vor lansa în curând actualizări de securitate pentru a elimina defectele găsite, cu toate acestea, până în prezent, programul este încă vulnerabil la intruși.

Cum să recunoașteți exploatarea?

Deoarece exploatările utilizează bare în mecanismele de securitate ale programului, un utilizator obișnuit nu are aproape nici o șansă de a-și determina prezența. De aceea este extrem de important să se mențină programele stabilite actualizate, în special în timp util ale actualizărilor de securitate, fabricate de dezvoltatorii de programe. În cazul în care dezvoltatorul de software eliberează actualizarea securității pentru a elimina o anumită vulnerabilitate în software-ul său, dar utilizatorul nu va stabili, atunci, din păcate, programul nu va primi cele mai recente definiții virale.

Cum de a elimina exploatarea?

Datorită faptului că exploatările sunt consecința unor defecte comise, eliminarea lor este inclusă în atribuțiile directe ale dezvoltatorilor, astfel încât autorii vor trebui să pregătească și să trimită corectarea erorilor. Cu toate acestea, obligația de a menține programele instalate actualizate și instalarea în timp util a pachetelor de actualizare pentru a nu oferi șanse de a utiliza vulnerabilitățile, se află complet pe utilizator. Una dintre modalitățile posibile nu pierde cele mai recente actualizări - Utilizați managerul de aplicații care vă va asigura că toate programele instalate sunt actualizate sau - ceea ce este chiar mai bun - utilizați instrumentul de căutare și instalare automată.

Cum să opriți încercările hackerilor de a utiliza vulnerabilitățile programelor terțe
  • Asigurați-vă că ați instalat cele mai recente actualizări de securitate și patch-uri pentru toate programele.
  • Pentru a fi sigure online și rămâneți la curent cu evenimentele, setați toate actualizările imediat după eliberarea acestora.
  • Instalați și utilizați antivirus premium, care este capabil să actualizeze automat programele instalate.
Asigurați-vă de exploatări

Se bazează pe bunul simț și urmați regulile de bază ale lucrărilor sigure pe Internet. Hackerii pot profita doar de vulnerabilitate dacă reușesc să acceseze PC-ul. Nu deschideți atașamentele în mesaje suspecte și nu descărcați fișiere din surse necunoscute. Suport programe instalate actualizate și, de asemenea, instalați actualizări de securitate. Dacă doriți să simplificați maxim această sarcină, descărcați Avast Antivirus, care nu numai că va oferi o protecție fiabilă împotriva tuturor tipurilor de malware, dar va ajuta, de asemenea, la instalarea celor mai recente actualizări pentru programele terță parte.

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