Azure Escape: মাইক্রোসফট ক্লাউডের নিরাপত্তা বেষ্টনী ভেঙে হ্যাকারদের অনুপ্রবেশ!
Azure ক্লাউড পরিবেশে Tenant Escape, Privilege Escalation এবং Lateral Movement আক্রমণের কৌশল ও প্রতিকার সম্পর্কে গভীর বিশ্লেষণ।
মাইক্রোসফটের Azure ক্লাউড প্ল্যাটফর্ম আজ AWS-এর পরে বিশ্বের দ্বিতীয় বৃহত্তম ক্লাউড সার্ভিস প্রোভাইডার। শত শত Fortune 500 কোম্পানি তাদের Active Directory, Email, SharePoint, এবং Enterprise Application Azure-এ মাইগ্রেট করেছে। কিন্তু এই বিশাল আকর্ষণের কারণে Azure এখন আক্রমণকারীদের প্রধান টার্গেটে পরিণত হয়েছে। Azure Escape হলো এমন একটি Advanced Attack Technique যেখানে আক্রমণকারী Azure-এর Tenant Boundary, Subscription Boundary বা Resource Group Boundary ভেদ করে অননুমোদিত রিসোর্সে প্রবেশ করে।
২০২১ সালের OMIGOD দুর্বলতা থেকে শুরু করে ২০২২ সালের Azurescape আক্রমণ পর্যন্ত, একের পর এক বড় বড় দুর্বলতা প্রকাশিত হয়েছে যা Azure-এর Multi-Tenant Architecture-কে চ্যালেঞ্জ করেছে। এই বিস্তারিত নিবন্ধে আমরা Azure Escape-এর কৌশল, বাস্তব ঘটনা এবং প্রতিকার নিয়ে গভীরভাবে আলোচনা করব।
Azure Escape: মূল ধারণা
Azure Escape বলতে বোঝায় এমন আক্রমণ যেখানে আক্রমণকারী তার নির্ধারিত Security Boundary অতিক্রম করে। Azure-এ মূলত তিন ধরনের Boundary রয়েছে— Tenant Boundary (Azure AD-এর ভিন্ন সংস্থা), Subscription Boundary (Billing Unit), এবং Resource Group Boundary (Logical Container)। প্রতিটি Boundary-এর জন্য আলাদা Permission Model এবং Trust Relationship রয়েছে।
Tenant Escape হলো সবচেয়ে বিপজ্জনক ধরন, যেখানে আক্রমণকারী একটি Tenant থেকে অন্য একটি Tenant-এ প্রবেশ করতে পারে। Multi-Tenant Architecture-এ এটি ঘটার কথা নয়, কিন্তু Microsoft-এর Cloud Infrastructure-এ একাধিকবার এমন দুর্বলতা পাওয়া গেছে। Subscription Escape-এ আক্রমণকারী একই Tenant-এর মধ্যে অন্য Subscription-এ Lateral Movement করে। Resource Group Escape তুলনামূলক কম মারাত্মক কিন্তু সংস্থার অভ্যন্তরে গুরুত্বপূর্ণ ডেটা চুরির জন্য যথেষ্ট।
Azure-এর Identity Provider হলো Azure Active Directory বা সাম্প্রতিক নামকরণ অনুযায়ী Microsoft Entra ID। এটি Authentication, Authorization এবং Identity Lifecycle Management পরিচালনা করে। Azure Resource Manager বা ARM হলো Control Plane যার মাধ্যমে রিসোর্স তৈরি, পরিবর্তন এবং মুছে ফেলা যায়। এই দুটি কম্পোনেন্টের যেকোনোটিতে দুর্বলতা থাকলে পুরো Azure Tenant ঝুঁকিতে পড়ে।
Azure Escape-এর প্রধান কৌশল
Managed Identity Abuse
Azure-এ Managed Identity হলো একটি Service Account যা স্বয়ংক্রিয়ভাবে Azure Resource-এ সংযুক্ত থাকে। এটি Authentication Token পরিচালনা করার ঝামেলা থেকে ডেভেলপারদের মুক্তি দেয়। কিন্তু এই সুবিধা আক্রমণকারীদের জন্যও সুযোগ তৈরি করে। যদি একটি Azure VM-তে SSRF বা RCE দুর্বলতা থাকে, আক্রমণকারী Instance Metadata Service Endpoint-এ Request পাঠিয়ে Managed Identity-র Access Token চুরি করতে পারে।
Metadata Endpoint হলো 169.254.169.254 যা শুধুমাত্র VM-এর ভেতর থেকে অ্যাক্সেসযোগ্য। আক্রমণকারী যদি VM-এর ভেতরে কোনো Code Execution অর্জন করে, তাহলে নিম্নলিখিত API Call দিয়ে Token পেতে পারে। এই Token পাওয়ার পর Azure CLI বা ARM REST API ব্যবহার করে সেই Managed Identity-র সমস্ত Permission ব্যবহার করা সম্ভব। যদি Managed Identity-কে Contributor বা Owner Role দেওয়া থাকে, তাহলে পুরো Subscription আক্রমণকারীর নিয়ন্ত্রণে চলে যাবে।
Service Principal হাইজ্যাকিং
Service Principal হলো Application-এর জন্য Identity। প্রতিটি Service Principal-এর সাথে এক বা একাধিক Credentials যুক্ত থাকে— Password (Client Secret) বা Certificate। যদি আক্রমণকারী Azure AD-তে Application.ReadWrite.All বা Application Administrator Role অর্জন করতে পারে, তাহলে যেকোনো Service Principal-এ নতুন Credential যুক্ত করে সেটি দিয়ে Sign In করতে পারবে।
এই কৌশলটি অত্যন্ত বিপজ্জনক কারণ Service Principal প্রায়ই High Privilege Role যেমন Global Administrator-এ Assigned থাকে। Azure AD Graph API বা Microsoft Graph API-এর মাধ্যমে এই Manipulation সম্ভব। আক্রমণকারী Persistence অর্জনের জন্য প্রায়ই এই কৌশল ব্যবহার করে কারণ Service Principal-এ যুক্ত Credential সহজে চোখে পড়ে না।
Cross-Subscription Lateral Movement
Azure-এ একাধিক Subscription একই Azure AD Tenant-এর অধীনে থাকতে পারে। যদি কোনো User বা Service Principal একাধিক Subscription-এ Permission রাখে, তাহলে এটি Cross-Subscription Lateral Movement-এর সুযোগ তৈরি করে। বিশেষ করে Privileged Identity Management সঠিকভাবে কনফিগার না থাকলে, একজন Compromised User-এর মাধ্যমে আক্রমণকারী একাধিক Subscription-এ প্রবেশ করতে পারে।
Management Group হলো Subscription-এর উপরের একটি Hierarchy। যদি কারো Management Group-এ Owner Role থাকে, তাহলে সেই Hierarchy-র সমস্ত Subscription-এ তার Owner Role অটোমেটিক্যালি Propagate হয়। আক্রমণকারীরা এই Inheritance ব্যবহার করে Privilege Escalation করে।
Azurescape: ঐতিহাসিক দুর্বলতা
২০২১ সালে Palo Alto Networks-এর Unit 42 গবেষকরা Azurescape নামে একটি Cross-Account Container Takeover দুর্বলতা প্রকাশ করেন। এটি Azure Container Instances Service-এ আবিষ্কৃত হয়েছিল। Azure Container Instances Multi-Tenant Kubernetes Cluster ব্যবহার করত, এবং দুর্বলতার মাধ্যমে একজন গ্রাহক অন্য গ্রাহকের Container Access করতে পারতেন।
আক্রমণকারী প্রথমে একটি Specially Crafted Container Deploy করে যা CRI-O Runtime-এর একটি দুর্বলতা ব্যবহার করে Container Escape অর্জন করে। তারপর Kubelet Credentials চুরি করে পুরো Cluster-এ Lateral Movement করে। সবচেয়ে বিপজ্জনক হলো, এই Cluster অন্যান্য Azure গ্রাহকদের Container Host করত, ফলে অন্য Tenant-এর Sensitive Data Access করা সম্ভব ছিল।
Microsoft দ্রুত এই দুর্বলতা প্যাচ করে এবং প্রভাবিত গ্রাহকদের তাদের Credentials Rotate করতে অনুরোধ করে। এই ঘটনা ক্লাউড নিরাপত্তায় Multi-Tenant Isolation-এর গুরুত্ব আবার সামনে এনেছিল।
NTLM Relay ও Hybrid Identity আক্রমণ
বহু সংস্থা Hybrid Identity Model ব্যবহার করে যেখানে On-Premises Active Directory এবং Azure AD সিঙ্ক্রোনাইজড থাকে। Azure AD Connect এই সিঙ্ক্রোনাইজেশন পরিচালনা করে। যদি আক্রমণকারী Azure AD Connect Server compromise করতে পারে, তাহলে সে On-Premises AD-এর সমস্ত Credential Azure AD-তে রিসেট করতে পারবে, এমনকি Global Administrator-এর পাসওয়ার্ডও।
PHS বা Pass-Through Authentication ব্যবহার করার সময় Azure AD Connect Server প্রায়ই Tier 0 Asset হিসেবে চিহ্নিত হয় না, যা একটি বড় ভুল। এই Server-এ যেই MSOL Account থাকে তার DCSync Permission থাকে যা দিয়ে আক্রমণকারী Domain Controller থেকে সমস্ত User-এর Hash Dump করতে পারে।
Conditional Access Bypass
Conditional Access হলো Azure AD-র একটি শক্তিশালী Security Feature যা নির্দিষ্ট Condition-এর ভিত্তিতে Access Allow বা Deny করে। কিন্তু Conditional Access নিজেও বিভিন্নভাবে Bypass করা যায়। Legacy Authentication Protocol যেমন POP3, IMAP, SMTP-এর মাধ্যমে অনেক সংস্থা ভুলবশত MFA Bypass করার সুযোগ রেখে দেয়।
Device Code Phishing হলো আরেকটি Advanced Technique যেখানে আক্রমণকারী Victim-কে একটি Device Code লিখতে বাধ্য করে। Victim তার নিজের Browser-এ Login করলেও Token আক্রমণকারীর কাছে চলে যায়। এই কৌশলে MFA-ও বাইপাস হয়ে যায় কারণ Victim স্বেচ্ছায় MFA অনুমোদন করছেন।
Token Theft আরেকটি বড় হুমকি। যদি আক্রমণকারী একটি Browser Session-এর Cookie বা Refresh Token চুরি করতে পারে, তাহলে সে Conditional Access-এর সমস্ত Check Bypass করে Direct Access পাবে।
প্রতিরোধ ও প্রতিকার
Azure Escape থেকে রক্ষা পেতে Multi-Layered Defense Strategy অপরিহার্য। প্রথমে Microsoft Entra ID Privileged Identity Management সক্রিয় করুন। কোনো User-কে Permanent High Privilege Role দেবেন না। Just-In-Time Access Model ব্যবহার করুন যেখানে Approval এবং MFA-র পর সীমিত সময়ের জন্য Role Activate হয়।
Phishing-Resistant MFA বাধ্যতামূলক করুন। FIDO2 Security Key বা Windows Hello for Business ব্যবহার করুন। SMS-based MFA পরিহার করুন। Global Administrator-এর সংখ্যা ৫-এর কম রাখুন এবং প্রতিটির জন্য আলাদা Break-Glass Account রাখুন যা শুধুমাত্র জরুরি অবস্থায় ব্যবহৃত হবে।
Managed Identity-র জন্য Least Privilege নীতি কঠোরভাবে প্রয়োগ করুন। Contributor বা Owner Role পরিহার করে Custom Role তৈরি করুন যা শুধু প্রয়োজনীয় Permission দেয়। VM-এ IMDS-এর Access কঠোরভাবে সীমিত করুন এবং অপ্রয়োজনীয় Outbound Traffic Block করুন।
Conditional Access Policy সঠিকভাবে কনফিগার করুন। Legacy Authentication সম্পূর্ণ Block করুন। Risky Sign-In এবং Risky User-এর জন্য Automatic Remediation সক্রিয় করুন। Sign-In Frequency কম রাখুন এবং Persistent Browser Session নিষিদ্ধ করুন।
Microsoft Defender for Cloud সক্রিয় করুন যা Continuous Security Posture Management এবং Threat Detection প্রদান করে। Azure Sentinel-এ Log Aggregation এবং SIEM Integration নিশ্চিত করুন। অস্বাভাবিক Sign-In Pattern, Impossible Travel, এবং Mass Download Detection-এর জন্য Alert Rule সেট করুন।
Azure AD Connect Server-কে Tier 0 হিসেবে Treat করুন। এটিকে আলাদা Forest-এ Isolate করুন এবং সর্বোচ্চ Hardening প্রয়োগ করুন। Connect Server-এ Local Administrator Access কঠোরভাবে সীমিত করুন।
Azure Escape আক্রমণগুলো ক্রমশ Sophisticated হচ্ছে এবং Microsoft-এর Multi-Tenant Architecture-এর সবচেয়ে গভীর স্তরকে চ্যালেঞ্জ করছে। Defender হিসেবে আমাদের দায়িত্ব হলো Identity-Centric Security Model গ্রহণ করা, প্রতিটি Permission পর্যালোচনা করা এবং Zero Trust Architecture বাস্তবায়ন করা। মনে রাখবেন, ক্লাউডে Identity হলো নতুন Perimeter। যে সংস্থা তার Identity-কে যত ভালোভাবে রক্ষা করতে পারে, সে তত নিরাপদ। নিয়মিত Red Team Exercise, Threat Modeling এবং Tabletop Drill-এর মাধ্যমে আপনার Defense Posture পরীক্ষা করুন এবং উন্নত করতে থাকুন।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ Azure Escape MCQ Quiz-টি দিন!
Related articles
AS-REP Roasting: Hacking Techniques to Gain Access to Kerberos Accounts Without Passwords
8 min
AWS Security: Ensuring Maximum Protection for Your Amazon Cloud Account
12 min
Azure Security: Best Practices for Protecting Your Cloud Data
12 min
CASB Implementation: Securing Your Data in the Cloud Computing Era
8 min

