Back to articles
March 30, 20265 minsCloud Security

SSRF ကနေတစ်ဆင့် AWS Server ကြီးတစ်ခုလုံး အသိမ်းခံရတဲ့အခါ (Cloud Security)

Cloud ပေါ်တင်ထားတဲ့ Web Application တစ်ခုမှာ SSRF (Server-Side Request Forgery) အားနည်းချက်ရှိနေရင်၊ EC2 Metadata Endpoint (169.254.169.254) ကနေ Admin Credentials တွေ ဘယ်လိုပါသွားတတ်လဲဆိုတာကို ရှင်းပြထားပါတယ်။

ဒီနေ့ Cloud Security ပိုင်းနဲ့ ပတ်သက်ပြီး Pentest လုပ်တဲ့အခါ အမြဲတမ်း သွားသွားစမ်းလေ့ရှိတဲ့ SSRF (Server-Side Request Forgery) အကြောင်းလေး ပြောပြချင်ပါတယ်။

ရိုးရိုး On-Premises ဆာဗာတွေမှာ SSRF မိရင် Internal Network ထဲက Redis တွေ၊ Database တွေကို လှမ်းပတ်မွှေလို့ ရပေမယ့်... Cloud (AWS) ပေါ်မှာဆိုရင်တော့ ဂိမ်းက လုံးဝပြောင်းသွားပါပြီ။

အကြောင်းကတော့ 169.254.169.254 (Instance Metadata Service - IMDS) ဆိုတဲ့ Magic IP ကြီး ရှိနေလို့ပါ။

တိုက်ခိုက်ပုံ အဆင့်ဆင့် (The Attack Vector):

၁။ Application မှာ Webhook ထည့်တဲ့နေရာဖြစ်ဖြစ်၊ ပုံတစ်ပုံକୁ URL ကနေ လှမ်းဆွဲ(Download) တဲ့ နေရာဖြစ်ဖြစ် ရှာတွေ့ပြီဆိုပါစို့။ ဥပမာ https://target.com/fetch_image?url=http://example.com/logo.png

၂။ Hacker က အဲ့ဒီ url parameter နေရာမှာ AWS Metadata IP ကို အစားထိုးလိုက်ပါတယ်။

https://target.com/fetch_image?url=http://169.254.169.254/latest/meta-data/

၃။ အဲ့ဒီအခါ ဆာဗာကြီးက သူ့ရဲ့ Internal Metadata တွေကို Browser ပေါ်မှာ (ဒါမှမဟုတ် Response ထဲမှာ) အန်ချပါတော့တယ်။

အဲ့ဒီမှာ အရေးအကြီးဆုံးက IAM Role Credentials တွေပါ။

http://169.254.169.254/latest/meta-data/iam/security-credentials/EC2-Admin-Role လို့ ထပ်ရိုက်လိုက်တာနဲ့...

json
{ "Code" : "Success", "LastUpdated" : "2026-03-29T10:00:00Z", "Type" : "AWS-HMAC", "AccessKeyId" : "ASIAIOSFODNN7EXAMPLE", "SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "Token" : "IQoJb3JpZ2luX2VjEJv...[LONG_TOKEN]...", "Expiration" : "2026-03-29T16:00:00Z" }

ဆိုပြီး Access Key ရော၊ Secret Key ပါ အစိမ်းလိုက် ထွက်လာပါတယ်။

၄။ ဒီ Keys တွေကို Hacker က သူ့ရဲ့ ကွန်ပျူတာမှာ aws configure နဲ့ ထည့်လိုက်တာနဲ့၊ အဲ့ဒီ EC2 က ရထားတဲ့ "Admin" လုပ်ပိုင်ခွင့်တွေ သူ့ဆီ တန်းရောက်လာပါပြီ။ (S3 bucket တွေ ဖျက်တာ၊ ဆာဗာအသစ်တွေ ထပ်တင်ပြီး Coin mine တာ စိတ်ကြိုက်လုပ်လို့ ရသွားပါပြီ)

ဘယ်လို ကာကွယ်မလဲ?

AWS သုံးတဲ့သူတွေအနေနဲ့ IMDSv2 (Version 2) ကို မဖြစ်မနေ ပြောင်းသုံးရပါမယ်။ IMDSv2 က Session Token အရင်တောင်းရပြီး၊ PUT request တွေမှာ Header သေချာ ထည့်ပေးမှ အလုပ်လုပ်တာမို့လို့၊ ရိုးရိုး SSRF ပေါက်ရုံနဲ့ Credentials တွေ ပါမသွားတော့ပါဘူးဗျ။ Cloud Migration လုပ်ရင် ဒါလေး အမြဲ သတိထားသင့်ပါတယ်။

Continue Reading

More articles you might enjoy

Internal Network ကြီးကို သိမ်းကျုံးခြင်း: Pass-the-Hash နှင့် Active Directory (Red Teaming)
April 5, 20267 mins

Internal Network ကြီးကို သိမ်းကျုံးခြင်း: Pass-the-Hash နှင့် Active Directory (Red Teaming)

ရုံးတွေ၊ ဘဏ်တွေ အများဆုံးသုံးတဲ့ Windows Active Directory Environment ကြီးမှာ၊ NTLM Hashes တွေကို ဖြတ်ခိုးပြီး တကယ့် Password မသိဘဲနဲ့တောင် Admin Server ထဲ ဝင်သွားနိုင်တဲ့ တိုက်ခိုက်မှုအကြောင်း Analysis ပါ။

Read article
DevSecOps: Pipeline တွေထဲမှာ လုံခြုံရေးကို အလုံပိတ်ထားခြင်း
April 2, 20266 mins

DevSecOps: Pipeline တွေထဲမှာ လုံခြုံရေးကို အလုံပိတ်ထားခြင်း

Developer တွေ Github ပေါ် Code တင်လိုက်တာနဲ့ Secrets တွေ (API Keys, Passwords) မတော်တဆ ပါသွားတာတွေ၊ Docker image မှာ Vulnerabilities တွေ ပါလာတာတွေကို CI/CD Pipeline ထဲမှာ Auto ဘယ်လို ဖမ်းမလဲဆိုတာ ပြထားပါတယ်။

Read article
File Upload ကနေ shell တက်သွားတဲ့ သဘောတရား (PHP)
March 29, 20266 mins

File Upload ကနေ shell တက်သွားတဲ့ သဘောတရား (PHP)

Developer တော်တော်များများက ပုံတင်တဲ့ နေရာတွေမှာ `accept=".jpg,.png"` လောက်ပဲ စစ်လေ့ရှိပါတယ်။ ဒီဆောင်းပါးမှာ Backend ကို ဘယ်လို bypass လုပ်ပြီး RCE (Remote Code Execution) ရယူလဲဆိုတာ ရေးထားပါတယ်။

Read article