AWS Exploitation: ক্লাউড কনফিগারেশনের দুর্বলতা কাজে লাগিয়ে সার্ভার হ্যাকিং!
AWS environment-এর misconfiguration, IAM weakness, এবং SSRF-এর মাধ্যমে cloud compromise—offensive cloud security-এর গভীর বিশ্লেষণ।
Amazon Web Services আজ বিশ্বের সবচেয়ে বড় cloud provider, এবং প্রায় প্রতিটি বড় enterprise কোনো না কোনোভাবে AWS infrastructure-এর উপর নির্ভরশীল। কিন্তু এই বিপুল adoption-এর সঙ্গে এসেছে নতুন ধরনের attack surface—যেখানে traditional on-premises security knowledge অপর্যাপ্ত। Capital One, Twilio, Uber, এবং বহু high-profile breach-এর মূলে ছিল AWS misconfiguration বা মিসhandled credential। অন্যদিকে, penetration tester এবং red teamer-দের জন্য AWS exploitation একটি rapidly evolving skill set যেখানে সাধারণ infrastructure pentesting দক্ষতা নতুন context-এ apply করতে হয়। এই নিবন্ধে আমরা AWS exploitation-এর core technique, common misconfiguration, এবং defensive perspective বিশ্লেষণ করব।
AWS Threat Model
AWS environment-এর threat model on-premises-এর চেয়ে fundamentally different। এখানে কয়েকটি unique aspect:
Shared Responsibility Model: AWS physical infrastructure, hypervisor, এবং managed service-এর underlying security নিশ্চিত করে। Customer responsibility holds for IAM configuration, data, application logic, এবং network configuration। বেশিরভাগ breach customer side থেকে।
Identity is the New Perimeter: Traditional network perimeter মূলত irrelevant। S3 bucket world-readable হলে কোনো firewall সাহায্য করবে না। IAM policy-ই primary control mechanism।
Programmable Infrastructure: Everything via API। যা automation enable করে, তা attacker-এর জন্যও সমানভাবে accessible। AWS-এ একটি leaked access key দিয়ে attacker সব কিছু programmatically explore এবং exploit করতে পারেন।
Service Variety: ২৫০-এর বেশি service, প্রতিটির own security model। S3-এর সঙ্গে EC2-এর সঙ্গে Lambda-এর security paradigm আলাদা। Mistake অনিবার্য।
Credential Discovery
Most AWS exploitation শুরু হয় credential discovery দিয়ে। AWS access key (AKIA-prefixed) এবং secret access key পেলে attacker সেই key-এর associated permission-এর সব access পান।
Public GitHub: Developer-রা সবচেয়ে common ভুল করেন—accidentally code-এ credential commit করে এবং push করে দেন। GitHub-এ automated bot ২৪/৭ scan করছে। GitHub-এর own secret scanning এবং AWS-এর automated quarantine থাকা সত্ত্বেও, প্রতিদিন credential leak হচ্ছে।
Pacu, TruffleHog, Gitleaks, AWS Secrets Manager Scanner—এসব tool GitHub repository, Docker image, এবং অন্যান্য source-এ credential খুঁজে।
SSRF via EC2 Instance Metadata Service (IMDSv1): Application-এ SSRF vulnerability থাকলে attacker http://169.254.169.254/latest/meta-data/iam/security-credentials/<role-name> access করে EC2 instance-এর IAM role-এর temporary credential পেতে পারেন। Capital One breach-এর core technique।
Configuration File Exposure: .aws/credentials, environment variable, CloudFormation template-এ hard-coded secret।
Application Logging: Verbose logging-এ accidentally credential log হয়ে যাওয়া।
Backup এবং Snapshot: Public EBS snapshot, public AMI—এসবে কখনো কখনো credential থাকে।
Phishing: Developer বা cloud administrator-কে target করে credential চুরি।
IAM Enumeration
Credential পাওয়ার পর attacker-এর প্রথম কাজ permission enumerate করা—অর্থাৎ এই credential দিয়ে কী কী করা যায় তা বের করা।
AWS CLI Basic:
aws sts get-caller-identity
aws iam list-attached-user-policies --user-name <username>
aws iam get-policy --policy-arn <arn>
Pacu: Rhino Security Labs-এর তৈরি AWS exploitation framework। Built-in module-গুলো IAM, EC2, S3, Lambda, CloudFormation—সব service-এ enumeration এবং exploitation automate করে।
enumerate-iam: Python script যা প্রতিটি AWS API call চেষ্টা করে দেখে কোনটা successful হয়। "Brute force" approach—কিন্তু কার্যকর।
ScoutSuite, Prowler, CloudSploit: Configuration assessment tool—সাধারণত defender-দের জন্য, কিন্তু attacker-ও recon-এ ব্যবহার করেন।
CloudTrail Avoidance: CloudTrail সব API call log করে। Sophisticated attacker non-logged API call ব্যবহার করেন (যেমন cross-region call, কিছু read operation যা by default logged না), অথবা CloudTrail disable করার চেষ্টা করেন।
IAM Privilege Escalation
AWS-এ privilege escalation traditional OS-এর মতো নয়—এখানে IAM permission-এর সূক্ষ্ম interaction exploit করা হয়। Rhino Security-এর research-এ ২১টি ভিন্ন AWS privilege escalation path documented।
iam:CreatePolicyVersion: যদি একটি user-এর iam:CreatePolicyVersion permission থাকে, তিনি একটি existing policy-এর নতুন version তৈরি করতে পারেন যেটি AdministratorAccess দেয়, তারপর iam:SetDefaultPolicyVersion দিয়ে সেটি default করেন।
iam:PassRole + lambda:CreateFunction + lambda:InvokeFunction: Attacker একটি Lambda function create করেন higher-privilege role pass করে এবং execute করেন।
iam:PassRole + ec2:RunInstances: Same concept—high-privilege role-এর সাথে EC2 instance launch।
iam:CreateAccessKey: অন্য user-এর জন্য access key create করার permission। Target হলো higher-privileged user।
iam:AttachUserPolicy / AttachRolePolicy: নিজেকে বা compromised role-কে additional policy attach।
SSM:SendCommand: যদি EC2 instance-এ SSM agent থাকে এবং attacker-এর ssm:SendCommand permission থাকে, তিনি সেই instance-এ arbitrary command run করতে পারেন।
STS:AssumeRole: Misconfigured trust relationship-এ অন্য account-এর কোনো role-এ assume করা।
প্রতিটি technique-এর জন্য Pacu-তে built-in module আছে। অর্থাৎ attacker-এর কাজ অনেকটাই automated।
S3 Bucket Exploitation
S3 misconfiguration cloud breach-এর সবচেয়ে কমন কারণ। Verizon, Accenture, Dow Jones, Booz Allen Hamilton—সবার breach-এ misconfigured S3 bucket implicated ছিল।
Public Read: s3:GetObject permission Everyone-কে দেওয়া। বহু sensitive data এভাবে public হয়ে যায়।
Public Write: আরো বিপজ্জনক—s3:PutObject Everyone-কে দেওয়া। Attacker malicious content upload করতে পারেন, যা original use-এ trust করা হয়।
Predictable Bucket Names: company-backup, company-prod, company-dev—এসব naming convention dictionary attack-এর সুযোগ দেয়। aws s3 ls s3://target-prod চেষ্টা করে public bucket discover করা।
Bucket Discovery Tools:
- S3Scanner: Wordlist-based bucket discovery।
- AWSBucketDump: Permutation-based enumeration।
- GrayhatWarfare: Public S3 bucket-এর searchable database।
Bucket Takeover: Subdomain takeover-এর S3 variant—যেখানে CNAME একটি non-existent S3 bucket-কে point করে, attacker সেই bucket name register করে content control নিতে পারেন।
Cross-Account Bucket Access: ACL এবং bucket policy ভুলভাবে configure করলে অন্য account-এর user access পেতে পারেন।
EC2 Instance Compromise
EC2 instance compromise-এর কয়েকটি specific cloud-aware angle আছে।
IMDS Exploitation: Instance Metadata Service থেকে IAM role credential extract। যেমন আগে উল্লিখিত, IMDSv1-এ SSRF-এর মাধ্যমে credential চুরি সম্ভব। AWS-এর IMDSv2 (session token-based) এই attack vector অনেকাংশে close করেছে, কিন্তু বহু legacy instance এখনও IMDSv1 ব্যবহার করছে।
EBS Snapshot Theft: যদি ec2:CreateSnapshot permission থাকে, attacker target instance-এর EBS volume snapshot নিতে পারেন, তারপর সেই snapshot থেকে নতুন volume create করে নিজের instance-এ attach করে browse করতে পারেন।
AMI Sharing: Compromised account থেকে attacker-এর own account-এ AMI share—সব data সহ।
User Data: EC2 launch-এর সময় user data script-এ secret store করা একটি bad practice, কিন্তু common। ec2:DescribeInstanceAttribute দিয়ে এই data retrievable।
SSH Key Replacement: যদি ec2:CreateKeyPair এবং appropriate permission থাকে, attacker key pair replace করে instance-এ access পান।
Lambda Exploitation
Serverless computing-এর own security model আছে।
Function Permission Enumeration: Lambda function-এর execution role-এর permission examine করা।
Event Source Abuse: Lambda trigger (SQS, SNS, S3, API Gateway) এ malicious event inject।
Layer Manipulation: যদি attacker-এর lambda:PublishLayerVersion permission থাকে, তিনি malicious Lambda layer publish করতে পারেন যা existing function-এ included হলে code execution হয়।
Function Code Modification: lambda:UpdateFunctionCode দিয়ে existing function-এর code পরিবর্তন। Backdoor-যুক্ত version deploy।
Environment Variable Theft: lambda:GetFunctionConfiguration দিয়ে function-এর environment variable—যেখানে প্রায়ই secret থাকে—read।
CloudTrail এবং Logging Evasion
Sophisticated attacker logging avoid বা manipulate করার চেষ্টা করেন।
CloudTrail Disable: cloudtrail:StopLogging, cloudtrail:DeleteTrail permission থাকলে directly disable।
S3 Bucket Policy Manipulation: CloudTrail log যে bucket-এ যায়, সেই bucket-এর policy modify করে log delete বা manipulate।
Log Tampering: যদিও CloudTrail log-এ digest file দিয়ে integrity protect করা হয়, যদি attacker সঠিক permission পান এবং both log এবং digest manipulate করেন, detection difficult হতে পারে।
Cross-Region Activity: Region-specific CloudTrail enabled থাকলে attacker untracked region-এ operate করেন।
Service Without Direct Logging: কিছু service-এর granular logging নেই—এসব ব্যবহার preferred।
বাস্তব ঘটনার বিশ্লেষণ
Capital One (২০১৯): ১০০ মিলিয়ন customer record breach। Attacker Paige Thompson একটি misconfigured ModSecurity WAF-এর মাধ্যমে SSRF execute করে EC2 instance-এর IAM role credential extract করেছিল। সেই credential দিয়ে S3 bucket access করেছিল। CloudTrail log ছিল কিন্তু monitoring ছিল না।
Twilio (২০২২): Smishing-এর মাধ্যমে employee credential চুরি, তারপর internal AWS environment access। ১২৫টি customer affected। আবার MFA-এর crucial role-এর reminder।
Uber (২০১৬): Engineer-দের GitHub credential চুরি, যেখানে AWS access key embedded ছিল। ৫৭ মিলিয়ন user-এর data exposed।
TeamTNT Cryptomining Campaign: Misconfigured AWS account-এ entry পেয়ে massive EC2 instance spin up করে cryptocurrency mining। Pacu-এর modified version ব্যবহার।
Rad Madox-এর Capital One follow-up research: এই breach-এর পর কয়েক মাস ধরে Madox এবং অন্য researcher AWS metadata service exploitation-এর variant প্রকাশ করেছিলেন, যা IMDSv2-এর development-কে accelerate করেছিল।
Defensive Best Practices
Identity এবং Access:
- Least Privilege Principle: কোনো user বা role-কে প্রয়োজনের বেশি permission না দেওয়া। AWS IAM Access Analyzer ব্যবহার করে over-permissive policy identify।
- MFA Mandatory: সব IAM user-এর জন্য MFA, especially privileged role-এর জন্য।
- Short-lived Credential: Long-lived access key-এর পরিবর্তে role assumption এবং STS temporary credential ব্যবহার।
- Federation এবং SSO: AWS SSO বা federated identity দিয়ে centralized authentication।
Configuration Management:
- CSPM Tools: Wiz, Prisma Cloud, AWS Security Hub continuous configuration monitoring।
- Infrastructure as Code: Terraform, CloudFormation দিয়ে infrastructure define এবং version control।
- AWS Config Rules: Automated compliance check।
Network Security:
- VPC Endpoint: S3, DynamoDB-এর জন্য private connectivity, internet bypass।
- Security Group: Strict ingress/egress rule।
- WAF এবং Shield: Application-layer protection।
Logging এবং Monitoring:
- CloudTrail: All regions, all events, encrypted, log validation enabled।
- GuardDuty: AWS-এর native threat detection service।
- VPC Flow Logs: Network traffic visibility।
- CloudWatch Alarms: Critical event-এর জন্য alert।
Data Protection:
- S3 Block Public Access: Account এবং bucket level enable।
- Encryption at Rest: KMS-managed key দিয়ে।
- Encryption in Transit: TLS everywhere।
- Macie: Sensitive data discovery in S3।
AWS exploitation একটি extraordinarily detailed এবং rapidly evolving discipline। Cloud-এর shared responsibility model, programmable nature, এবং service variety-এর কারণে attacker-দের জন্য সুযোগ এবং defender-দের জন্য challenge উভয়ই বেড়েছে। Capital One-এর breach সম্ভবত আধুনিক cloud security history-এর সবচেয়ে important case—একটি single SSRF এবং একটি over-privileged IAM role কীভাবে $300 million-এর breach-এ পরিণত হয়েছিল তা প্রতিটি cloud security professional-এর study করা উচিত। যারা offensive security-তে career build করছেন, AWS exploitation skill তাদের তোয়াল্লে যেতে দেবে। আর যারা defensive side-এ আছেন, attacker-এর mindset এবং technique বোঝা ছাড়া কার্যকর defense সম্ভব নয়। Cloud security skill demand আগামী দশকে exponentially বাড়বে, এবং এই field-এ deep expertise career-defining হতে পারে।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ AWS Exploitation MCQ Quiz-টি দিন!
Related articles
5G Security: Unveiling Cyber Attack Risks in Modern Networks and Mitigation Strategies
10 min
Active Directory: Why the Heart of the Corporate Network is the Ultimate Hacker Target
11 min
AD Exploitation: Advanced Tactics Hackers Use to Conquer Active Directory
10 min
ADCS Exploitation: How Hackers Hijack Networks Using Fake Digital Certificates
10 min

