Yandex dzen.

Ano ang pagsasamantala at kung paano ginagamit ito ng mga hacker

Pagbati. Sino ang mga hacker at kung ano ang kanilang tinalakay. Hindi namin ulitin, bukod pa, ito ay lantaran na sakop sa network at sa sinehan. Ang mga pamamaraan ng Hacker at mga uri ng pag-atake ng hacker ay maraming, samakatuwid, upang hindi lumikha mula sa artikulong "vinaigrette", i-highlight namin ang isa, na popular sa mga itim na hacker at sa 2020. Hindi ko susubukan na "i-save ang intriga", ilalarawan namin: "Pagsasamantala".

Para sa pambungad na kakilala, naiintindihan namin na ang mga pagsasamantala ay bahagi ng code ng computer (o pinagsama-samang programa at hindi lamang ...), na gumagamit ng "kahinaan ng biktima" at pagkatapos ay ang mga layunin ay branched sa: pagkuha ng access; "Hanging" server; Pagkagambala. Kung ang mambabasa ay dumating sa mga salitang "Dos atak", alam na 85%, ginagamit ng mga hacker ang "pagsasamantala". Sa totoo lang, ang pangalan, kung ang pagsasalin mula sa Ingles, ay nangangahulugang: "Paggamit ng isang bagay." O pagsasamantala, kaya ang mga ugat ng salitang "pagsamantalahan".

Ang mga programang ito (tatawagan namin ang mga pagsasamantala sa pamamagitan ng mga programa, Kahit na ito ay hindi totoo ) ay nahahati sa mga destinasyon: para sa Windows, Linux at iba pang mga operating; Para sa iba pang mga programa at iba pa. Atbp.

Sa palagay ko gusto ng mga mambabasa na maunawaan kung paano ang programang ito ng magic, magagawang makisali, mag-hang at nagbibigay ng access na "master" sa "kakaiba" na server. Una nating malaman kung bakit ang kasunduan ay tinatawag na programa, hindi totoo. Ang katotohanan ay na ito ay pinagsamantalahan hindi lamang ang naipon na file, kundi pati na rin ng isang teksto (kahit na notepad na may paglalarawan kung paano i-hack ang "sistema" ay pinagsasamantalahan). Naiintindihan ko ang pinakamadaling hindi pagkakaunawaan ng pagbabasa, ngunit ito ay: Kung binuksan mo ang isang kuwaderno at doon sa anyo ng isang teksto upang isulat kung paano "tangkilikin" ang anumang server, ito ay magiging isang pagsasamantala. Ngunit kung ano ang gusto mo, pag-iba-ibahin ang isang artikulo, hayaan ang hindi bababa sa kung minsan isulat ang salitang: programa. Bukod dito, ang mga pagsasamantala ay nakatagpo sa anyo ng isang programa sa "anumang" wika. Ang mga hacker, ang mga ito ay dating mga programmer na sa nakaraan ay naghahanap ng mga error sa mga programa Samakatuwid, ang gayong mga tao ay madaling magkaroon ng mga wika ng C / C ++, Perl at TD. Ang gawain ng naturang mga programa ay nabawasan sa buffer overflow, mga rekord ng SQL, "Linden" na mga kahilingan para sa site at iba pa.

Ano ang pagsasamantala at kung paano ginagamit ito ng mga hacker

Ito ay nangyayari upang gamitin ang pagkakasunud-sunod ng mga programa, kung sakaling ang gawain ay "kumplikado".

Hanapin at i-download ang mga handa na ginawa pagsasamantala sa Buksan ang Internet ay hindi legal. At siyempre, ang may-akda ay hindi inirerekomenda na naghahanap ng mga programang tulad ng darknet.

Kaya, ngayon kapag ang isang pag-unawa tungkol sa mga pagsasamantala na idineposito sa ulo, pumunta sa "virtual na kasanayan". Ipagpalagay na ang sitwasyon: Sa lungsod ng Voronezh, ang isang tao ay nabubuhay na regular na lumilipad sa Moscow at doon "atin" isang may-asawa na babae. Ang nalinlang na asawa, hindi nakakuha ng kasintahan, ay nagpasya sa paghihiganti, ngunit malayo. Upang gawin ito, kailangan ng iyong asawa ang pag-access sa computer na "scounding". Hayaan hindi pumunta sa mga detalye, ngunit sinasabi namin ang katotohanan: ito ay naging kilala kung paano ang browser ay gumagamit ng isang "tuso karibal". Sa kabutihang palad para sa isang advanced na asawa, sa browser na ito ay may isang "kahinaan". Ito ay nananatiling lamang upang pilitin ang lover "run code", na kung saan walang kaalaman ng gumagamit, naglo-load malware "sa gilid". Pagkatapos ay nagsusulat ang asawa ng sulat, sa ngalan ng kanyang asawa at nagpapadala ng kasintahan sa pamamagitan ng koreo. Ang resulta ay maliwanag (bubukas ang sulat, at ang code ay "sa kaso").

Ang mga sikat na programa ay: "Angler" (kumplikadong hanay (gumagana sa RAM)); "Neutrino" (Russian brainchild sa Java, nagkakahalaga ng 34,000 dolyar); "Blackhole kit" (beats ang mga browser Chrome, "Oslik", "Firefox" ).

Komento ("negatibong positibo"). Mag-subscribe. Gaya ng. Paalam.

Hi, Habrovsk. Sa pag-asam ng simula ng kurso "Administrator Linux. Propesyonal » Ang aming eksperto - inihanda ni Alexander Kolesnikov ang isang kawili-wiling artikulo, na malugod naming ibahagi sa iyo. Mag-imbita din sa mga mag-aaral sa hinaharap at lahat ng nagnanais na bisitahin ang isang bukas na aralin sa paksa "Mga pamamaraan at kakayahang mag-debug ng mga script ng Bash Shell."

Ang Linux operating system ay napatunayan sa mundo ang lahat ng kapangyarihan ng mga proyektong open source - salamat sa kanya ngayon, mayroon kaming pagkakataon na tingnan ang source code ng nagtatrabaho OS at batay dito upang tipunin ang iyong sariling sistema upang malutas ang ilang mga layunin. Dahil sa pagiging bukas nito, ang Linux ay magiging pinakaligtas na operating system sa mundo, dahil ang open source code ay nagbibigay-daan upang bumuo at mapabuti ang mga subsystem ng proteksyon mula mismo sa pag-atake sa OS at pagbutihin ang operating system mismo. Sa katunayan, sa sandaling ito ay may isang malaking bilang ng mga proteksyon ng komunidad na nilikha: Ngayon ito ay hindi na kaya madaling mag o overfort ng mga kahinaan ng uri ng buffer overflow upang makakuha ng mataas na mga pribilehiyo tulad ng 20 taon na ang nakaraan. Gayunpaman, ngayon maaari kang makahanap ng mga pagsasamantala sa pampublikong domain, na kahit na sa mga pinakabagong bersyon ng kernel ay maaaring dagdagan ang mga pribilehiyo ng gumagamit. Isaalang-alang sa artikulong ito, dahil ito ay gumagana at kung bakit ito lumiliko. Pupunta kami sa mga pangunahing bahagi ng pagsasamantala at isaalang-alang kung paano gumagana ang ilan sa kanila.

Ang lahat ng impormasyon na ibinigay ay nakolekta eksklusibo para sa mga layuning pang-impormasyon.

Mga uri ng pagsasamantala

Pumili ng isang pangkalahatang termino na ipapakita namin kung ano ang Pagsamantalahan - Ang algorithm na lumalabag sa normal na paggana ng operating system, lalo, ang mga mekanismo ng paghihiwalay ng pag-access. Ipakilala din namin ang konsepto. Mga kahinaan - Ito ay isang software na hindi perpekto na maaaring magamit ng isang pagsasamantala algorithm. Walang kahinaan, imposible ang pagkakaroon ng isang pagsasamantala.

Ipinapakilala namin ang pag-uuri ng mga pagsasamantala. Ang pangunahing paghihiwalay ng pagsasamantala sa mga subgroup para sa anumang operating system ay nagsisimula sa antas ng arkitektura. Sa ngayon, ang mga operating system ay may hindi bababa sa 2 antas ng mga pribilehiyo na ginagamit para sa kanilang trabaho. Nasa ibaba ang isang larawan na malinaw na nagpapakita ng paghihiwalay ng mga pribilehiyo. Kinuha ang larawan Mula rito .

Ang larawan ay malinaw na nagpapakita na ang kernel (kernel space) ay naroroon sa operating system, kadalasan ito ang pinaka-privileged mode, narito na tinatawag namin ang operating system. At ang pangalawang antas ay pasadyang (espasyo ng gumagamit): Ang mga regular na application at serbisyo na ginagamit namin araw-araw ay inilunsad dito.

Ito ay kasaysayan na binuo na para sa bawat antas sa itaas, ang mga kahinaan ay matatagpuan kung saan ang isang pagsasamantala ay maaaring malikha, ngunit ang pagsasamantala para sa bawat antas ay may mga limitasyon nito.

Sa antas ng gumagamit, ang anumang pagsasamantala na nakakaapekto sa application ay magkakaroon ng eksaktong mga pribilehiyo na ginagamit ng gumagamit na naglunsad ng isang mahina na aplikasyon. Samakatuwid, ang ganitong uri ng pagsasamantala ay nagbibigay-daan sa iyo upang makakuha ng ganap na kontrol sa OS lamang kung ang application ay inilunsad ng administrator ng system. Kabaligtaran sa antas ng gumagamit, Kernel level. Kung naglalaman ito ng isang mahihinang code, maaari itong agad na paganahin ang operating system na may pinakamataas na pribilehiyo. Sa ibaba ay tumutuon sa pag-aaral ng mga pagsasamantala.

Explant.

Isipin ang maliliit na istatistika sa pagsisiwalat ng mga kahinaan para sa kernel ng distribusyon ng operating system ng Linux ng Debian, Suse, Ubuntu, Arch Linux ng huling 4 na taon.

Kinuha ang data. Mula rito . Ang larawan ay hindi nagkukunwaring kumpleto, ngunit nagpapakita ito na maraming mga kahinaan, at kahit na ngayon ay mula sa kung ano ang pipiliin na bumuo ng isang pagsasamantala. Subukan nating ilarawan kung ano ang pagsasamantala.

Ang anumang pagsasamantala para sa anumang antas ng operating system ngayon ay binubuo ng mga bahagi na dapat ipatupad sa code nito:

  1. Mga operasyon ng paghahanda:

    1) Mag-navigate sa kinakailangang memory display.

    2) Paglikha ng mga kinakailangang bagay sa OS.

    3) bypassing mekanismo ng proteksyon ng OS para sa kahinaan

  2. Tumawag sa mahina na bahagi.

  3. Gumaganap ng isang kargamento:

    1) upang buksan ang access sa OS.

    2) upang baguhin ang configuration ng OS.

    3) para sa output ng system.

Kapag nagsasagawa ng lahat ng mga item, na ipinahiwatig sa itaas, maaari kang magsulat ng workable exploit. Kumuha ng ilang mga pagsasamantala ng mga nakaraang taon at subukan upang malaman kung posible na makahanap ng ilang mga regularidad o paghiram na ginagamit upang labagin ang paghihiwalay ng access sa Linux operating system. Bilang mga bagay ng pag-aaral, kumukuha kami ng mga pagsasamantala na gumagamit ng mga sumusunod na kahinaan sa CVE identifiers:

Cve-2020-8835.

Cve-2020-27194.

Pagsasamantalang Disaster.

Cve-2020-8835. рAspasses ang kernel ng Linux OS mula sa bersyon 5.5.0. Ang kahinaan ay nasa pagpapatupad ng teknolohiya EBPF. . Ang teknolohiya ay dinisenyo upang matiyak na ang user ay maaaring lumikha ng mga pasadyang handler upang i-filter ang trapiko sa network. Bilang pangunahing bahagi para sa pag-filter, ang isang virtual machine na may sariling hanay ng mga utos ay ginagamit. Ang code na ginagampanan ng virtual machine ay nakatira sa kernel: isang error sa code na ito ay nagdudulot ng isang magsasalakay upang gumana sa memorya na may pinakamataas na pribilehiyo. Sa kaso ng inilarawan kahinaan, ang problema ay ang operasyon sa pagpoproseso ng operasyon 32 bits ay hindi maayos na naproseso, at maaaring isulat at basahin ng virtual machine ang data sa nuclear ram.

Habang ginagamit ng may-akda ng pagsasamantala ang kahinaan na ito at kung ano ang isang kargamento ay ginaganap, isaalang-alang pa.

Preparatory Stage.

Para sa yugtong ito, ang susunod na bahagi ng code ay responsable.

Row 394 - Paglikha ng isang bagay sa memorya na mag-iimbak ng data sa mga utos para sa EBPF. . Ang Row 400 ay naglo-load sa memory code na isasagawa sa virtual machine at labagin ang mga kondisyon para sa pagproseso ng 32 bit command. Ang paghahanda sa memorya ay tapos na, ang mga sumusunod na linya ay lilikha ng isang bagay ng isang socket na tatawaging na-upload na mga utos para sa bpf. . Pagkatapos nito, magsisimula ang Chamber of the Vulnerability.

Call Vulnerable Code.

Ang pagtawag sa isang mahihinang code, o sa halip, nagtatrabaho sa mga virtual machine command ay isinasagawa mula sa linya 423 hanggang 441. Ang pangunahing gawain ng code na ito ay upang makuha ang pangunahing address ng istraktura na nasa memorya, sa kasong ito ito ay isang proseso ng heap (heap). Sa sandaling gumanap ang mga utos na ito, ang pagsasamantala ay makakakita ng data na ginagamit ng operating system upang kontrolin ang paghihiwalay ng pag-access. Sa operating system ng Linux, ang data na ito ay naka-imbak sa istraktura Taskstruct. .

Kargamento

Ang kapaki-pakinabang na pag-load ng pagsasamantala na ito ay pagkatapos ng pagpapatupad nito, maaari kang magpatakbo ng isang proseso sa mga karapatan ng gumagamit root. . Para sa mga ito, ang pagsasamantala code ay gumagawa ng pagbabago ng Linux operating system kernel field field - Kredito. Ito ay isang istraktura na pumapasok sa istraktura Taskstruct. . Istraktura ng source code Kredito. Ay matatagpuan dito .

Mga pagkilos sa pagbabago ng field. Struct cred. ay makikita sa mga hilera 472,473,474. . Iyon ay, ang pagkilos na ito ay na-reset ang halaga Uid, gid, sgid. Nilikha ang proseso. Mula sa punto ng view, ito ay nakatakda sa mga halaga ng identifier na karaniwang ginagamit root. . Ang pamamaraan ay halos kapareho ng isa na ginagamit para sa mga pag-atake sa operating system ng Windows.

Maaari mong protektahan ang iyong sarili nang hindi ina-update ang OS, kung gagawin mo ang mga sumusunod na pagbabago sa config: sudo sysctl kernel.unprivileged_bpf_disabled = 1.

Cve-2020-27194. - Muli kahinaan sa. EBPF. . May mga bersyon ng bersyon 5.8. *. Ang mga tagalikha ng teknolohiyang ito ay nakikipagtulungan bpf. - Ito ay JavaScript para sa kernel. Sa katunayan, ang paghatol na ito ay hindi malayo sa katotohanan. Ang virtual machine ay talagang nagsasagawa ng mga manipulasyon sa mga koponan gamit ang teknolohiya ng JIT, na dinala mismo ang lahat ng mga karaniwang kahinaan ng browser sa kernel ng operating system, iyon ay, mahirap i-configure ang proteksyon subsystem upang protektahan ang code. Ang kahinaan sa ilalim ng pagsasaalang-alang ay mula sa code ng virtual machine, maaari mong baguhin ang anumang lugar ng RAM. Marahil ito ay dahil sa ang katunayan na ang virtual machine ay hindi ligtas na nagtatrabaho sa 64 bit haba ng operasyon. Ganap na katulad na kahinaan ng isa na isinasaalang-alang namin sa itaas.

Ang pagsasamantala, na idinisenyo upang gamitin ang inilarawan na kahinaan, ay gumaganap ng parehong mga operasyon bilang pagsasamantala ng CVE-2020-8835. Susunod na algorithm ang susunod:

  1. I-download ang code sa pagproseso ng 64 bit na operasyon

  2. Lumikha ng socket at magpadala ng data upang tumawag sa mga utos EBPF.

    1. Hanapin sa isip ang address ng istraktura Taskstruct. Sa pamamagitan ng pagsasagawa ng mga utos sa isang virtual machine

  3. Baguhin ang mga halaga Uid, gid, sgid. at ilunsad ang isang interactive na shell.

Isinulat ng may-akda ang source code na may mga bagong chips at karagdagang mga tampok. Nag-aalok kami ng mambabasa upang tingnan ang code sa iyong sarili. Ang nakalistang yugto ng gawain ng pagsasamantala sa itaas ay hindi malito.

Ang proteksyon laban sa kahinaan na ito nang hindi gumagamit ng mga update ay pareho: sudo sysctl kernel.unprivileged_bpf_disabled = 1.

Ano ang resulta?

Batay sa dalawang pagsasamantala, na isinasaalang-alang sa artikulo, maaari itong ipagpalagay na ang pagtaas ng mga pribilehiyo sa modernong Linux OS ay hindi na madilim na programming magic, ngunit isang ganap na sisingilin na proseso ng template na may muling paggamit ng mga function at mga bagay sa RAM. Kasabay nito, hindi na kailangang magsulat ng base-dependent (shellcode) code na gagawa ng karamihan sa mga pagkilos. Ito ay sapat na upang baguhin lamang ang mga identifier na ginagamit upang magtalaga ng mga pribilehiyo para sa mga gumagamit.

Matuto nang higit pa tungkol sa kurso "Administrator Linux. Propesyonal. "

Mag-sign up para sa isang bukas na aralin "Mga pamamaraan at kakayahang mag-debug ng mga script ng Bash Shell."

Magbasa nang higit pa:

Ano ang pagsasamantala?

Sa yugto ng pag-unlad sa lahat ng mga programa at network, ang mga mekanismo ng proteksyon laban sa mga hacker sa uri ng mga kandado, babala na hindi awtorisadong pagsubaybay, ay naka-embed. Ang kahinaan ay katulad ng bukas na window, upang makakuha ng kung saan ay hindi magiging mahirap para sa isang magsasalakay. Sa kaso ng isang computer o network, ang mga attackers ay maaaring magtatag ng malisyosong software sa pamamagitan ng paggamit ng kahinaan upang makakuha ng kontrol o makahawa sa sistema para sa kanilang mga mercenary layunin na may may-katuturang mga kahihinatnan. Ang mangkok ng lahat ng ito ay nangyayari nang walang kaalaman ng gumagamit.

Explant.
Paano lumitaw ang pagsasamantala?

Ang mga pagsasamantala ay sanhi ng mga pagkakamali sa proseso ng pag-unlad ng software, bilang isang resulta kung saan matagumpay na ginagamit ang mga kahinaan sa sistema ng proteksyon ng programa, na matagumpay na ginagamit ng mga cybercriminals upang makakuha ng walang limitasyong access sa programa mismo, at sa pamamagitan nito ay higit pa sa buong computer . Ang mga eksplant ay inuri alinsunod sa uri ng kahinaan, na ginagamit ng isang hacker: zero araw, dos, spoofing o xxs. Siyempre, ang mga developer ng programa ay malapit nang ilabas ang mga update sa seguridad upang alisin ang mga natuklasan na mga depekto, gayunpaman, hanggang sa puntong ito, ang programa ay mahina pa rin sa mga intruder.

Paano makilala ang pagsasamantala?

Dahil ang mga pagsasamantala ay gumagamit ng mga bar sa mga mekanismo ng seguridad ng programa, ang isang ordinaryong gumagamit ay halos walang pagkakataon upang matukoy ang kanilang presensya. Iyon ang dahilan kung bakit napakahalaga na mapanatili ang itinatag na mga programa na na-update, lalo na sa isang napapanahong paraan ng mga update sa seguridad, na ginawa ng mga developer ng programa. Kung ang developer ng software ay naglalabas ng pag-update ng seguridad upang maalis ang isang tiyak na kahinaan sa software nito, ngunit hindi itatatag ito ng gumagamit, pagkatapos, sa kasamaang palad, ang programa ay hindi makakatanggap ng pinakahuling mga kahulugan ng viral.

Paano upang maalis ang pagsasamantala?

Dahil sa ang katunayan na ang mga pagsasamantala ay ang kinahinatnan ng mga nakatuon na depekto, ang kanilang pag-aalis ay kasama sa mga direktang tungkulin ng mga developer, kaya ang mga may-akda ay kailangang maghanda at magpadala ng pagwawasto ng error. Gayunpaman, ang obligasyon na mapanatili ang na-update na mga programang na-update at napapanahong i-install ang mga pakete ng pag-update upang hindi magbigay ng pagkakataon na gumamit ng mga kahinaan, ganap na namamalagi sa gumagamit. Ang isa sa mga posibleng paraan ay hindi nakaligtaan ang mga pinakabagong update - gamitin ang application manager na matiyak na ang lahat ng naka-install na mga programa ay na-update, o - ano ang mas mahusay - gamitin ang awtomatikong paghahanap at pag-install ng tool.

Paano Itigil ang mga pagtatangka ng mga hacker upang magamit ang mga kahinaan ng mga programa ng third-party
  • Tiyaking na-install mo ang pinakabagong mga update sa seguridad at mga patch para sa lahat ng mga programa.
  • Upang maging ligtas sa online at manatiling napapanahon sa mga kaganapan, itakda agad ang lahat ng mga update pagkatapos ng kanilang paglabas.
  • I-install at gamitin ang premium na anti-virus, na may kakayahang awtomatikong pag-update ng mga naka-install na programa.
I-secure ang iyong sarili mula sa pagsasamantala

Umasa sa sentido komun at sundin ang mga pangunahing patakaran ng ligtas na trabaho sa Internet. Maaari lamang samantalahin ng mga hacker ang kahinaan kung pinamamahalaan nila upang ma-access ang iyong PC. Huwag buksan ang mga attachment sa mga kahina-hinalang mensahe at huwag mag-download ng mga file mula sa hindi kilalang mga mapagkukunan. Na-update ang mga naka-install na programa ng suporta, at din napapanahong i-install ang mga update sa seguridad. Kung nais mong mapadali ang gawaing ito, i-download ang Avast Antivirus, na hindi lamang magbigay ng maaasahang proteksyon laban sa lahat ng uri ng malware, ngunit makakatulong din sa pag-install ng mga pinakabagong update para sa mga programang third-party.

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