در این مطلب به بررسی حمله ای می پردازیم که در آن مهاجم قادر است با ارسال یک فایل مخرب word برای قربانی، اطلاعات لازم برای ورود به شبکه قربانی را به دست آورد. برای درک بهتر این حمله ابتدا با سناریویی که مورد بحث قرار می گیرد، آشنا می شویم.
سناریوی مورد نظر:
برای اجرای این حمله، سناریویی را در نظر بگیرید که مهاجم یک فایل مخرب word طراحی می کند و به روش های رایج مهندسی اجتماعی که وجود دارد، فایل طراحی شده را برای قربانی که عضو شبکه فرضی Test.local است، ارسال کرده و وی را برای باز کردن این فایل ترغیب می کند. پس از این که قربانی بر روی سیستم خود و با حساب کاربری عضو دامنه Test.local فایل word دریافتی از مهاجم را باز کند، اطلاعات حساب کاربری او، شامل username و NTLM hash گذرواژه، برای مهاجم ارسال می شود. بدین ترتیب مهاجم می تواند از این لحظه به بعد، با اطلاعات حساب کاربری قربانی که یک حساب معتبر تعریف شده در شبکه Test.local می باشد، وارد شبکه شده و از سرویس های مختلف موجود در شبکه سوء استفاده نماید. در ادامه مراحل اجرای حمله ذکر شده است.
مراحل اجرای حمله:
مرحله اول: ابتدا مهاجم با استفاده از module زیر که یکی از ماژول های موجود در framework: Metasploit است، فایل مخرب word خود را طراحی می کند:
auxiliary/docx/word_unc_injector
برای استفاده از module مذکور، چندین پارامتر نیازمند مقداردهی هستند:
- - source: از این module به دو صورت می توان استفاده کرد. هم می توان یک فایل word خالی که هیچ متنی داخلش وجود ندارد طراحی کرد، هم می توان از یک فایل word که دربرگیرنده محتوایی هست برای طراحی استفاده کرد. در سناریوی مورد نظر ما، از گزینه دوم استفاده می کنیم و بدین ترتیب یک فایل word با نام malicious.docx را برای این پارامتر مقدار می دهیم.
- -filename: از این پارامتر برای نام گذاری فایل مخرب ساخته شده استفاده می شود. format فایل مخرب می تواند هر یک از سه format: docx, doc, xml باشد.
- -LHOST: مقدار این پارامتر آدرس سروری هست که مهاجم بعد از اجرای فایل word بر روی سیستم قربانی، از آن بهره می برد تا اطلاعات حساب کاربری قربانی را به دست آورد.
- بدین ترتیب با مقداردهی پارامترهای مذکور، می توان مطابق با تصویر زیر ماژول را به اجرا در آورد:
در اصل آسیب پذیری که در این ماژول مورد استفاده قرار می گیرد و این امکان را برای مهاجم فراهم می آورد تا تنها با ارسال یک فایل word برای قربانی، اطلاعات ارزشمندی از شبکه ای که قربانی عضوی از آن هست به دست آورد، سوء استفاده از یکی از ویژگی هایی است که خود نرم افزار Office آن را از نسخه Microsoft office 2003 معرفی کرده است. همان طور که می دانید، در زمان استفاده از فایل word می توان آدرس یک فایل دیگر را به عنوان Template معرفی نمود. آدرس فایل دیگر، می تواند با استفاده از مسیر UNC معرفی شود که درواقع در ماژول مورد استفاده قرار گرفته نیز، زمانی که شما آدرس سرور مهاجم را مقدار دهی می کنید، همان آدرس به عنوان مسیر UNC یک فایل template در فایل نهایی ساخته شده قرار می گیرد. بنابراین هرگاه فایل word مخرب توسط قربانی اجرا می شود، در واقع مسیر attacker’s IP>\test.dot>\\ فراخوانی می شود که همین امر در نهایت منجر می شود تا مهاجم بتواند حمله خود را با موفقیت اجرا نماید.
مرحله دوم: در این مرحله قبل از این که فایل مخرب طراحی شده، توسط قربانی باز شود، مهاجم باید سرور خود را به گونه ای تنظیم کند تا ترافیک های مربوط به protocol: SMB را دریافت کند. به عبارتی مهاجم سرور خود را به عنوان یک SMB server تنظیم می کند تا password hash هایی که توسط SMB client ها برایش ارسال می شود را capture نماید. برای این منظور می توان از ماژول زیر استفاده کرد:
auxiliary/server/capture/smb
برای استفاده از این ماژول، کافی است مهاجم پارامتر SRVHOST را با آدرس سرور خود مقداردهی نموده و آن را به اجرا در آورد:
هم چنین یکی دیگر از پارامترهای مفیدی که در زمان استفاده از این ماژول می توان آن را مقداردهی نمود، پارامتر JOHNPWFILE هست که در صورت مقداردهی، مقادیر NTLM hash ای که به دست می آورد را در قالب مورد استفاده ابزار John The Ripper بر روی disk ذخیره می کند تا بتوان به راحتی از ابزار John The Ripper استفاده کرد و مقادیر hash به دست آمده را crack کرد.
مرحله سوم: در این مرحله مهاجم فایل مخرب طراحی شده report.docx را برای قربانی ارسال می کند. نکته بسیار خوبی که برای اجرای این حمله وجود دارد، این هست که فایل مخرب ساخته شده در این روش، توسط آنتی ویروس شناسایی نشده و با احتمال بالایی می توان حمله را با موفقیت اجرا نمود.
مرحله چهارم: پس از این که قربانی فایل report.docx مخرب را بر روی سیستم خود و با حساب عضو دامنه ای که دارد باز کند، مهاجم مقادیر NTLM hash متناظر با حساب عضو دامنه قربانی را در اختیار دارد:
مرحله پنجم: در این مرحله مهاجم از ابزار John The Ripper مطابق با دستوری که در تصویر مشاهده می شود بهره برده و مقدار NTLMv2 hash به دست آمده را crack می کند:
اکنون مهاجم یک حساب کاربری معتبر (user: testuser , password: P@ssw0rd) از شبکه Test.local در اختیار دارد. بنابراین مهاجم قادر است با اطلاعات حساب کاربری که به دست آورده است، از سرویس های گوناگون دامنه Test.local بهره ببرد. به عنوان نمونه مهاجم اکنون می تواند از سرویس بسیار مهم Exchange متعلق به دامنه Test.local بهره ببرد.