سازمانهای ایرانی، هدف بدافزار Agent Tesla
در هفتههای اخیر، سازمانهای ایرانی هدف کارزاری از بدافزار Agent Tesla قرار گرفتهاند که در جریان آن ایمیلهای جعلی با ظاهر و محتوای قابل باور به کاربران ارسال میشود. نکته قابل توجه در خصوص این ایمیلهای فیشینگ، فارسی بودن محتوا و عنوان آنهاست که این خود احتمال به دام افتادن کاربران ایرانی را افزایش میدهد.
خانواده Agent Tesla را میتوان در دسته بدافزارهای موسوم به Remote Access Trojan – به اختصار RAT – طبقهبندی کرد. نخستین نسخه از Agent Tesla حدود 8 سال پیش شناسایی شد. اما با تکاملهای مستمر این بدافزار توسط نویسندگان آن همچنان در فهرست تهدیدات فعال قرار دارد. بر طبق اعلام شرکت سوفوس (Sophos, Ltd)، بدافزار Agent Tesla سهمی 20 درصدی از مجموع ایمیلهای ناقل بدافزار را در دسامبر 2020 به خود اختصاص داده بود.
در ادامه این گزارش که با همکاری شرکت مهندسی شبکه گستر و مرکز مدیریت راهبردی افتای ریاست جمهوری تهیه گردیده به برخی قابلیتهای نسخ جدید Agent Tesla پرداخته شده است.
Agent Tesla از سوی نویسندگان آن به روشهای مختلف، در قالب خدمات موسوم به as-a-service به سایر تبهکاران سایبری فروخته میشود.
خریداران Agent Tesla قادر به سفارشیسازی بدافزار، توزیع آن و بهرهبرداری از آن به روش خود خواهند بود.
دامنه گستردهای از مهاجمان از این بدافزار بهمنظور سرقت اطلاعات اصالتسنجی (Credential) و اطلاعات بالقوه حساس از روشهایی همچون تصویربرداری از صفحه کار، ثبت کلیدهای فشرده شده (Keylogger) و استخراج محتوای کلیپبرد (Clipboard) بهره میگیرند.
در نسخ جدید، بر اساس مقادیر تخصیص داده شده به مجموعهای از متغیرها (Variable)، رفتار بدافزار در زمان اجرا تعیین میشود. مقادیر این متغیرها در قالب یک فایل به اصطلاح Config (پیکربندی) به بدافزار معرفی میشوند. با این توضیح که این تنظیمات توسط کامپایلر در فایل اجرایی که در نهایت باید بر روی دستگاه اجرا شود لحاظ میشود.
اصلیترین روش انتشار Agent Tesla، ایمیلهای هرزنامهای (Spam) است که فایل ناقل این بدافزار را در پیوست خود به همراه دارند. برای مثال در تصویر نمایش داده شده در ابتدای این گزارش، فایل ناقل، در قالب یک فایل 7z به ایمیل پیوست شده است. در برخی نمونهها نیز، فایل بدافزار از طریق ماکروی مخربی که در فایل Word یا Excel لحاظ شده، دریافت و اجرا میشود.
تصویر زیر نمونهای از ماکروهای ناقل این بدافزار است. در نمونه مذکور، دسترسی به کد از طریق رمز عبور محدود شده است. در صورت اجرای ماکرو، تابع Workbook_BeforeClose بهصورت خودکار زمانی که کاربر فایل را میبندد فراخوانی شده و در نهایت موجب دریافت و اجرای کد مخرب ناقل Agent Tesla میشود.
بهرهگیری از ماکرو مختص به Agent Tesla نیست و در سالهای اخیر، ماکروها یکی از مؤثرترین ابزارهای مورد استفاه ویروسنویسان برای انتشار بدافزارها بودهاند. بر طبق آمار شرکت امنیتی مکآفی (McAfee, LLC) در سهماهه چهارم 2020، تعداد نمونههای جدید از ماکروهای مخرب مبتنی برOffice در مقایسه با سهماهه قبل از آن 199 درصد افزایش داشت.
در نسخ اخیر Agent Tesla از روشهای مختلفی برای دشوار کردن افشای عملکرد مخرب بدافزار در بسترهای موسوم به سندباکس و در جریان تحلیلهای ایستا بهره گرفته شده است.
فرایند دریافت و اجرای Agent Tesla معمولا به صورت چندمرحلهای (Multi-stage) است.
علاوه بر بکارگیری Packer، بهمنظور مبهمسازی (Obfuscation) کد، در مواردی، گردانندگان این بدافزار برخی اجزای مخرب را بر روی سایتهای معتبر قرار میدهند تا ارتباطات با آن سایتها، از سوی ابزارهای امنیتی و مسئولان امنیت مشکوک تلقی نشود.
اولین مرحله، شامل یک دریافتکننده (Downloader) مبتنی بر Microsoft .NET است که مبهمسازی شده و در تکههایی که بهصورت base64 کدگذاری شدهاند از سایتهایی همچون Hastebin دریافت میشود. تکههای کد شده توسط base64 از سایر محتوای HTML از طریق سه نویسه @ که در ابتدا و انتهای هر تکه قرار گرفته جدا میشوند.
همچنین دریافتکننده تلاش میکند تا نشانی حافظه AmsiScanBuffer را به دست بیاورد. بدینمنظور amsi.dll بوسیله تابع LoadLibraryA فراخوانی شده و پس از حاصل شدن نشانی پایه DLL از طریق GetProcAddress نشانی تابع به دست میآید.
بهمحض آنکه Agent Tesla نشانی AmsiScanBuffer را استخراج میکند 8 بایت نخست نشانی این تابع را مورد دستدرازی قرار میدهد.
در نتیجه این اقدام، AMSI خطای Code 0x80070057 را باز گردانده و عملا تمامی پویشهای حافظه نامعتبر میشود. بهعبارت دیگر آن بخش از سازوکار حفاظتی نقطه پایانی که وابسته به AMSI است قربانی شده و در برابر اسمبلیهایی که به صورت پویا توسط پروسه Agent Tesla فراخوانی میشوند بیاثر میشود. از آنجایی که این اقدام در همان مرحله اول عملیات دریافتکننده صورت میگیرد سازوکار حفاظتی در واکنش صحیح به سایر اجزای دریافتکننده، فراخوانکننده (Loader) مرحله دوم و در نهایت کد مخرب Agent Tesla ناکام میماند.
پس از تکمیل فرایند دریافت، تکهها، به یکدیگر الصاق شده و با یک الگوریتم ساده کدگشایی میشوند. بافر کدگشایی شده مرحله دوم کار است که وظیفه آن فراخوانی کد مخرب Agent Tesla است.
در گام دوم نیز از مجموعهای اقدامات بهمنظور عبور از سد سندباکسهای مبتنی بر دیباگ بهره گرفته میشود. ابتدا با استفاده از یک کلاس Microsoft .NET Debugger دو مورد Debugger.IsAttached و Debugger.IsLogging جهت بررسی فعال بودن دیباگکننده فراخوانی میشوند. سپس از طریق تابع NtSetInformationThread Windows API فیلد ThreadHideFromDebugger بهنحوی مقداردهی میشود که ترد (Thread) از دید دیباگکننده مخفی بماند. با این مقداردهی، دیباگکننده هیچگاه نخواهد توانست که اطلاعات را از ترد استخراج کند. اگر چه این تکنیک را نمیتوان جدید دانست اما همچنان در بیاثر کردن بسترهای سندباکس موثر عمل میکند.
در نسخ جدید در زمان اجرای Agent Tesla، در صورت فعال بودن هر نمونه دیگر از این بدافزار نسبت به متوقف کردن آن اقدام میشود. این سازوکار زمینه را برای ارتقای نسخه فعلی به نسخه جدید را فراهم میکند.
در ادامه متغیرها، مقداردهی میشوند. مقادیر این متغیرها نمونه به نمونه میتواند متفاوت باشد.
Agent Tesla از طریق یک تایمر که مجهز به روالی با نام GetLastInputInfo است ورودی کاربر را بررسی میکند. اگر ورودی کاربر شناسایی نشود Agent Tesla خود را متوقف میکند. این اقدام را نیز میتوان در فهرست تکنیک های فرار از سد سندباکس Agent Tesla قرار داد.
Agent Tesla میتواند در بستر پودمانهای زیر با سرور فرماندهی (C2) خود ارتباط برقرار کند:
- HTTP – دادهها مستقیما به کنسول کنترلی تحت وب مهاجم ارسال میشود.
- SMTP – دادهها از طریق یک حساب ایمیل هک شده به سرور ایمیل در کنترل مهاجم ارسال میشود.
- FTP – دادهها به سرور FTP در کنترل مهاجم ارسال میشود.
- TELEGRAM – دادههای استخراج شده به یک اتاق گفتگ.ی خصوصی (Private Chat Room) در تلگرام ارسال میشود.
مهاجمان یکی از موارد مذکور را به عنوان پروسه پیکربندی از قبل تعیین شده خود انتخاب میکنند.
مهاجمان بهندرت از پودمان FTP استفاده میکنند. شاید یکی از دلایل اصلی آن در دسترس قرار گرفتن دادهها در نتیجه درج نشانی سرور، نام کاربری و رمز عبور در کد فایل مخرب بدافزار باشد.
گزینه پرطرفدار، اما، SMTP است. احتمالا به این دلیل که برای مهاجمان امنتر بوده و بهرهگیری از آن به زیرساخت کمتری نیاز دارد؛ در SMTP مهاجم صرفا به یک حساب ایمیل مبتنی بر SMTP نیاز دارد؛ حال آن که در HTTP نیاز به راهاندازی و نگهداری یک سرور وبی خواهد بود که بر روی آن کنسول کنترلی اجرا میشود.
در عین حال روش HTTP مزایای خاص خود را برای مهاجمان دارد. از جمله:
- اجرای هر کدام از توابع بهصورت از راه دور (Remotely)
- اطلاعرسانی نصب موفق بدافزار به مهاجمان
- حذف بدافزار بهصورت از راه دور
- رمزگذاری ترافیک
- امکان استفاده از TOR Proxy
جدول زیر قابلیتهای پشتیبانی شده در هر کدام از پودمانهای ارتباطی Agent Tesla را نمایش میدهد.
در بستر HTTP، بهمنظور اطلاعرسانی نصب موفق بدافزار، یک پیام HTTP خالی به سرور فرماندهی ارسال میشود.
از طریق یک تایمر نیز، ارسال پیام خالی HTTP برای اعلام فعال بودن بدافزار در بازههای زمانی مشخص، تجدید میشود.
یک تایمر دیگر هم موظف به زمانبندی بررسی دریافت فرمان حذف (Uninstall) از سوی مهاجمان بهصورت دورهای خواهد بود.
همچنین اگر چه از پودمان امن HTTPS استفاده نمیشود اما Agent Tesla ترافیک HTTP را از طریق Triple DES و کلیدی که در فایل Config معرفی شده رمزگذاری میکند.
در صورتی که در فایل Config تعیین شده باشد، بدافزار نسخهای از TOR Client را از سایت رسمی TOR دریافت و اجرا میکند. اما اگر TOR Client از قبل نصب شده باشد، Agent Tesla فرایند مذکور را متوقف میکند.
چنانچه در فایل Config مقدار true به متغیر مرتبط با ماندگاری (Persistence) تخصیص داده شده باشد، بدافزار خود را در یک پوشه با مشخصه Hidden (مخفی) و System (سیستمی) کپی میکند. همچنین با ایجاد کلید در مسیرهای زیر در محضرخانه (Registry) سیستم عامل، موجب فراخوانی خود در هر بار راه اندازی دستگاه میشود:
- SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run
در برخی کارزارها از Windows Task Scheduler نیز بهعنوان یک سازوکار ماندرگای سوءاستفاده میشود.
بدافزار از نشانی IP دستگاه از طریق API سایت ipify.org مطلع میشود.
Agent Tesla از IP دستگاه و موارد زیر بهعنوان شناسه (Fingerprint) دستگاه بهره میگیرد:
- نام پردازشگر (از طریق کلاس Name در Windows Management Interface)
- میزان حافظه (از طریق Microsoft .NET ComputerInfo().TotalPhysicalMemory)
- سیستم عامل (از طریق Microsoft .NET ComputerInfo().OSFullName)
- نام کاربری (از طریق Microsoft .NET SystemInformation.UserName)
- نام دستگاه (از طریق Microsoft .NET SystemInformation.ComputerName)
- تاریخ و زمان جاری (از طریق Microsoft .NET DateTime.Now)
یکی از اصلیترین اقدامات مخرب Agent Tesla سرقت اطلاعات اصالتسنجی است. تعداد برنامههای هدف قرار گرفته شده توسط این بدافزار در هر نسخه جدید از این بدافزار افزایش مییابد. از جمله برنامههایی که Agent Tesla برای دستیابی به اطلاعات اصالتسنجی آنها تلاش میکند میتوان به موارد زیر اشاره کرد.
مرورگرها:
- Chrome
- Firefox
- Edge
- Safari
- SRWare Iron
- CoolNovo
- QQ Browser
- UC Browser
- Elements Browser
- QIP Surf
- Epic Privacy
- Amigo
- Coccoc
- Coowon
- Torch Browser
- Orbitum
- Yandex Browser
- Sputnik
- Chedot
- Vivaldi
- Iridium Browser
- 360 Browser
- Chromium
- Opera Browser
- Sleipnir 6
- Liebao Browser
- CentBrowser
- Brave
- Cool Novo
- Citrio
- Uran
- 7Star
- Kometa
- Comodo Dragon
- K-Meleon
- FALKON
- IceCat
- Flock
- WaterFox
- PaleMoon
- UCBrowser
- IceDragon
- QQBrowser
- SeaMonkey
- BlackHawk
- CyberFox
نرمافزارهای مدیریت ایمیل:
- Postbox
- Foxmail
- Eudora
- Mailbird
- Becky!
- Opera Mail
- Outlook
- Thunderbird
- eM Client
- IncrediMail
- Claws-mail
- The Bat!
- Pocomail
- Psi
- Trillian
سایر نرمافزارها:
- DownloadManager
- jDownloader
- OpenVPN
- SmartFTP
- FTPGetter
- WS_FTP
- FileZilla
- CFTP
- FTP Navigator
- CoreFTP
- WinSCP
- FlashFXP
برای مثال، تصویر زیر دادههای سرقت شده توسط بدافزار از مرورگر Firefox را نمایش میدهد.
Agent Tesla اطلاعات اصالتسنجی سرقت شده را به همراه شناسه دستگاه که در بالا به آن اشاره شد به سرور فرماندهی ارسال میکند. این فرایند دیگر تکرار نخواهد شد. مگر آن که در Config، بدافزار ماندگار تعیین شده باشد که در این صورت با هر بار راهاندازی دستگاه، این کار مجدد انجام خواهد شد.
تابع سرقت اطلاعات اصالتسنجی شامل کدی است که اقدام به اجرای یک ترد مجزا برای استخراج کوکیهای مرورگر میکند. با این توضیح که این قابلیت در بسیاری مواقع مورد استفاده قرار نمیگیرد و در فایل Config نیز گزینهای برای فعالسازی آن وجود ندارد. به نظر میرسد امکان ویژهای است که مهاجمان باید آن را از نویسندگان Agent Tesla خریداری کنند.
یکی دیگر از قابلیتهای مخرب Agent Tesla توانایی آن در تصویربرداری از صفحه کار کاربری از طریق کتابخانههای Microsoft .NET است.
تابع مربوطه، در فاصلههای زمانی که از طریق یک تایمر کنترل میشود، تصویر را در قالب فایل JPEG ارسال میکند.
در صورت فعال بودن گزینه hookkeyboard در Config، بدافزار کلیدهای فشرده شده توسط کاربر و دادههای ذخیره شده در کلیپبرد را به سرور فرماندهی ارسال میکند. فاصله زمانی این موارد نیز از طریق تایمر تنظیم میشود.
همچنین برخی نسخ Agent Tesla با تحت رصد قرار دادن کلیپبرد دستگاه، در زمان قرار گرفتن یک نشانی بیتکوین در آن، نشانی را با یک نشانی تحت کنترل مهاجمان جایگزین میکند. بنابراین در صورت عدم دقت کاربر در زمان زدن دگمه ارسال، عملا مبلغ وارد شده، بجای گیرنده واقعی، نصیب مهاجمان Agent Tesla میشود.
برای مقابله با این تهدیدات رعایت موارد زیر توصیه میشود:
- از ضدویروس قدرتمند و بهروز استفاده کنید.
- قابلیت Macros در مجموعه نرمافزاری Office برای کاربرانی که به این قابلیت نیاز کاری ندارند با فعال کردن گزینه ” Disable all macros without notification” فعال شود. امکان اعمال تنظیمات بهصورت متمرکز از طریق Group Policyفراهم است.
- در صورت فعال بودن گزینه “Disable all macros with notification” در نرمافزار Office، در زمان باز کردن فایلهای حاوی ماکرو پیامی ظاهر شده و از کاربر خواسته میشود تا برای استفاده از کدهای بکار رفته در فایل، تنظیمات امنیتی خود را تغییر دهد. آموزش و راهنمایی کاربران سازمان به صرف نظر کردن از فایلهای مشکوک و باز نکردن آنها میتواند نقشی مؤثر در پیشگیری از اجرا شدن این فایلها داشته باشد.
- ایمیل های دارای پیوست ماکرو در درگاه شبکه مسدود شوند.
- از عدم استفاده از هر گونه سیستم عامل از رده خارج اطمینان حاصل کنید.
- نصب اصلاحیههای امنیتی بر روی تمامی دستگاهها را همواره مدنظر قرار دهید.
- سطح دسترسی کاربران را محدود کنید. بدین ترتیب حتی در صورت اجرا شدن فایل مخرب توسط کاربر، دستگاه به بدافزار آلوده نمیشود.
منابع:
- https://news.sophos.com/en-us/2021/02/02/agent-tesla-amps-up-information-stealing-attacks/
- https://hotforsecurity.bitdefender.com/blog/threat-actors-spread-agent-tesla-disguised-as-covid-19-vaccination-registration-25998.html
- https://www.fortinet.com/blog/threat-research/phishing-malware-hijacks-bitcoin-addresses-delivers-new-agent-tesla-variant
- https://krebsonsecurity.com/2018/10/who-is-agent-tesla/
- https://blog.360totalsecurity.com/en/large-scale-phishing-attack-on-western-europe/
- https://www.mcafee.com/enterprise/en-us/lp/threats-reports/apr-2021.html