بحث ما در مورد پايگاه SAM هست مخفف System Accounts Manager
و همچنين روشهاي بدست آوردن پسورد در حالت Local و Remote
قبلا هم مطالبي در مورد اون گفتم
اما
پايگاه SAM: پايگاهي است در ويندوز كه اكانتها و پسوردهاشون در اون ذخيره ميشه(بصورت رمز شده) اما در غير از ويندوز
مثل لينوكس از PWL استفاده ميشه
فايل SAM محافظت ميشه يعني نميتونيد حذف و يا كپيش كنيد مگر از داس يا با فلاپي بوت داس كه اينا گفته شده
فايل SAM در مسير %systemroot% يعني جايي كه ويندوز نصب شده ميتونيد ببينيد پس اگر ويندوز من در درايور K باشه ميشه K:\Windows\System32\Config
اما يه نسخه Backup از SAM تو %Repair% ممكنه موجود باشه كه اينو ميشه معمولي كپي كرد
SAM دستي هم تو رجيستر داره كه اين اطلاعات واسه يه هكر در Remote ميتونه واقعا مفيد باشه
الگوريتم ويندوز براي Hash(رمز كردن) پسورد:
1-Lanman hash يا همان LM Hash
اين نوع hash كردن در سري NT قبل از ورژن 4 مانند ويندوزهاي 98-me-95 استفاده شده اين روش بوسيله شركت كامپيوتري IBM ابداع و توسط مايكروسافت
استفاده شد!!!!
2-NTLM hash كه از الگوريتم LM پيشرفته تر است در NTLM از Message Digest-4 يا به اصطلاح الگوريتم MD-4 همانند يونيكس استفاده شده
مراحل رمز شدن پسورد و مقايسه دو الگوريتم LM ,NTLM
در LM طول رمز 14 حرف است .مثال:قراره پسوردي مانند majeedsho ذخيره بشه چون طول اين رمز از 14 حرف كمتره به آخر اون بطور تصادفي
مثلا اونقدر 7 اضافه ميشه تا بشه 14 حرف:majeedsho77777
بعد حروف كوچيك بزرگ ميشه :MAJEEDSHO77777
حالا اين 14 حرف بو دو قسمت 7 حرفي تقسيم ميشه پس داريم:MAJEEDS , HO77777
حالا هر قسمت 7 حرفي با يه الگوريتم غير برگشت رمز ميشه وكنار هم قرار داده ميشه تا يك رشته 32 حرفي بدست بياد
پس پسورد من كه در ابتدا majeedsho بود بعد از اين مراحل ميشه:AF6E956C6F6836C44F35E8F519B35C89
اين اولين الگوريتم ويندوز براي hash است يعني همون LM hash
اما عيب LM اينه كه حداكثر طول رمز 14 حرفه و بر خلاف يونيكس Salted نيست اينو پايين ميگم
و در NTLM كه نتيجش يه رشته 32 حرفي است اما بر خلاف LM طول رمز مبني بر 14 حرف نيست بلكه بيشترم ميتونه باشه
پس اين اولين برتري NTLM اما مايكروسافت هنوز LM استفاده ميكنه چرا:اين به عهده خودتون
اما هنوز در NTLM مشكل Salted حل نشده
سوال:Salted
Salted(نمك) يه الگوريتم در هم سازي رمزه در ماشينهاي مختلف متفاوته(مثل دو سيستم در نت كه ip اونها در اينترنت متفاوته)
پس salted عمل پيدا كردن الگوريتم استفاده شده در رمز رو سخت ميكنه
Salted در لينوكس وجود داره اما از اونجا كه در ويندوزهاي NT وجود نداره كرك پسورد بسيار سريع پيش ميره
Systemkey
جديده از سري NT 4 به بعد
systemkey كارش اينه كه پسورهاي ذخيره شده در SAM رو يكبار ديگه رمز ميكنه تا نفوذ به اون سختتر بشه
---------------------------------------------------------------------------------------------------------------------------
اما SAM رو چجوري گير بياريم
با استفاده از يه فلاپي Dos و با روشهايي كه گفته شده به علاوه براي بعضي از PASS Cracker ها فايلي به اسم
system رو هم لازم داريم كه در همون جايي كه SAM هست وجود داره
حالا فرض كنيد ماSAM رو داريم و اون رو تو يه مسير فرضي مانند:C:\NF\SAM سيو كرديم
اگر در بدست آوردن اون مشكل داشتيد بگيد حتما
يه نكته در ويندوز 2000 اگر ُSam رو حذف كنيم ميشه لوگين شد بدون پسورد(اما واسه اين كه ضايع نشيم بهتره اونو كپي كنيم يه جا كه بعد از اتمام كارمون دوباره restore كنيم اونو)
در ويندوز 98 هم ميشه با حذف فايلهايي با پسوند PWL از رمز عبور رد شد(كه ديگه 98 فكر نكنم رو client يا Server پيدا بشه البته شايدم باشه!!!)
--------------------------------------------------------
نفوذ به SAM و كرك كردن پسورد
(منظور از خط فرمان اينه كه بايد تو RUN... بنويسي cmd تا به خط فرمان بري ميدونم وارديد اينو واسه...)
1-استفاده از samdump كه يه ابزار خط فرماني هست (براي ديدن محتويات SAM)
حال تو خط فرمان مينويسم samdump c:\nf\sam
قسمت دوم يعني c:\nf\sam مسير sam هست كه بدست آورديم
براي Save كردن اطلاعات SAM هم ميتونيم بنويسم:samdump c:\nf\sam > majeed76.txt
2-Dump كردن از رجيستري
استفاده از pwdump (البته در حالت دسترسي ادمين)
براي بكار بردن بايد تو خط فرمان بنويسم pwdump
اگر خاستين اطلاعاتي كه ميده رو سيو كنين مينويسين:pwdump >c:\majeed76.txt
من در اينجا از Pwdump2 استفاده كردم
اون عددي كه بعد از نام كاربر اومده شماره اون هست مثلا 500 براي Admin
-------------------------------------------------------------------------------------------------------
حالا كه هم فايل SAM وSystem رو دارم وهمچنين محتواي SAM رو هم كه با SAMDUMP و PWDUMP استخراج كردم
بايد اين كلمات رو در هم برهم رو بصورت قابل استفاده در بياريم
1-استفاده از PASS CRACKER ها
با استفاده از دو فايل SAM و system كه به اين برنامه ميديم ميتونن برامون رمز رو پيدا كنن
اما روش كارشون هم اينه كه از حلقه تكرار استفاده ميكنن كه اين زمان رمز گشايي رو افزايش ميده
يه نمونش Proactive Password Auditor دوستان گذاشتن
و محبوب من LOPHT Crack كه تاجايي كه ميدونم آخرين نسخش 5 هستش
كار باهاشون هم راحته ,و همچنين همين Lopht Crack يا به اختصار LC5 گزينه هاي زيادي براي local و ريموت داره
2-خوب از sam و system استفاده كرديم ميمونه فقط فايل majeed76.txt رو كه بالا بدست آورديم
و در ضمن همين فايل رو هم ميتونيم مثلا با LC5 باز و رمز گشايي كنيم
استفاده از ابزارهاي خط فرماني مثل:John The Ripper
استفاده از اين به عهده خودتون به عنوان تمرين
3-استفاده از سايت ها
اين سايتها با بانكهاي قوي كه دارن كرك SAM رو سريعتر ميكنن
4-استفاده از
کد:
ميريم به سايت واز STEP 1 فايللمون رو حالا يا راي فلاپي يا CD دان ميكنيم بعد حالا سيستم رو با اون فلاپي بوت ميكنيم(فايل مورد نياز رو براي فلاپي در زير گفتم )
وقتي سيستم رو با فلاپي يا سي دي بوت كنيم (اگه نشد از روشهاي بالا كمك بگيريد)بعد اين فلاپي خودكار sam رو بدست مياره و به اسم UPLOAD.txt داخل فلاپي
سيو ميكنه حالا ما اين فايل رو كه مثل هموني ميمونه كه خودمون بالا با SAMDUMp ساختيم به STEP 3 ميبرم (تو سايت)
توضيح:فايلي كه اين فلاپي ميسازه منظورم همون Upload.txt رو ميشه با كمي تغيير واسه Pass Cracker ها قابل استفاده كرد
5-استفاده از لايو سي دي هايي كه موجوده (من خودم به شخصه استفاده نكردم و خوشم هم نمياد!!!)
اينام مثلا خودكار اگه سيستم رو با سي دي بوت كنيم رمزهارو مثلا پاك ميكنه
براي Remote هم كه ابزار زياد هست مثل Cain Abel و Brutus.....
در مورد رمز عبور linux هم به موقع و به جاي خودش
اما راهكار اينه كه از رمزهاي نامعقول استفاده كنيم مثلا رمز #maj45 از رمز 123456 واضحه كه امنيش خيلي بالاتره
علاقه مندی ها (بوک مارک ها)