در جدیدترین کمپین،گروه Lazarus با استفاده از آسیبپذیری در نرمافزار یک کمپانی توانست بدافزار خود را به آن اضافه کند و شرکتهایی را که از این نرمافزار استفاده میکنند را آلوده کند. در اواسط تیرماه 2023 یک کمپانی نرم افزار برای بار چندم توسط گروه هکری Lazarus مورد نفوذ قرار گرفت. نکته قابل توجه این است که آسیب پذیری های نرم افزار جدید نبوده و همچنان سیستم های کمپانی ها از نرم افزار معیوب و آسیب پذیر استفاده می کردند و به عامل تهدید اجازه می داد از آنها سوءاستفاده کند. پس از کشف آسیب پذیری،مهاجم بدافزار را از طریق آن بر روی سیستم قربانی اجرا کرده اما هنوز روش دقیقی که از طریق آن این نرم افزار برای ارائه بدافزار سوءاستفاده قرار گرفته نامشخص است به همین دلیل نرم افزارهای امنیتی مانند آنتی ویروس هنگام ارائه بدافزار نمی توانند آن را شناسایی کنند.
در یک نمونه هنگام بررسی حافظه نرمافزار از سیستم قربانی متوجه وجود بدافزار SIGNBT همراه با یک Shellcode شدند. مهاجم از تکنیکهای مختلفی برای حفظ دسترسی خود استفاده کرده برای مثال از یک فایل به نام Ualapi.dll که به طور خودکار توسط پروسس Spoolsv.exe در هر بوت سیستم بارگذاری میشود استفاده کرده است. استفاده از فرایند Spoolsv.exe برای Hijack کردن یک استراتژِی طولانیمدت برای گروه Lazarus بوده، همچنین این تکنیک را قبلاً توسط بدافزار Gopuram انجام میداد. فایل مخرب Ualapi.dll که در بدافزار SIGNBT وجود دارد با استفاده از کد Open Source به نام Shareaza Torrent Wizard توسعهیافته است. این روش از یکی از رویکردهای معمولی و قابلاستفاده گروه Lazarus پیروی میکند که از کدهای Open Source به عنوان پایه استفاده کرده و سپس عملکردها و کدهای مخرب خاص خود را به آن تزریق میکند که در این کمپین از تکنیک DLL Side Loading برای استقرار بدافزار خود استفاده کرده است. این کدهای مخرب بهوسیله کلید رمزنگاری AES رمزنگاری میشوند و پس از رمزگشایی یک فایل اجرایی به نام SIGNBT مستقیماً در حافظه بارگذاری میشود. با اجراشدن بدافزار توسط قربانی بدافزار شروع به برقراری ارتباط با سرور C2 می کند، در ارتباط با C2 بدافزار از رشته های متمایز استفاده میکند که با نام SIGNBT شروع می شود به همین دلیل نام SIGNBT را برای آن به ارمغان آورده است. سپس بدافزار درخواست های HTTP را با هدر SIGNBTKE ارسال می کند و اگر پیام موفقیت آمیز را از سرور C2 دریافت کند تابع Getinfo را فراخوانی می کند.
این تابع اطلاعات مختلفی را درمورد سیستم قربانی جمعآوری میکند، اطلاعاتی مانند اطلاعات CPU، وضعیت شبکه، نام رایانه، جزئیات سیستمعامل و غیره را جمعآوری و به سرور مهاجم ارسال می کند. در هنگام ارتباط با سرور داده های دریافت شده از سرورC2 با استفاده از AES با یک کلید رمزگشایی به دست آمده از یک درخواست HTTP SIGNBTLG رمزگشایی می شود. اگر دادههای رمزگشایی شده “keep” باشد، بدافزار با یک پیام “OK” با استفاده از پیشوند SIGNBTSR پاسخ میدهد که نشاندهنده برقراری ارتباط موفق است. اگر مشکلی وجود داشته باشد، بدافزار از پیشوند SIGNBTFI به معنای مشکل یا شکست در ارتباطات استفاده می کند. بدافزار SIGNBT دارای مجموعه ای گسترده از عملکردها است که برای اعمال کنترل بر سیستم قربانی طراحی شده است بنابراین در صورت وجود، هنگام برقراری ارتباط یا شناسایی شدن توسط آنتی ویروس اقدام به فراخوانی کلاس و عملکردهای مختلف می کند و در صورت حذف شدن یا توقف بدافزار با استفاده از Backdoor هایی که ایجاد کرده میتوان دوباره بدافزار را داخل حافظه بارگذاری کرد.
گروه Lazarus همچنان یک عامل تهدید بسیار فعال و همهکاره در چشمانداز امنیت سایبری امروزی است. عامل تهدید درک عمیقی از محیطهای فناوری اطلاعات نشان داده است و تاکتیکهای آنها را برای استفاده از آسیبپذیریها در نرمافزارهای پرمخاطب اصلاحکرده است.
راه هایی برای کاهش این خطر پذیری
- نظارت بر پروسسهای اجرا شده در سیستم
- نظارت بر ترافیک خروجی شبکه
- بروز نگهداشتن نرمافزارها
روش های تشخیص این حمله
در صورت استفاده از سیستم شناسایی و پاسخ در نقاط پایانی هوپان (EDR) که یکی از اساسی ترین ماژول های راهکار گسترده شناسایی و پاسخ نخجیرپان (XDR) میباشد، تحلیل فعالیت های مرتبط و هشدارهای زیر مشاهده می گردد:
- مشاهده DLL های مخرب اجرا شده
- مشاهده ترافیک غیرعادی شبکه
- مشاهده پروسسهای اجرا شده
این تهدید از تکنیک های زیر که در جدول مایتر اتک موجود می باشد استفاده نموده است.
Initial Access | Execution | Persistence | Privilege Escalation | Defense Evasion | Credential Access | Discovery | Collection | Command And Control | Exfiltration |
Drive-by Compromise | AppleScript | .bash_profile and .bashrc | Access Token Manipulation | Access Token Manipulation | Account Manipulation | Account Discovery | Audio Capture | Commonly Used Port | Automated Exfiltration |
Exploit Public-Facing Application | CMSTP | Accessibility Features | Accessibility Features | Binary Padding | Bash History | Application Window Discovery | Automated Collection | Communication Through Removable Media | Data Compressed |
External Remote Services | Command-Line Interface | Account Manipulation | AppCert DLLs | BITS Jobs | Brute Force | Browser Bookmark Discovery | Clipboard Data | Connection Proxy | Data Encrypted |
Hardware Additions | Compiled HTML File | AppCert DLLs | AppInit DLLs | Bypass User Account Control | Os Credential Dumping | Domain Trust Discovery | Data from Information Repositories | Custom Command and Control Protocol | Data Transfer Size Limits |
Replication Through Removable Media | Component Object Model and Distributed COM | AppInit DLLs | Application Shimming | Clear Command History | Credentials from Web Browsers | File and Directory Discovery | Data from Local System | Custom Cryptographic Protocol | Exfiltration Over Alternative Protocol |
Spearphishing Attachment | Control Panel Items | Application Shimming | Bypass User Account Control | CMSTP | Credentials in Files | Network Service Scanning | Data from Network Shared Drive | Data Encoding | Exfiltration Over Command and Control Channel |
Spearphishing Link | Dynamic Data Exchange | Authentication Package | Boot or Logon Autostart Execution | Code Signing | Credentials in Registry | Network Share Discovery | Data from Removable Media | Data Obfuscation | Exfiltration Over Other Network Medium |
Spearphishing via Service | Execution through API | BITS Jobs | Dylib Hijacking | Compile After Delivery | Exploitation for Credential Access | Network Sniffing | Data Staged | Domain Fronting | Exfiltration Over Physical Medium |
Supply Chain Compromise | Execution through Module Load | Bootkit | Elevated Execution with Prompt | Compiled HTML File | Forced Authentication | Password Policy Discovery | Email Collection | Domain Generation Algorithms | Scheduled Transfer |
Trusted Relationship | Exploitation for Client Execution | Boot or Logon Autostart Execution | Emond | Component Firmware | Hooking | Peripheral Device Discovery | Input Capture | Encrypted Channel | |
Valid Accounts | Graphical User Interface | Change Default File Association | Exploitation for Privilege Escalation | Component Object Model Hijacking | Input Capture | Permission Groups Discovery | Man in the Browser | Multi-hop Proxy | |
InstallUtil | Component Firmware | Extra Window Memory Injection | Connection Proxy | Input Prompt | Process Discovery | Screen Capture | Multi-Stage Channels | ||
Launchctl | Component Object Model Hijacking | File System Permissions Weakness | Control Panel Items | Kerberoasting | Query Registry | Video Capture | Multiband Communication | ||
Local Job Scheduling | Create Account | Hooking | DCShadow | Keychain | Remote System Discovery | Multilayer Encryption | |||
LSASS Driver | DLL Search Order Hijacking | Image File Execution Options Injection | Deobfuscate/Decode Files or Information | LLMNR/NBT-NS Poisoning and Relay | Security Software Discovery | Port Knocking | |||
Mshta | Dll Side-Loading | Launch Daemon | Disabling Security Tools | Network Sniffing | Software Discovery | Remote Access Tools | |||
PowerShell | Emond | New Service | DLL Search Order Hijacking | Password Filter DLL | System Information Discovery | Remote File Copy | |||
Regsvcs/Regasm | External Remote Services | Parent PID Spoofing | DLL Side-Loading | Private Keys | System Network Configuration Discovery | Standard Application Layer Protocol | |||
Regsvr32 | File System Permissions Weakness | Path Interception | Execution Guardrails | Securityd Memory | System Network Connections Discovery | Standard Cryptographic Protocol | |||
Rundll32 | Hidden Files and Directories | Plist Modification | Exploitation for Defense Evasion | Steal Web Session Cookie | System Owner/User Discovery | Standard Non-Application Layer Protocol | |||
Scheduled Task | Hooking | Port Monitors | Extra Window Memory Injection | Two-Factor Authentication Interception | System Service Discovery | Uncommonly Used Port | |||
Scripting | Hypervisor | PowerShell Profile | File and Directory Permissions Modification | System Time Discovery | Web Service | ||||
Service Execution | Image File Execution Options Injection | Process Injection | File Deletion | Virtualization/Sandbox Evasion | |||||
Signed Binary Proxy Execution | Kernel Modules and Extensions | Scheduled Task | File System Logical Offsets | ||||||
Signed Script Proxy Execution | Launch Agent | Service Registry Permissions Weakness | Gatekeeper Bypass | ||||||
Source | Launch Daemon | Setuid and Setgid | Group Policy Modification | ||||||
Space after Filename | Launchctl | SID-History Injection | Hidden Files and Directories | ||||||
Third-party Software | LC_LOAD_DYLIB Addition | Startup Items | Hidden Users | ||||||
Trap | Local Job Scheduling | Sudo | Hidden Window | ||||||
Trusted Developer Utilities | Login Item | Sudo Caching | HISTCONTROL | ||||||
User Execution | Logon Scripts | Valid Accounts | Image File Execution Options Injection | ||||||
Windows Management Instrumentation | LSASS Driver | Web Shell | Indicator Blocking | ||||||
Windows Remote Management | Modify Existing Service | Indicator Removal from Tools | |||||||
XSL Script Processing | Netsh Helper DLL | Indicator Removal on Host | |||||||
New Service | Indirect Command Execution | ||||||||
Office Application Startup | Install Root Certificate | ||||||||
Path Interception | InstallUtil | ||||||||
Plist Modification | Launchctl | ||||||||
Port Knocking | LC_MAIN Hijacking | ||||||||
Port Monitors | Masquerading | ||||||||
PowerShell Profile | Modify Registry | ||||||||
Rc.common | Mshta | ||||||||
Re-opened Applications | Network Share Connection Removal | ||||||||
Redundant Access | NTFS File Attributes | ||||||||
Registry Run Keys / Startup Folder | Obfuscated Files or Information | ||||||||
Scheduled Task | Parent PID Spoofing | ||||||||
Screensaver | Plist Modification | ||||||||
Security Support Provider | Port Knocking | ||||||||
Server Software Component | Process Doppelgänging | ||||||||
Service Registry Permissions Weakness | Process Hollowing | ||||||||
Setuid and Setgid | Process Injection | ||||||||
Shortcut Modification | Reflective Code Loading | ||||||||
SIP and Trust Provider Hijacking | Regsvcs/Regasm | ||||||||
Startup Items | Regsvr32 | ||||||||
System Firmware | Rootkit | ||||||||
Systemd Service | Rundll32 | ||||||||
Time Providers | Scripting | ||||||||
Trap | Signed Binary Proxy Execution | ||||||||
Valid Accounts | Signed Script Proxy Execution | ||||||||
Web Shell | SIP and Trust Provider Hijacking | ||||||||
Windows Management Instrumentation Event Subscription | Software Packing | ||||||||
Winlogon Helper DLL | Space after Filename | ||||||||
Template Injection | |||||||||
Timestomp | |||||||||
Trusted Developer Utilities | |||||||||
Valid Accounts | |||||||||
Virtualization/Sandbox Evasion | |||||||||
Web Service | |||||||||
XSL Script Processing | |||||||||
منابع
A Cascade of Compromise: Kaspersky Exposes Lazarus’ New Campaign Exploiting Legitimate Software - https://www.kaspersky.com - October 27,2023
unveiling Lazarus’ new campaign - https://www.cybersecurity-review - October 27,2023
Anomali Cyber Watch: Lazarus Unveils SIGNBT Backdoor, StripedFly Framework Exploiting EternalBlue for 7 Years, and More - https://www.anomali.com – October 31,2023