آموزش تست نفوذ و امنیت مودم ها Adsl با آسیب پذیری ROM-0 در سی شارپ

سلام به همه دوستان عزیزم در اکادمی اولترا آموز
دیگه بعید میدونم جایی بریم و با مودم روبرو نشیم الان دیگه هر خونه ای که میریم یک مودم وجود داره ، مودم ها دستگاه هایی هستن که ما به شدت در طول روز با اونا سرکار داریم و خیلی ازشون استفاده میکنیم ، خب موضوعی که به ذهن ما میرسه اینه که این مودم ها قابل هک شدن هم هستن یا نه ؟ مودم ها از سخت افزار و یک لایه نرم افزاری تشکیل شده اند که لایه نرم افزار اجازه مدیریت مودم رو به ما میده آسیب پذیری های مختلفی برای مودم ها هرروز ثبت میشه ولی ما اینجا میخواهیم راجب یک آسیب پذیری صحبت کنیم به اسم ROM-0 که توضیحات مفصلی راجب این آسیب پذیری جلوتر میدم فقط بدونید اگر این آسیب پذیری روی مودمی وجود داشت به راحتی میتونید به پسورد اون مودم برسید ، آسیب پذیری کمی قدیمی هست ولی هنوز که هنوزه خیلی از مودم ها این آسیب پذیری رو دارن
آسیب پذیری ROM-0 چیست ؟
این آسیب پذیری به هکر امکان اینو میده که به راحتی با ارسال درخواست فایل ROM-0 رو دانلود کنه و توی فایل ROM-0 پسورد اون مودم وجود داره پس به راحتی میشه اون فایل رو اکسترکت کرد و به پسورد رسید یه نمونه مثال میزنم براتون من یک مودم دارم با ای پی 192.168.1.1 برای اینکه بتونم این فایل ROM-0 رو دانلود کنم کافیه اخر ای پی عبارت ROM-0 رو اضافه کنم http://192.168.1.1/ROM-0 میشه این مدلی و یک فایل شروع به دانلود میشه و کافیه اون فایل رو به سایت های آنلاین بدید مثل سایت http://www.routerpwn.com/zynos تا براتون اکسترکت کنه دستی هم میتونید اینکارو بکنید با ابزاری مثلا binwalk که کمی نیاز به دانش مهندسی معکوس دارید
بریم خودمون یه ابزار برای تست این آسیب پذیری بنویسیم اونم با سی شارپ :
این همه توضیح دادیم که به اینجا برسیم که ما میخواهیم خودمون یه ابزار تست نفوذ برای این باگ بنویسیم که بهش لیست ای پی بدیم و ابزار تست کنه که آیا آسیب پذیری وجود داره یا نه ما اینجا از سی شارپ استفاده میکنیم و یک برنامه گرافیکی باهاش میسازیم که خیلی راحت و شیک تست ها رو برای ما انجام بده
زبانی که ما از آن برای طراحی استفاده میکنیم C# است، پس ابتدا آخرین نسخه .Net framework و Visual studio 2019 را تهیه و نصب کنید؛ در این آموزش ما از .Net framework 4.7 و Visual studio 2019 استفاده میکنیم
ابتدا نرم افزار Visual studio را باز میکنیم و در قسمت Get started گزینه Create a new project را انتخاب میکنیم :
سپس گزینه Language را انتخاب کرده و در منو گزینه C# را انتخاب میکنیم و سپس نوع پروژه را Windows forms انتخاب میکنیم :
ماننده تصویر زیر عمل کرده و گزینه Create را بزنید :
ظاهرا برنامه باید ماننده شکل زیر باشد :
و اما توضیحات بیشتر :
عدد شماره 1 :
یک کنترل RadioButton است که میتوانید در پنجره toolbox آن را به پنجره خود اضافه کنید خاصیت Name آن را برابر با IpListRad
رویداد های زیر را به آن اضافه میکنیم
عدد شماره 2 :
یک کنترل RadioButton است که میتوانید در پنجره toolbox آن را به پنجره خود اضافه کنید خاصیت Name آن را برابر با IpAddressRad
رویداد های زیر را به آن اضافه میکنیم
عدد شماره 3 :
یک کنترل TextBox است که نام آن باید برابر با IpFilePathText باشد
عدد شماره 4 :
یک کنترل TextBox است که نام آن باید برابر با IpAddressText باشد
عدد شماره 5 :
یک کنترل Button است که نام آن باید برابر با SelectIpFileBut باشد
رویداد های زیر را اضافه کنید :
عدد شماره 6 :
یک کنترل Button است که نام آن باید برابر با StartBut باشد
رویداد های زیر را اضافه کنید :
عدد شماره 7 :
یک کنترل RichTextBox است که نام آن باید برابر با Logs باشد
عدد شماره 8 :
یک کنترل Button است که نام آن باید برابر با ClearBut باشد
رویداد های زیر را اضافه کنید :
private void ClearBut_Click(object sender, EventArgs e) => Logs.Clear();
عدد شماره 9 :
یک کنترل Button است که نام آن باید برابر با ExportBut باشد
رویداد های زیر را اضافه کنید :
همچنین ما به یک کنترل BackgroundWorker نیاز داریم برای استفاده از ترد ها
رویداد های زیر را اضافه کنید :
ما نیاز به چند تابع داریم به صورت زیر :
bool checkIp(string IP) – این تابع برای برسی اعتبار یک رشته IP است
string[] LoadIpFile(string path) – این تابع برای بارگذاری تمام IP ها و تبدیل آن ها به آرایه است
bool checkRomZero(string IP) – این تابع برای بررسی آسیب پذیری است
string fixIp(string IP) – این تابع برای اضافه کردن / به IP است
bool checkErrors(out string msg) – این تابع برای برسی خطاهای کاربر است
همچنین ما به متغییر های زیر نیاز داریم :
private string[] IpList
private bool cancel
خب کد نویسی ما تموم شد شما باید برای درک بهتر کد ها حتما سی شارپ رو کار کرده باشید و بعد شروع به کد نویسی کنید برای راحتی سورس کد این برنامه در پایین صفحه براتون قرار داده شده است
گزارش خرابی لینک پسورد فایل :
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.