خوش آمدید

جستجو

تبلیغات





ipmi (Intelligent Platform Management Interface)

    ipmi (Intelligent Platform Management Interface)

    ipmi (Intelligent Platform Management Interface) مجموعه­ای از ویژگی­ها است که امکانات مدیریتی و پایش اجزای سخت­افزاری سیستم (مانند CPU، firmware و ...) و سیستم­عامل را به طور جداگانه و مستقل فراهم می­کند. این پروتکل بر اساس UDP است و از پورت شماره 623 استفاده می­کند.

    این ویژگی­ها توسط شرکت اینتل فراهم شده است. در حال حاضر ipmi دارای دو نسخه 1.5و 2.0 می­باشد.  ipmi مجموعه­ای از واسط­های کاربری را در اختیار مدیر شبکه قرار می­دهد که با استفاده از آن­ها می­توان سیستم را مدیریت و عملکرد آن را پایش کرد. ipmi در واقع یک واسط کاربری می­باشد که مدیر شبکه از طریق آن می­تواند با BMC (Baseboard Management Controller) موجود بر روی سرور ارتباط برقرار کند. ارزش این کار زمانی مشخص می­شود که سیستم­عامل دچار اشکال شده و دسترسی به آن غیرممکن باشد. قبل از استقرار یک سرور، از طریق تنظیمات مربوط به BIOS ، یک آدرس IP به BMC اختصاص می­یابد و به محض خرابی سیستم، مدیر شبکه می­تواند به راحتی از طریق این آدرس IP با سیستم معیوب ارتباط برقرار کند. تمام ارتباطات برای بازگرداندن سیستم به وضعیت عادی از طریق پروتکل ipmi انجام می­شود. به عنوان مثال ipmi راهی برای مدیریت سیستمی که خاموش شده است و یا به اتصالات شبکه پاسخی نمی­دهد (از نظر سخت‌افزاری)، در اختیار می­گذارد.ipmi بدون توجه به سیستم­عامل و دیگر نرم­افزارها با سخت­افزارهای سرور ارتباط برقرار می­کند. مدیر شبکه با استفاده از ipmi می­تواند از یک مکان چندین سرور را توسط رابط کاربری مناسب مدیریت کند. رخدادهای مهم سیستم برای هر سرور می­توانند گزارش­گیری شوند و تنظیمات برای هر ورودی و یا خروجی سیستم می­تواند پایش و یا تغییر داده شود. همچنین می­توان از طریق ipmi سرورها را از راه دور روشن، خاموش و یا مجدداً راه­اندازی کرد.

     

    آسیب­پذیری­های متداول ipmi

    در ادامه آسیب­پذیری­های متداولی که در ارتباط با ipmi مطرح می­باشند، توضیح داده شده‌اند:

    • دور زدن مکانیزم احراز اصالت ipmi از طریق حالت cipher 0 : این آسیب­پذیری در ipmi نسخه 2.0 وجود دارد و chpher نوع 0 نام­گذاری شده است و حاکی از این موضوع است که کلاینتی که خواهان احراز اصالت به صورت فاش می­باشد، منجر به دسترسی با هر رمزعبوری می­شود. به عبارت ساده­تر هنگامی که دسترسی به BMC از طریق cipher 0 انجام می­شود، نیازی به مکانیزم احراز اصالت نمی‌باشد. بر روی بسیاری از BMC ها، cipher 0 به صورت پیش فرض فعال می­باشد. این آسیب­پذیری در تجهیزات HP، Dell و Supermicro BMC و همچنین تمامی پیاده­سازی­های ipmi نسخه 2.0 وجود دارد. برای تشخیص این آسیب­پذیری می­توان از فریم­ورک متاسپلویت به روش زیر استفاده کرد:

    msfconsole

             =[ metasploit v4.7.0-dev [core:4.7 api:1.0]

    + -- --=[ 1119 exploits - 638 auxiliary - 179 post

    + -- --=[ 309 payloads - 30 encoders - 8 nops

     

    msf> use auxiliary/scanner/ipmi/ipmi_cipher_zero

    msf auxiliary(ipmi_cipher_zero) > set RHOSTS 10.0.0.0/24

    msf auxiliary(ipmi_cipher_zero) > run

    [*] Sending IPMI requests to 10.0.0.0->10.0.0.255 (256 hosts)

    [+] 10.0.0.99:623 VULNERABLE: Accepted a session open request for cipher zero

    [+] 10.0.0.132:623 VULNERABLE: Accepted a session open request for cipher zero

    [+] 10.0.0.141:623 VULNERABLE: Accepted a session open request for cipher zero

    [+] 10.0.0.153:623 VULNERABLE: Accepted a session open request for cipher zero

     

    • بازیابی مقدار hash مربوط به رمز عبور در حین استفاده از پروتکل RAKP : این آسیب­پذیری نیز در نسخه ipmi 2.0 وجود دارد. در نسخه 2.0 از ipmiعملیات احراز اصالت بدین گونه است که سرور قبل از احراز اصالت کلاینت، یک مقدار hash (SHA1 یا MD5) که salt شده است (salted password has) را متناسب با رمزعبور درخواستی کاربر به کلاینت ارسال می­کند. بنابراین BMC مقدار hash مربوط به هر کاربر معتبری که درخواست داده شود را باز می­گرداند. این مقدار hash را می­توان با استفاده از حمله دیکشنری و یا bruteforce به صورت آفلاین شکست. به دلیل اینکه این آسیب­پذیری مربوط به یک قسمت مهم از ساختار ipmi می­باشد، راه حل ساده­ای برای برطرف کردن آن وجود ندارد (البته به غیر از اینکه تمام BMC ها در یک شبکه جداگانه قرار گیرند). از طریق متاسپلویت و ماژول ipmi_dumphashes موجود در آن می­توان وجود این آسیب­پذیری را بررسی کرد و رمزهای عبور معادل مقادیرhash را به‌دست آورد:

    msfconsole

     

             =[ metasploit v4.7.0-dev [core:4.7 api:1.0]

    + -- --=[ 1119 exploits - 638 auxiliary - 179 post

    + -- --=[ 309 payloads - 30 encoders - 8 nops

     

    msf> use auxiliary/scanner/ipmi/ipmi_dumphashes

    msf auxiliary(ipmi_dumphashes) > set RHOSTS 10.0.0.0/24

    msf auxiliary(ipmi_dumphashes) > set THREADS 256

    msf auxiliary(ipmi_dumphashes) > run

     

     [+] 10.0.0.59 root:266ead5921000000....000000000000000000000000000000001404726f6f74:eaf2bd6a5 3ee18e3b2dfa36cc368ef3a4af18e8b

    [+] 10.0.0.59 Hash for user 'root' matches password 'calvin'

    [+] 10.0.0.59 :408ee18714000000d9cc....000000000000000000000000000000001400:93503c1b7af26abee 34904f54f26e64d580c050e

    [+] 10.0.0.59 Hash for user '' matches password 'admin'

     

    در مثال بالا، ماژول مورد استفاده توانسته است دو اکانت مربوط به کاربران معتبر را یافته و مقادیر hash مربوط به آن­ها و همچنین مقدار کرک شده آن را به‌دست آورد. کرک این رمزهای عبور ابتدا از طریق دیتابیس داخلی متاسپلوت انجام می­شود و در صورت موفق نشدن در این مرحله، متاسپلویت از یک برنامه و یا دیتابیس خارجی برای کرک مقادیر hash استفاده می­کند.

     

    • احراز اصالت ipmi به صورت ناشناس : علاوه بر مشکلات مربوط به عملیات احراز اصالت که در بالا به آن­ها اشاره شد، در بسیاری از BMC ها احراز اصالت به صورت ناشناس به طور پیش­فرض فعال می‌باشد. این کار بدین صورت انجام می­شود که برای اولین اکانت مربوط به کاربر، مقادیر نام کاربری و رمزعبور خالی گذاشته شود. برای شناساسی این اکانت­ها می­توان از ابزار ipmtool و به روش زیر استفاده کرد:

    $ ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user list

    ID  Name        Callin  Link Auth    IPMI Msg  Channel Priv Limit

    1                    false  false      true      ADMINISTRATOR

    2  root            false  false      true      ADMINISTRATOR

    3  admin            true    true      true      ADMINISTRATOR

     

    $ ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user set password 2 password

     

    • آسیب­پذیری UPnP موجود در Supermicro IPMI : Supermicro شامل یک UPnP SSDP listener می­باشد که از UDP استفاده می­کند و بر روی پورت1900 اجرا می­شود. UPnP (Universal Plug and Play) مجموعه­ای از پروتکل­های شبکه می­باشد که به تجهیزات موجود در شبکه مانند سیستم‌های شخصی، پرینترها، تجهیزات gateway، اکسس­پوینت­ها و تلفن­های همراه اجازه می­دهد که بتوانند از حضور یکدیگر در شبکه مطلع شوند و ارتباطی برای به اشتراک گذاشتن اطلاعات با یکدیگر ایجاد کنند. آسیب­پذیری موجود در ارتباط با UPnP این امکان را در اختیار حمله­کننده قرار می­دهد که بتواند با انجام آن دسترسی با سطح مدیر شبکه به BMC پیدا کند. اگر حمله­کننده بتواند از طریق شبکه و یا به طور مستقیم از طریق سیستم مورد نظر به آن دسترسی با سطح مدیر شبکه پیدا کند، می­تواند firmware موجود بر روی supermicro را با یک نسخه آسیب­پذیر تعویض کند.

     

    • رمزهای عبور فاش مربوط به Supermicro IPMI : بر اساس ویژگی­های ipmi 2.0، BMC به روش­های احراز اصالتی که بر اساس استفاده از مقادیر hash(SHA1 و MD5) می­باشند، پاسخ می­دهد. این پردازش احراز اصالت دارای ضعف­های جدی می­باشد ولی همچنان برای محاسبه مقدار hash نیاز به دسترسی به رمزهای عبور فاش می­باشد. این بدان معنی است که BMC باید یک نسخه از تمام رمزهای عبور کاربران را به صورت فاش در یک محل ذخیره­سازی دائمی ذخیره کند. در مورد supermicro این محل ذخیره­سازی در نسخه­های مختلف متفاوت است و یکی از دو محل /nv/PSBlock یا/nv/PSStore می­باشد. رمزهای عبور در تکه­های باینری مختلف پخش می­شوند ولی یافتن آن­ها به این دلیل که پس از نام کاربری قرار می­گیرند، آسان است. این موضوع برای سازمان­هایی که از رمزهای عبور مشترک بین BMC ها و یا حتی انواع مختلفی از تجهیزات استفاده می­کنند، بسیار جدی و حائز اهمیت می­باشد.

    $ cat /nv/PSBlock

      admin                      ADMINpassword^TT                    rootOtherPassword!

     

    اقدامات اولیه در مورد امن­سازی ipmi

    علاوه بر راه حل­های گفته شده در مورد هر آسیب­پذیری، انجام اقدامات زیر در شروع کار مهم می­باشد:

    • اولین قدم برای امن­سازی سیستم­هایی که ipmi بر روی آن­ها فعال می­باشد، غیر فعال کردن حالت cipher 0 می­باشد.
    • گام بعدی در مورد نحوه برقراری ارتباط فیزیکی با BMC می­باشد. در بسیاری از موارد دسترسی به BMC از طریق پورت RJ45 انجام می­شود و درموارد دیگر به وسیله یک پورت اترنت جداگانه قابل دسترس می­باشد. به هر حال باید از تخصیص یک آدرس IP داخلی به پورت مورد استفاده BMC (و نه آدرس IP خارجی) اطمینان حاصل کرد. با این کار مدیر شبکه مطمئن می­شود که پورت مورد نظر فقط از داخل شبکه قابل دسترس می­باشد و از بیرون شبکه نمی­توان به آن دسترسی پیدا کرد.

    این مطلب تا کنون 8 بار بازدید شده است.
    منبع
    برچسب ها : شبکه ,ipmi ,احراز ,طریق ,auxiliary ,می­باشد ,مدیر شبکه ,cipher zero ,رمزهای عبور ,احراز اصالت ,auxiliary ipmi ,false      true      administrator ,قابل دسترس می­باشد ,false  false      true      , use auxiliary scanner ,
    ipmi (Intelligent Platform Management Interface)

تبلیغات


    محل نمایش تبلیغات شما

پربازدیدترین مطالب

آمار

تبلیغات

محل نمایش تبلیغات شما

تبلیغات

محل نمایش تبلیغات شما

آخرین کلمات جستجو شده