Remote Desktop sa pamamagitan ng mga mata ng isang umaatake

1. Panimula

Ang mga kumpanyang walang malayuang sistema ng pag-access sa lugar ay agarang nag-deploy sa kanila ilang buwan na ang nakalipas. Hindi lahat ng mga administrador ay handa para sa ganoong "init," na nagresulta sa pagkawala ng seguridad: maling configuration ng mga serbisyo o kahit na pag-install ng mga lumang bersyon ng software na may mga dating natuklasang mga kahinaan. Para sa ilan, ang mga pagtanggal na ito ay nag-boomeranged, ang iba ay mas mapalad, ngunit ang lahat ay dapat talagang gumawa ng mga konklusyon. Ang katapatan sa malayong trabaho ay tumaas nang husto, at parami nang parami ang mga kumpanya na tumatanggap ng malayong trabaho bilang isang katanggap-tanggap na format sa patuloy na batayan.

Kaya, maraming mga pagpipilian para sa pagbibigay ng malayuang pag-access: iba't ibang mga VPN, RDS at VNC, TeamViewer at iba pa. Maraming mapagpipilian ang mga administrator, batay sa mga detalye ng pagbuo ng corporate network at mga device dito. Ang mga solusyon sa VPN ay nananatiling pinakasikat, gayunpaman, maraming maliliit na kumpanya ang pipili ng RDS (Remote Desktop Services), mas simple at mas mabilis silang i-deploy.

Sa artikulong ito ay pag-uusapan natin ang higit pa tungkol sa seguridad ng RDS. Gumawa tayo ng maikling pangkalahatang-ideya ng mga kilalang kahinaan, at isaalang-alang din ang ilang mga sitwasyon para sa paglulunsad ng pag-atake sa isang imprastraktura ng network batay sa Active Directory. Umaasa kami na ang aming artikulo ay makakatulong sa isang tao na magtrabaho sa mga bug at mapabuti ang seguridad.

2. Mga kamakailang kahinaan sa RDS/RDP

Ang anumang software ay naglalaman ng mga error at kahinaan na maaaring pagsamantalahan ng mga umaatake, at ang RDS ay walang pagbubukod. Ang Microsoft ay madalas na nag-uulat ng mga bagong kahinaan kamakailan lamang, kaya nagpasya kaming bigyan sila ng maikling pangkalahatang-ideya:

Ang kahinaang ito ay naglalagay sa mga user na kumonekta sa isang nakompromisong server sa panganib. Maaaring magkaroon ng kontrol ang isang attacker sa device ng isang user o magkaroon ng foothold sa system upang magkaroon ng permanenteng malayuang pag-access.

Ang pangkat ng mga kahinaan na ito ay nagbibigay-daan sa isang hindi napatotohanan na umaatake na malayuang magsagawa ng arbitrary code sa isang server na nagpapatakbo ng RDS gamit ang isang espesyal na ginawang kahilingan. Magagamit din ang mga ito upang lumikha ng mga wormβ€”malware na independiyenteng nakahahawa sa mga kalapit na device sa network. Kaya, ang mga kahinaang ito ay maaaring malagay sa panganib ang buong network ng kumpanya, at ang napapanahong mga update lamang ang makakapagligtas sa kanila.

Ang remote access software ay tumanggap ng mas mataas na atensyon mula sa parehong mga mananaliksik at umaatake, kaya't maaari nating marinig sa lalong madaling panahon ang tungkol sa higit pang katulad na mga kahinaan.

Ang mabuting balita ay hindi lahat ng mga kahinaan ay may magagamit na pampublikong pagsasamantala. Ang masamang balita ay hindi magiging mahirap para sa isang umaatake na may kadalubhasaan na magsulat ng isang pagsasamantala para sa isang kahinaan batay sa paglalarawan, o paggamit ng mga diskarte tulad ng Patch Diffing (isinulat ito ng aming mga kasamahan sa Artikulo). Samakatuwid, inirerekomenda namin na regular mong i-update ang software at subaybayan ang hitsura ng mga bagong mensahe tungkol sa mga natuklasang kahinaan.

3. Pag-atake

Lumipat kami sa ikalawang bahagi ng artikulo, kung saan ipapakita namin kung paano nagsisimula ang mga pag-atake sa imprastraktura ng network batay sa Active Directory.

Ang mga inilarawang pamamaraan ay naaangkop sa sumusunod na modelo ng attacker: isang attacker na may user account at may access sa Remote Desktop Gateway - isang terminal server (kadalasan ay naa-access ito, halimbawa, mula sa isang panlabas na network). Sa pamamagitan ng paggamit ng mga pamamaraang ito, magagawa ng attacker na ipagpatuloy ang pag-atake sa imprastraktura at pagsama-samahin ang kanyang presensya sa network.

Maaaring mag-iba ang configuration ng network sa bawat partikular na kaso, ngunit ang mga inilarawang pamamaraan ay medyo pangkalahatan.

Mga halimbawa ng pag-alis sa isang pinaghihigpitang kapaligiran at pagtaas ng mga pribilehiyo

Kapag ina-access ang Remote Desktop Gateway, malamang na makakatagpo ang isang attacker ng ilang uri ng pinaghihigpitang kapaligiran. Kapag kumonekta ka sa isang terminal server, may inilulunsad na application dito: isang window para sa pagkonekta sa pamamagitan ng Remote Desktop protocol para sa mga panloob na mapagkukunan, Explorer, mga pakete ng opisina o anumang iba pang software.

Ang layunin ng umaatake ay makakuha ng access upang magsagawa ng mga utos, iyon ay, upang ilunsad ang cmd o powershell. Makakatulong dito ang ilang klasikong Windows sandbox escape technique. Isaalang-alang pa natin ang mga ito.

Pagpipilian 1. Ang umaatake ay may access sa window ng koneksyon ng Remote Desktop sa loob ng Remote Desktop Gateway:

Remote Desktop sa pamamagitan ng mga mata ng isang umaatake

Bubukas ang menu na "Show Options". Lumilitaw ang mga opsyon para sa pagmamanipula ng mga configuration file ng koneksyon:

Remote Desktop sa pamamagitan ng mga mata ng isang umaatake

Mula sa window na ito madali mong maa-access ang Explorer sa pamamagitan ng pag-click sa alinman sa mga button na β€œBuksan” o β€œI-save”:

Remote Desktop sa pamamagitan ng mga mata ng isang umaatake

Bubukas ang Explorer. Ang "address bar" nito ay ginagawang posible na ilunsad ang pinapayagang mga executable na file, pati na rin ang paglilista ng file system. Maaari itong maging kapaki-pakinabang para sa isang umaatake sa mga kaso kung saan nakatago ang mga system drive at hindi direktang ma-access:

Remote Desktop sa pamamagitan ng mga mata ng isang umaatake

β†’ Demo na video

Ang isang katulad na senaryo ay maaaring kopyahin, halimbawa, kapag gumagamit ng Excel mula sa Microsoft Office suite bilang malayuang software.

β†’ Demo na video

Bilang karagdagan, huwag kalimutan ang tungkol sa mga macro na ginamit sa office suite na ito. Ang aming mga kasamahan ay tumingin sa problema ng macro security dito Artikulo.

Pagpipilian 2. Gamit ang parehong mga input tulad ng sa nakaraang bersyon, naglulunsad ang attacker ng ilang koneksyon sa remote desktop sa ilalim ng parehong account. Kapag muli kang kumonekta, isasara ang una, at lalabas sa screen ang isang window na may notification ng error. Ang pindutan ng tulong sa window na ito ay tatawag sa Internet Explorer sa server, pagkatapos nito ay maaaring pumunta ang umaatake sa Explorer.

β†’ Demo na video

Pagpipilian 3. Kung naka-configure ang mga paghihigpit sa paglulunsad ng mga executable na file, maaaring makatagpo ang isang attacker ng sitwasyon kung saan ipinagbabawal ng mga patakaran ng grupo ang administrator na magpatakbo ng cmd.exe.

Mayroong isang paraan upang makayanan ito sa pamamagitan ng pagpapatakbo ng bat file sa remote desktop na may nilalaman tulad ng cmd.exe /K <command>. Ang isang error sa pagsisimula ng cmd at isang matagumpay na halimbawa ng pagpapatupad ng isang bat file ay ipinapakita sa figure sa ibaba.

Remote Desktop sa pamamagitan ng mga mata ng isang umaatake

Pagpipilian 4. Ang pagbabawal sa paglunsad ng mga application gamit ang mga blacklist batay sa pangalan ng mga executable na file ay hindi isang panlunas sa lahat; maaari silang iwasan.

Isaalang-alang ang sumusunod na sitwasyon: hindi namin pinagana ang access sa command line, napigilan ang paglunsad ng Internet Explorer at PowerShell gamit ang mga patakaran ng grupo. Sinusubukan ng umaatake na tumawag para sa tulong - walang tugon. Sinusubukang ilunsad ang powershell sa pamamagitan ng menu ng konteksto ng isang modal window, na tinatawag na pinindot ang Shift key - isang mensahe na nagpapahiwatig na ang paglulunsad ay ipinagbabawal ng administrator. Sinusubukang ilunsad ang powershell sa pamamagitan ng address bar - muli walang tugon. Paano i-bypass ang paghihigpit?

Sapat na upang kopyahin ang powershell.exe mula sa folder na C:WindowsSystem32WindowsPowerShellv1.0 patungo sa folder ng user, baguhin ang pangalan sa isang bagay maliban sa powershell.exe, at lalabas ang opsyon sa paglulunsad.

Bilang default, kapag kumokonekta sa isang malayuang desktop, ibinibigay ang access sa mga lokal na disk ng kliyente, kung saan maaaring kopyahin ng isang attacker ang powershell.exe at patakbuhin ito pagkatapos palitan ang pangalan nito.

β†’ Demo na video

Nagbigay lamang kami ng ilang mga paraan upang lampasan ang mga paghihigpit; maaari kang makabuo ng marami pang mga sitwasyon, ngunit lahat sila ay may isang bagay na karaniwan: pag-access sa Windows Explorer. Mayroong maraming mga application na gumagamit ng karaniwang mga tool sa pagmamanipula ng file ng Windows, at kapag inilagay sa isang limitadong kapaligiran, maaaring gamitin ang mga katulad na pamamaraan.

4. Rekomendasyon at konklusyon

Tulad ng nakikita natin, kahit na sa isang limitadong kapaligiran ay may puwang para sa pag-unlad ng pag-atake. Gayunpaman, maaari mong gawing mas mahirap ang buhay para sa umaatake. Nagbibigay kami ng mga pangkalahatang rekomendasyon na magiging kapaki-pakinabang kapwa sa mga opsyon na aming isinasaalang-alang at sa iba pang mga kaso.

  • Limitahan ang paglulunsad ng programa sa mga black/white list gamit ang mga patakaran ng grupo.
    Sa karamihan ng mga kaso, gayunpaman, nananatiling posible na patakbuhin ang code. Inirerekomenda namin na maging pamilyar ka sa proyekto LOLBAS, upang magkaroon ng ideya ng mga hindi dokumentadong paraan ng pagmamanipula ng mga file at pagpapatupad ng code sa system.
    Inirerekomenda namin ang pagsasama-sama ng parehong uri ng mga paghihigpit: halimbawa, maaari mong payagan ang paglunsad ng mga executable na file na nilagdaan ng Microsoft, ngunit paghigpitan ang paglulunsad ng cmd.exe.
  • Huwag paganahin ang mga tab ng mga setting ng Internet Explorer (maaaring gawin nang lokal sa registry).
  • Huwag paganahin ang built-in na tulong sa Windows sa pamamagitan ng regedit.
  • Huwag paganahin ang kakayahang mag-mount ng mga lokal na disk para sa malalayong koneksyon kung ang naturang limitasyon ay hindi kritikal para sa mga user.
  • Limitahan ang pag-access sa mga lokal na drive ng remote na makina, na nag-iiwan lamang ng access sa mga folder ng user.

Umaasa kami na nakita mo ito kahit na kawili-wili, at sa maximum, makakatulong ang artikulong ito na gawing mas ligtas ang malayong trabaho ng iyong kumpanya.

Pinagmulan: www.habr.com

Magdagdag ng komento