Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

WINDOWS USER ACCOUNTS

PENETRATION TESTING

‫نویسنده‬
‫مسلم حقیقیان‬
‫ی‬
‫ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان‬

‫فهرست مطالب‬

‫مقدمه‬

‫به دست آوردن محتویات فایل ‪SAM‬‬

‫‪Pwdump‬‬
‫‪Fgdump‬‬
‫درباره ‪Mimikatz‬‬

‫برنامه ‪Lsass.exe‬‬

‫فراخوانی ‪Mimikatz‬‬

‫کار با ‪Mimikatz‬‬

‫بارگذاری ‪Mimikatz‬‬

‫به دست آوردن پسورد حسابهای کاربری‬

‫آزمون امنیت با استفاده از حمالت ‪Golden Ticket‬‬

‫استخراج پسورد با روبرداری(‪ )Dump‬گرفتن از فرآیند ‪Lsass‬‬

‫‪2‬‬
‫ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان‬

‫مقدمه‬
‫ابزارهای مختلف جهت تستت نفو و یا نفو به ستیستتمعامل مایکروستافت نوتتتهتتده استت که موموه هرکداب بر روی مستمتی‬
‫خاصتی از این تس یستتم عامل تمرکز داتتت و همین مورد باعم میتتد که برای رستیدن به هدخ خاا از دندین ابزار بهصتورت‬
‫ترکیبی استفاده میتد تا مسئولین امنیت بتوانند به هدخ خود که امن سازی سیستمعامل بوده است برسند‪.‬‬

‫در این مقاله به مورفی بهترین ابزار جهت آزمون نفو پذیری مایکروستتافت برای پستتورد ستتیستتتمعامل با استتتفاده از ابزار‬
‫‪ Mimikatz‬میپردازیم‪.‬‬

‫به دست آوردن محتویات فایل ‪SAM‬‬

‫همانطور که میدانید فایل )‪ SAM(Security Account Manager‬فایلی استت که حاوی تماب پستورد حستابهای کاربری‬
‫استتت‪ .‬محل این فایل بهصتتورت پی فرض در داخل پوتتته ‪ System32/Config‬استتت‪ .‬مقادیر داخل این فایل بهصتتورت‬
‫رمزنگاریتده خیرهتده است‪ .‬در زیر به مورفی ابزارهایی جهت به دست آوردن محتویات این فایل میپردازیم‪.‬‬

‫‪Pwdump‬‬
‫ابزار ‪ Password Dump‬یکی از مدیمیترین ابزارها بهمنظور به دستتتت آوردن محتویان فایل ‪ SAM‬استتتت که این کار را با‬
‫تزریق کد در داخل ‪ Dll‬فرآیند ‪ LSASS‬انجاب میدهد‪ .‬آخرین نستخه این نربافزار‪ Pwdump7‬استت که در تتکل‪ 1‬میتوانید‬
‫خروجی این برنامه را مشاهده نمایید‪.‬‬

‫شکل ‪ -1‬محتویات فایل‪ SAM‬که توسط ابزار ‪ PWDump‬بهدستآمده است‪.‬‬

‫‪Fgdump‬‬
‫ابزار ‪ Fgdump‬هم نستتخه توستتوهیافتهی ‪ Pwdump6‬استتت که این ابزار به نیز بهمنظور کپیبرداری خیره ‪ LSA‬و مورد‬
‫بندی خیره محافظتتتده و خودکار ستازی این عملیات طراحیتتده استت‪ .‬خروجی برنامه ‪ Fgdump‬را در تتکل ‪ 2‬میتوانید‬
‫مشاهده نمایید‪.‬‬

‫‪3‬‬
‫ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان‬

‫شکل ‪ - 2‬محتویات فایل ‪ SAM‬که توسط برنامه ‪ FGDump‬بیرون کشیده شده است‪.‬‬

‫درباره ‪Mimikatz‬‬

‫ابزار ‪ MimikatZ‬توست بنجامین دلپی در ستا ‪ 2011‬نوتتته تتد‪ .‬این ابزار بهصتورت خودکار امداب به جم آوری رمزهای عبور‬
‫در ستیستتمعامل ویندوز بهصتورت متن واحتم میکند مانند‪ Lan Manager hashes, NTLM Hashes, Certificates :‬و‬
‫‪ Kerbres‬که میتواند این عملیات را بر روی ویندوز ‪ XP‬تا ‪ 10‬انجاب دهد‪.‬‬

‫برنامه ‪Lsass.exe‬‬

‫برنااماه )‪ Lsass.exe(Local Security Authority Subsystem Service‬از مهتمترین ستتتروی هتتای امنتیتتتی‬
‫مایکروستتافت محستتوب میتتتود که مستتئو ورودهای کاربران از طریق حستتابهای کاربری و گروههای کاربری به‬
‫سیستمعامل است و این مابلیت را برای آنها فراهم میکند‪.‬‬

‫از مابلیت های این برنامه این استتت که با خیره کردن اطالعات ورود کاربران از احراز هویت دوباره آنها در هر بار که‬
‫کاربرد درخواست دسترسی به مناب را داتته باتد جلوگیری میکند‪.‬‬

‫این برنامه نهتنها دستتترستتی را برای کاربران ت تتدیق تتتده فراهم میکند بلکه هر مجموعه از این اطالعات را برای‬
‫بسیاری از نشستهای باز و فوا در آخرین بوت سیستمعامل استفاده میکند‪.‬‬

‫تده پرداخته و نتایج را به کاربر نشان میدهد‪.‬‬ ‫برنامه ‪ Mimikatz‬به بهرهبرداری از این اطالعات ک‬

‫فراخوانی ‪Mimikatz‬‬

‫در حالت کلی این برنامه بهصتورت ‪ CLI‬نوتتتهتتده استت و رو های مختلفی جهت کار با این ابزار وجود دارد که در زیر آن را‬
‫ترح میدهیم‪.‬‬

‫از این برنتامته را فراخوانی کنیم و از فرامین‬ ‫• بتا استتتتفتاده از ‪ CMD‬یتا ‪ powershell‬در وینتدوز و ‪ Shell‬در لینوک‬
‫آن بهره ببریم‪.‬‬

‫‪4‬‬
‫ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان‬

‫در ستتتا ‪ 2014‬این برنامه بهعنوان بخشتتتی از ‪ Metasploit meterpreter‬مرار گرفت که تتتتما میتوانید با‬ ‫•‬
‫استتتتفاده از فرمان "‪ "Load mimikatz‬این برنامه را در داخل حافظه اجرا کنید و دیگر نیازی به وجود فایل‬
‫در داخل هارددیسک شما نیست و این میتواند بسیار مفید باشد‬
‫ستا ‪ 2016‬مجموعه ‪ powersploit‬که برای تستت امنیتی ستیستتمعاملهای مایکروسافت نوتته تد نیز این ابزار‬ ‫•‬
‫را در متالتا استتتکریپتت ‪ powershell‬در مجموعتهی خود مرارداد تتا استتتکریپتت نویستتتان وینتدوز بتواننتد از آن در‬
‫برنامههای خود استفاده کنند‪.‬‬

‫کار با ‪Mimikatz‬‬

‫یکی از ویژگیهای مهم در این ابزار این استت که کار با آن بستیار ستاده بوده و هرکستی میتواند بهراحتی با نوتتتن‬
‫دند فرمان از ابزار بهرهبرداری کند‪ .‬در زیر ستتناریوهای مختلفی که در تستتت نفو ستتیستتتمعاملهای مایکروستتافت‬
‫وجود دارد را بیان میکنیم‪.‬‬

‫بارگذاری ‪Mimikatz‬‬

‫جهت ورود به برنامه فق کافی است ناب آن را بنویسید‪ .‬تکل ‪ 3‬تروع برنامه ‪ mimitatz‬را نشان میدهد‪.‬‬

‫شکل ‪ -3‬تصویری از ابزار ‪Mimikatz‬‬

‫به دست آوردن پسورد حسابهای کاربری‬

‫در ستتادهترین حالت برنامه ‪ Mimikatz‬میتوانید آن را با استتتفاده از فرمان زیر در حالت اتتتکا زدایی مرار داده تا‬
‫بتوان پسوردها را به دست آورد که در تکل ‪ 4‬میتوانید خروجی آن را مشاهده نمایید‪.‬‬

‫‪# privilege::debug‬‬

‫شکل ‪ -4‬ورود به حالت اشکالزدایی در ‪Mimikatz‬‬

‫‪5‬‬
‫ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان‬

‫جهت به دست آوردن لیست پسورد حسابهای کاربری میتوانید فرمان زیر را بکار ببرید‪.‬‬ ‫سپ‬

‫‪# sekurlsa::logonpasswords‬‬

‫شکل ‪ -5‬پسورد حساب کاربری بهصورت متن شفاف‬

‫همانطور که در تتتکل ‪ 5‬مشتتاه]‪[1‬ده میکنید با اجرای این فرمان تتتما به اطالعاتی مانند ‪SID, Username,‬‬
‫‪ NTLM Hash, SHA1‬و پسورد حساب کاربری بهصورت متن آتکار دسترسی پیدا خواهید کرد‪.‬‬

‫‪ Mimikatz‬جهت اجرای فرامین خود و گرفتن اطالعات از ‪ LSA‬نیاز به ستحم دستترستی ‪ Administrator‬دارد و‬
‫درصورتیکه آن را در سحم غیر مدیر اجرا کنید در اجرای دستورات با خحا مواجهه میتوید‪.‬‬

‫بازیابی پسوردهای ‪Hash‬‬

‫همانطور که در ت تتویر باه مشتتاهده میکنید امکان بازیابی مقادیر ‪ Hash‬در فایل ‪ SAM‬از طریق ابزار ‪Mimikatz‬‬
‫بهآسانی امکانپذیر است‪.‬‬

‫با استفاده از این مقدار ‪ HASH‬میتوانیم یک فرآیند را در حساب کاربری دیگر اجرا کنیم که برای این کار فق کافی‬
‫استت از مقدار ‪ HASH‬تتد ه برای ت تدیق کردن فرآیند روی ستیستتم محلی فولی استتفاده کرد‪ .‬این نوع حمالت در‬
‫دست بندی از نوع ‪ Pass-the-Hash‬میباتند‪.‬‬

‫‪6‬‬
‫ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان‬

‫مناستا جهت دستترستی به مناب ستیستتم راه دورا با استتفاده از ستحم دستترستی همان کاربر‬ ‫این حمالت یک رو‬
‫نیازی به تکستن رمزهای عبور که از نوع ‪ Salt Hash‬میباتند نیست‪.‬‬ ‫است‪ .‬در این رو‬

‫برای این کار کافی استت به جم آوری پستورد ‪ HASH‬حستاب کاربری بپردازید‪ .‬تتکل‪ 6‬پستوردهای ستیستتمعامل را که‬
‫توس ‪ Mimikatz‬جم آوریتده است را نشان میدهد‪.‬‬

‫شکل ‪ - 6‬جمعآوری پسوردهای ‪NTLM‬‬

‫با استفاده از دستور زیر این به ایجاد فرآیند جول هویت بپردازید‪.‬‬ ‫سپ‬

‫>‪#sekurlsa:pth .user:<username> /domain:<domain> /ntlm:<hash> /run:<command‬‬

‫شکل ‪ - 7‬باز شدن ‪ CMD‬بر روی سیستم محلی با استفاده از ‪ NTLM‬حساب کاربری دیگر‬

‫‪7‬‬
‫ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان‬

‫با استتتفاده از این فرمان برنامه ‪ CMD‬با استتتفاده از ‪ Hash‬حستتاب کاربری ‪ ShortUser‬بر روی ستتیستتتم محلی‬
‫خودمان باز میتتود‪ .‬هنگامیکه ‪ CMD‬باز میتتود یک ارتبا از طریق تتبکه با ستیستتم ‪ DC1‬ایجاد میتتود که ما‬
‫میتوانید با استتتفاده از فرامین مختلف ویندوز با آن ستتیستتتم ارتبا برمرار کنیم‪ .‬بهعنوانمثا در اینجا ما از فرمان‬
‫‪ Net Use‬استفاده میکنیم‪:‬‬

‫شکل ‪ -8‬متصل شدن به سیستم با استفاده از حمالت ‪Pass-The-Hash‬‬

‫همانطور که در تتکل باه مشتخا استت ارتبا با ستایر حستابهای کاربری موجود در دامین امکانپذیر استت و تتما‬
‫میتوانید جهت مشتخا تتدن این موحتوع یا استتفاده از فرمان ‪ Net Share‬به بررستی ارتبا های موجود در تتبکه‬
‫بپردازید‪.‬‬

‫شکل ‪ -9‬نشست مربوط به ارتباط گرفتهشده از طریق حمالت ‪Pass-the-Hash‬‬

‫آزمون امنیت با استفاده از حمالت ‪Golden Ticket‬‬

‫زمانی که حمالت ‪ Pass-the-Hash‬دارای مقدار ‪ NTLM‬در ‪ Lsass‬استتتت خود را بهعنوان یک حستتتاب کاربری‬
‫با استتفاده از حمالت ‪ Golden Ticket‬یا ‪ Pass-the-Ticket‬کاربر‬ ‫موتبر در یک نشتستت مورفی میکند و ستپ‬
‫نتاموتبر را بتهعنوان یتک کتاربر موتبر مورفی میکنتد‪ .‬در پیتادهستتتازی ‪ Kerberos‬هنگتامیکته حستتتاب کتاربری دارای‬
‫‪ HASH‬موتبر استت مجوز دستترستی را به آن میدهد و به همین دلیل استت که برنامه ‪ Mimikatz‬از این حمله نیز‬
‫دهد‪ .‬برای این کار تما کافی‬ ‫میتواند استتفاده کند تا بتواند بود از نفو به ستیستم سحم دسترسی خود را نیز افزای‬
‫است اطالعات زیر را داتته باتید‪:‬‬

‫• ناب یکی از حسابهای کاربری با سحم دسترسی ‪administrator‬‬

‫‪8‬‬
‫ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان‬

‫• ناب کامل دامین‬


‫• تناسه دامین یا همان ‪SID‬‬
‫• مقدار ‪ NTLM HASH‬حساب کاربری‬

‫به دستت آوردن ناب حستاب کاربری با استتفاده از فرمان ‪ Net user‬امکانپذیر استت‪ .‬حستاب کاربری میتواند هر‬
‫نوع استمی داتتته باتتد اما باید از یک حستاب کاربری موجود استتفاده رد تا فرآیند حمالت ‪ Golden Ticket‬لو‬
‫نرود و پنهان بماند‪.‬جهت دیدن ناب کامل دامین ستیستتمعامل خود میتوانید از فرمان ‪ Ipconfig /all‬استتفاده‬
‫نمایید‪.‬‬

‫شکل ‪ -10‬به دست آوردن نام کامل دامین از طریق فرمان ‪Ipconfig /all‬‬

‫همچنین جهت به دست آورد ‪ SID‬یک دامین از فرمان ‪ Whoami /user‬استفاده کنید‪.‬‬

‫شکل ‪ - 11‬به دست آوردن ‪ SID‬دامین با استفاده از فرمان ‪Whoami‬‬

‫به دستت آوردن ‪ 3‬مرحلهی او در ستیستتمعامل بهسادگی انجاب میتود اما برای به دست آوردن ‪ NTLM HASH‬در‬
‫‪ krbtgt‬میتوانید از ابزار ‪ Lsadump‬نیز استتفاده نمایید‪ .‬برنامه ‪ Mimikatz‬میتواند از مقدار ‪ Hash‬بهدستتآمده‬
‫از ‪ krbtgt‬که توس برنامه ‪ LsaDump‬انجاب میتود استفاده کند برای این کار تما میتوانید از فرمان زیر استفاده‬
‫نمایید‪.‬‬

‫‪lsadump::lsa /inject /name:krbtgt‬‬

‫‪9‬‬
‫ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان‬

‫شکل ‪ -12‬دستیابی به مقدار ‪ NTLM‬در ‪krbtgt‬‬

‫تتما با داتتتن این اطالعات میتوانید حمالت ‪ Golden Ticket‬را بر روی هر نوع دستتگاهی اجرا کنید فق کافی‬
‫است فرمان ‪ kerberos::golden‬را با استفاده از ‪ Mimikatz‬در یک گروه ‪ RID‬مناسا اجرا کنید به تکل زیر‪:‬‬

‫‪mimikatz # kerberos::golden /user:FalseAdmin‬‬


‫‪/domain:muldertest.test‬‬
‫‪/SID:S-1-5-21-2655275101-1978145045-‬‬
‫‪1401857255‬‬
‫‪/krbtgt:69069dc9f4b3f1cfe735639314eea982‬‬
‫‪/groups:501,502,513,512,520,518,519‬‬
‫‪/ticket:FalseAdmin.tck‬‬

‫این ابزار بلیت(‪ )Ticket‬را ایجاد میکند و آن را داخل فایلی مخ تتوا با پستتوند ‪ tck‬خیره میکند‪ .‬توجه داتتتته‬
‫باتتید که این بلیت به مدت ‪ 10‬ستا موتبر بوده و نفو گر میتواند به مدت طوهنی دستترستی خود را به ستیستتم‬
‫حفظ نماید‪.‬‬

‫شکل ‪ -13‬ایجاد بلیت طالیی (‪)Golden Ticket‬‬

‫با استتفاده از این مقدار ایجادتتده برنامه ‪ Mimikatz‬میتواند با استتفاده از فرمان ‪Pass-the-( Kerberos::ptt‬‬
‫‪ )Ticket‬دسترسی خود را با امتیاز باه به خ فرمان مربانی بدهد‪.‬‬

‫‪10‬‬
‫ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان‬

‫این فرمان را اجرا‬ ‫هزب به کر استتت که مبل از ایجاد این فرمان باید برنامه را در حالت ‪ Debug‬مرار داده و ستتپ‬
‫کنید در غیر این صورت برنامه با خحا مواجه میتود‪.‬‬

‫شکل ‪ -14‬بعد از رفتن روی حالت ‪ debug‬امکان اجرای دستور و ایجاد ارتباط وجود دارد‪.‬‬

‫او در برمراری ارتبا با مدیر ستیستتم ‪ DC1‬با خحا مواجهه تتده‬ ‫همانگونه که در تتکل باه مشتاهده میکنید تال‬
‫استت اما پ ازآنکه برنامه در حالت ‪ Debug‬یا اتتکا زدایی مرار گرفت نشتستت ‪ Golden Ticket‬اعما میتتود و‬
‫دسترسی به سیستم و ایجاد ارتبا با آن امکانپذیر میتود‪.‬‬

‫استخراج پسورد با روبرداری(‪ )Dump‬گرفتن از فرآیند ‪Lsass‬‬

‫یکی دیگر از رو های موجود جهت به دستت آوردن پستورد حستاب کاربری بهصتورت متن تتفاخ روبرداری یا دامپ‬
‫کردن حتافظتهی ‪ Lsass‬استتتت کته این کتار توستتت یکی از ابزارهتای مجموعتهی ‪ Sysinternal‬انجتاب میتتتتود‪ .‬از‬
‫ویژگیهای استفاده از این مجموعه این است که آنتیویروس آن را بهعنوان فایل مخرب تناسایی نمیکند‪.‬‬

‫برای انجاب این کار باید از فرمان زیر استفاده کنید‪.‬‬

‫‪procdump.exe -accepteula -ma lsass.exe lsass.dmp‬‬ ‫برای دستگاههای ‪ 32‬بیتی‬


‫‪procdump.exe -accepteula -64 -ma lsass.exe lsass.dmp‬‬ ‫برای دستگاههای ‪ 64‬بیتی‬

‫با اجرای این فرمان فایل ‪ Lsass.dmp‬در مسیر اعالن خ فرمان داس ایجاد میتود‪.‬‬

‫‪11‬‬
‫ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان‬

‫کافی استتت با استتتفاده از فرمان زیر ما و ‪ Minidump‬در برنامه ‪ Mimikatz‬را برای بهکارگیری فایل‬ ‫و ستتپ‬
‫‪ Dump‬استفاده کنید‪.‬‬

‫‪sekurlsa::minidump lsass.dmp‬‬

‫درآید‪.‬‬ ‫ما و ‪ logonPasswords‬را با مقدار ‪ Full‬فراخوانی میکنیم تا تمامی پسوردها به نمای‬ ‫سپ‬

‫‪sekurlsa::logonPasswords full‬‬

‫‪12‬‬
‫ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان‬

:‫منابع‬

[1] https://github.com/gentilkiwi/mimikatz
[2] https://adsecurity.org/?page_id=1821
[3] http://www.powershellempire.com/?page_id=114
[4] https://blog.stealthbits.com/passing-the-hash-with-mimikatz
[5] https://blog.stealthbits.com/complete-domain-compromise-with-golden-tickets

13

You might also like