Professional Documents
Culture Documents
wINDOWS USER ACCOUNTS PENETRATION TESTING
wINDOWS USER ACCOUNTS PENETRATION TESTING
PENETRATION TESTING
نویسنده
مسلم حقیقیان
ی
ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان
فهرست مطالب
مقدمه
Pwdump
Fgdump
درباره Mimikatz
برنامه Lsass.exe
فراخوانی Mimikatz
کار با Mimikatz
بارگذاری Mimikatz
2
ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان
مقدمه
ابزارهای مختلف جهت تستت نفو و یا نفو به ستیستتمعامل مایکروستافت نوتتتهتتده استت که موموه هرکداب بر روی مستمتی
خاصتی از این تس یستتم عامل تمرکز داتتت و همین مورد باعم میتتد که برای رستیدن به هدخ خاا از دندین ابزار بهصتورت
ترکیبی استفاده میتد تا مسئولین امنیت بتوانند به هدخ خود که امن سازی سیستمعامل بوده است برسند.
در این مقاله به مورفی بهترین ابزار جهت آزمون نفو پذیری مایکروستتافت برای پستتورد ستتیستتتمعامل با استتتفاده از ابزار
Mimikatzمیپردازیم.
همانطور که میدانید فایل ) SAM(Security Account Managerفایلی استت که حاوی تماب پستورد حستابهای کاربری
استتت .محل این فایل بهصتتورت پی فرض در داخل پوتتته System32/Configاستتت .مقادیر داخل این فایل بهصتتورت
رمزنگاریتده خیرهتده است .در زیر به مورفی ابزارهایی جهت به دست آوردن محتویات این فایل میپردازیم.
Pwdump
ابزار Password Dumpیکی از مدیمیترین ابزارها بهمنظور به دستتتت آوردن محتویان فایل SAMاستتتت که این کار را با
تزریق کد در داخل Dllفرآیند LSASSانجاب میدهد .آخرین نستخه این نربافزار Pwdump7استت که در تتکل 1میتوانید
خروجی این برنامه را مشاهده نمایید.
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را نشان میدهد.
در ستتادهترین حالت برنامه Mimikatzمیتوانید آن را با استتتفاده از فرمان زیر در حالت اتتتکا زدایی مرار داده تا
بتوان پسوردها را به دست آورد که در تکل 4میتوانید خروجی آن را مشاهده نمایید.
# privilege::debug
5
ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان
جهت به دست آوردن لیست پسورد حسابهای کاربری میتوانید فرمان زیر را بکار ببرید. سپ
# sekurlsa::logonpasswords
همانطور که در تتتکل 5مشتتاه][1ده میکنید با اجرای این فرمان تتتما به اطالعاتی مانند SID, Username,
NTLM Hash, SHA1و پسورد حساب کاربری بهصورت متن آتکار دسترسی پیدا خواهید کرد.
Mimikatzجهت اجرای فرامین خود و گرفتن اطالعات از LSAنیاز به ستحم دستترستی Administratorدارد و
درصورتیکه آن را در سحم غیر مدیر اجرا کنید در اجرای دستورات با خحا مواجهه میتوید.
همانطور که در ت تتویر باه مشتتاهده میکنید امکان بازیابی مقادیر Hashدر فایل SAMاز طریق ابزار Mimikatz
بهآسانی امکانپذیر است.
با استفاده از این مقدار HASHمیتوانیم یک فرآیند را در حساب کاربری دیگر اجرا کنیم که برای این کار فق کافی
استت از مقدار HASHتتد ه برای ت تدیق کردن فرآیند روی ستیستتم محلی فولی استتفاده کرد .این نوع حمالت در
دست بندی از نوع Pass-the-Hashمیباتند.
6
ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان
مناستا جهت دستترستی به مناب ستیستتم راه دورا با استتفاده از ستحم دستترستی همان کاربر این حمالت یک رو
نیازی به تکستن رمزهای عبور که از نوع Salt Hashمیباتند نیست. است .در این رو
برای این کار کافی استت به جم آوری پستورد HASHحستاب کاربری بپردازید .تتکل 6پستوردهای ستیستتمعامل را که
توس Mimikatzجم آوریتده است را نشان میدهد.
با استفاده از دستور زیر این به ایجاد فرآیند جول هویت بپردازید. سپ
شکل - 7باز شدن CMDبر روی سیستم محلی با استفاده از NTLMحساب کاربری دیگر
7
ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان
با استتتفاده از این فرمان برنامه CMDبا استتتفاده از Hashحستتاب کاربری ShortUserبر روی ستتیستتتم محلی
خودمان باز میتتود .هنگامیکه CMDباز میتتود یک ارتبا از طریق تتبکه با ستیستتم DC1ایجاد میتتود که ما
میتوانید با استتتفاده از فرامین مختلف ویندوز با آن ستتیستتتم ارتبا برمرار کنیم .بهعنوانمثا در اینجا ما از فرمان
Net Useاستفاده میکنیم:
همانطور که در تتکل باه مشتخا استت ارتبا با ستایر حستابهای کاربری موجود در دامین امکانپذیر استت و تتما
میتوانید جهت مشتخا تتدن این موحتوع یا استتفاده از فرمان Net Shareبه بررستی ارتبا های موجود در تتبکه
بپردازید.
زمانی که حمالت Pass-the-Hashدارای مقدار NTLMدر Lsassاستتتت خود را بهعنوان یک حستتتاب کاربری
با استتفاده از حمالت Golden Ticketیا Pass-the-Ticketکاربر موتبر در یک نشتستت مورفی میکند و ستپ
نتاموتبر را بتهعنوان یتک کتاربر موتبر مورفی میکنتد .در پیتادهستتتازی Kerberosهنگتامیکته حستتتاب کتاربری دارای
HASHموتبر استت مجوز دستترستی را به آن میدهد و به همین دلیل استت که برنامه Mimikatzاز این حمله نیز
دهد .برای این کار تما کافی میتواند استتفاده کند تا بتواند بود از نفو به ستیستم سحم دسترسی خود را نیز افزای
است اطالعات زیر را داتته باتید:
8
ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان
به دستت آوردن ناب حستاب کاربری با استتفاده از فرمان Net userامکانپذیر استت .حستاب کاربری میتواند هر
نوع استمی داتتته باتتد اما باید از یک حستاب کاربری موجود استتفاده رد تا فرآیند حمالت Golden Ticketلو
نرود و پنهان بماند.جهت دیدن ناب کامل دامین ستیستتمعامل خود میتوانید از فرمان Ipconfig /allاستتفاده
نمایید.
شکل -10به دست آوردن نام کامل دامین از طریق فرمان Ipconfig /all
همچنین جهت به دست آورد SIDیک دامین از فرمان Whoami /userاستفاده کنید.
به دستت آوردن 3مرحلهی او در ستیستتمعامل بهسادگی انجاب میتود اما برای به دست آوردن NTLM HASHدر
krbtgtمیتوانید از ابزار Lsadumpنیز استتفاده نمایید .برنامه Mimikatzمیتواند از مقدار Hashبهدستتآمده
از krbtgtکه توس برنامه LsaDumpانجاب میتود استفاده کند برای این کار تما میتوانید از فرمان زیر استفاده
نمایید.
9
ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان
تتما با داتتتن این اطالعات میتوانید حمالت Golden Ticketرا بر روی هر نوع دستتگاهی اجرا کنید فق کافی
است فرمان kerberos::goldenرا با استفاده از Mimikatzدر یک گروه RIDمناسا اجرا کنید به تکل زیر:
این ابزار بلیت( )Ticketرا ایجاد میکند و آن را داخل فایلی مخ تتوا با پستتوند tckخیره میکند .توجه داتتتته
باتتید که این بلیت به مدت 10ستا موتبر بوده و نفو گر میتواند به مدت طوهنی دستترستی خود را به ستیستتم
حفظ نماید.
با استتفاده از این مقدار ایجادتتده برنامه Mimikatzمیتواند با استتفاده از فرمان Pass-the-( Kerberos::ptt
)Ticketدسترسی خود را با امتیاز باه به خ فرمان مربانی بدهد.
10
ارزیابی امنیتی حساب کاربری ویندوز ___________________________________________ مسلم حقیقیان
این فرمان را اجرا هزب به کر استتت که مبل از ایجاد این فرمان باید برنامه را در حالت Debugمرار داده و ستتپ
کنید در غیر این صورت برنامه با خحا مواجه میتود.
شکل -14بعد از رفتن روی حالت debugامکان اجرای دستور و ایجاد ارتباط وجود دارد.
او در برمراری ارتبا با مدیر ستیستتم DC1با خحا مواجهه تتده همانگونه که در تتکل باه مشتاهده میکنید تال
استت اما پ ازآنکه برنامه در حالت Debugیا اتتکا زدایی مرار گرفت نشتستت Golden Ticketاعما میتتود و
دسترسی به سیستم و ایجاد ارتبا با آن امکانپذیر میتود.
یکی دیگر از رو های موجود جهت به دستت آوردن پستورد حستاب کاربری بهصتورت متن تتفاخ روبرداری یا دامپ
کردن حتافظتهی Lsassاستتتت کته این کتار توستتت یکی از ابزارهتای مجموعتهی Sysinternalانجتاب میتتتتود .از
ویژگیهای استفاده از این مجموعه این است که آنتیویروس آن را بهعنوان فایل مخرب تناسایی نمیکند.
با اجرای این فرمان فایل 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