AD Exploitation: হ্যাকাররা কীভাবে Active Directory এর সম্পূর্ণ নিয়ন্ত্রণ নেয়?
Active Directory এক্সপ্লয়টেশনের পূর্ণাঙ্গ kill chain জানুন—initial access থেকে Domain Admin পর্যন্ত আক্রমণকারীদের প্রকৃত কৌশল।
Active Directory exploitation একটি penetration tester বা Red Team operator-এর সবচেয়ে গুরুত্বপূর্ণ দক্ষতাগুলোর একটি। কারণ বাস্তব আক্রমণে প্রায় প্রতিটি বড় ransomware বা espionage অভিযান কোনো না কোনো পর্যায়ে AD-র সম্পূর্ণ নিয়ন্ত্রণ নেওয়ার চেষ্টা করে। এই নিবন্ধে আমরা শিক্ষামূলক ও প্রতিরক্ষামূলক দৃষ্টিকোণ থেকে AD exploitation-এর সম্পূর্ণ kill chain বিশ্লেষণ করবো—প্রথম প্রবেশ থেকে শুরু করে domain dominance পর্যন্ত। উদ্দেশ্য হলো প্রতিরক্ষাকারীরা যেন আক্রমণকারীর চিন্তা বুঝে নিজের পরিবেশকে আরো ভালোভাবে সুরক্ষিত করতে পারেন।
প্রাথমিক প্রবেশ এবং রিকনিসেন্স
AD আক্রমণের প্রথম ধাপ সাধারণত একটি unprivileged user account অর্জন করা। এটি অর্জিত হতে পারে phishing email, malicious document, password spraying, কিংবা VPN/Citrix-এ দুর্বল credential-এর মাধ্যমে। একবার একটি domain user-এর প্রবেশাধিকার পেলে আক্রমণকারী authenticated অবস্থান থেকে AD-এর গঠন অনুসন্ধান শুরু করে।
এই পর্যায়ে BloodHound-এর মতো টুল ব্যবহার করে আক্রমণকারী LDAP query চালিয়ে user, group, computer, ACL এবং trust relationship-এর সম্পূর্ণ মানচিত্র তৈরি করে। SharpHound বা rusthound-এর মতো collector সব ধরনের তথ্য জোগাড় করে, এবং BloodHound-এর Neo4j ভিত্তিক graph আক্রমণকারীকে "Shortest Path to Domain Admin" দেখিয়ে দেয়।
এই reconnaissance প্রায়ই অত্যন্ত শান্ত—কোনো exploit চলে না, কোনো ম্যালওয়্যার deploy হয় না। শুধু legitimate LDAP query এবং SMB session enumeration। তাই অনেক প্রতিষ্ঠানে এই পর্যায় সম্পূর্ণ অদৃশ্য থাকে যদি LDAP query logging সক্রিয় না থাকে।
Credential Theft এবং Privilege Escalation
Reconnaissance শেষে আক্রমণকারীর পরবর্তী লক্ষ্য থাকে দুর্বল সুরক্ষিত উচ্চ-privilege credential খোঁজা।
Kerberoasting: আক্রমণকারী LDAP query চালিয়ে SPN-যুক্ত সমস্ত service account খুঁজে বের করে এবং Rubeus বা Impacket-এর GetUserSPNs.py দিয়ে তাদের TGS request করে। ফেরত আসা ticket-এর encrypted অংশ (সাধারণত RC4-HMAC এ enctype 23) hashcat বা john-এ offline crack করা হয়। বহু প্রতিষ্ঠানে service account-এর পাসওয়ার্ড "Welcome2023!" বা "ServiceName123" ধরনের দুর্বল হওয়ায় এই আক্রমণ দ্রুত ফল দেয়।
AS-REP Roasting: "DONT_REQ_PREAUTH" flag সেট থাকা user-দের জন্য আক্রমণকারী authentication ছাড়াই AS-REP message পেতে পারে এবং একইভাবে crack করতে পারে।
LLMNR/NBT-NS Poisoning: স্থানীয় subnet-এ Responder টুল চালিয়ে আক্রমণকারী broadcast name resolution হাইজ্যাক করে user-এর NTLMv2 hash সংগ্রহ করে।
SMB Relay: Signing বন্ধ থাকা সার্ভারের বিরুদ্ধে ntlmrelayx চালিয়ে আক্রমণকারী intercept করা authentication অন্যত্র relay করে—সফল হলে সরাসরি সেই সার্ভারে কোড execute হতে পারে।
Local Privilege Escalation: কোনো workstation-এ প্রবেশ পেলে আক্রমণকারী Mimikatz, Rubeus বা lsadump-এর মাধ্যমে LSASS মেমোরি থেকে cached credential, NTLM hash এবং Kerberos ticket extract করে। Credential Guard ছাড়া সিস্টেমে এই আক্রমণ এখনও কার্যকর।
Lateral Movement এবং Token Manipulation
Credential হাতে এলে আক্রমণকারী network-এ অনুভূমিকভাবে সরে যেতে শুরু করে।
Pass-the-Hash (PtH): NTLM hash সরাসরি ব্যবহার করে আক্রমণকারী অন্য সার্ভারে authenticate করে—পাসওয়ার্ড plaintext-এ জানার প্রয়োজন নেই।
Pass-the-Ticket (PtT): Kerberos TGT বা TGS অন্য সেশনে inject করে আক্রমণকারী সেই user-এর identity ধারণ করে।
Overpass-the-Hash: NTLM hash থেকে আক্রমণকারী Kerberos TGT request করে—এতে hybrid environment-এ logging কম থাকে।
RDP/WinRM/SMB Lateral Movement: Compromised credential ব্যবহার করে PsExec, WMI, WinRM বা RDP-র মাধ্যমে অন্য মেশিনে কোড execute করা।
এই পর্যায়ে আক্রমণকারীরা প্রায়ই "Living off the Land" কৌশল ব্যবহার করে—অর্থাৎ Windows-এর built-in টুল (PowerShell, WMI, schtasks, certutil) ব্যবহার করে অপারেশন চালায়, কারণ এগুলো AV-তে সহজে detect হয় না।
Domain Dominance অর্জন
পর্যাপ্ত privilege পেলে আক্রমণকারী domain-wide dominance অর্জন করে।
DCSync Attack: "Replicating Directory Changes" permission পেলে আক্রমণকারী Mimikatz-এর lsadump::dcsync দিয়ে যেকোনো user-এর hash sync করে, এমনকি krbtgt-ও।
Golden Ticket: krbtgt-এর hash পেলে আক্রমণকারী যেকোনো user-এর জন্য বৈধ TGT তৈরি করতে পারে—যার মেয়াদ ১০ বছর পর্যন্ত হতে পারে। এটি persistence-এর সবচেয়ে শক্তিশালী রূপ।
Silver Ticket: নির্দিষ্ট service account-এর hash পেলে শুধু সেই service-এর জন্য TGS তৈরি করা যায়—logging কম হওয়ায় এটি stealthy।
DCShadow: আক্রমণকারী নিজেকে rogue domain controller হিসেবে register করে directory-তে পরিবর্তন push করে—যেমন একটি অ্যাকাউন্টে SIDHistory যোগ করা।
AdminSDHolder Persistence: AdminSDHolder কনটেইনারের ACL পরিবর্তন করে আক্রমণকারী এমন এক ব্যাকডোর তৈরি করে যা ৬০ মিনিট অন্তর SDProp প্রক্রিয়ার মাধ্যমে privileged group-এ স্বয়ংক্রিয়ভাবে প্রয়োগ হয়।
বাস্তব Attack Path Example
একটি সাধারণ scenario—আক্রমণকারী phishing-এর মাধ্যমে "j.doe" নামক একজন helpdesk employee-এর credential পেল। BloodHound-এ দেখা গেল j.doe "Helpdesk" group-এর সদস্য, যাদের কাছে "GenericWrite" permission আছে "SupportShare" group-এর উপর। SupportShare group-এর কিছু সদস্য আবার একটি SQL server-এ লোকাল admin। সেই SQL server-এ unconstrained delegation enabled, এবং সেখানে মাঝে মাঝে domain admin লগইন করেন backup verify করতে।
আক্রমণকারী SupportShare group-এ নিজেকে যোগ করে, SQL server-এ লগইন করে, এবং Rubeus দিয়ে cached TGT বের করে নিল। এর মধ্যে একটি ছিল domain admin-এর। সেই TGT inject করে সরাসরি Domain Controller থেকে DCSync চালিয়ে krbtgt hash বের করে নিল—Golden Ticket persistence স্থাপিত হলো।
পুরো প্রক্রিয়া কোনো ম্যালওয়্যার ছাড়াই, শুধু built-in tool এবং বৈধ authentication-এর মাধ্যমে সম্পন্ন—যা traditional AV-তে প্রায় অদৃশ্য।
প্রতিরোধ ও প্রতিকার
AD exploitation প্রতিরোধে নিম্নলিখিত strategy অপরিহার্য।
LDAP Reconnaissance Detection: Sysmon Event ID 1 এবং Windows Security Event 4662 মনিটর করে অস্বাভাবিক LDAP enumeration শনাক্ত করা। Microsoft Defender for Identity এই ধরনের behavior automatically flag করে।
Strong Service Account Password: gMSA ব্যবহার করা, এবং যেখানে সম্ভব নয় সেখানে কমপক্ষে ২৫-অক্ষরের random পাসওয়ার্ড বাধ্যতামূলক।
SMB Signing এবং LDAP Channel Binding Enforce: Relay attack প্রতিরোধে এই দুটি অপশন domain-wide enable করা।
Constrained Delegation এবং Resource-Based Constrained Delegation: Unconstrained delegation সম্পূর্ণরূপে সরিয়ে দিয়ে শুধু সুনির্দিষ্ট service-এর জন্য delegation অনুমোদন করা।
LSASS Protection: Credential Guard এবং RunAsPPL enable করে LSASS মেমোরি থেকে credential extraction কঠিন করা।
LAPS বাস্তবায়ন: Local admin পাসওয়ার্ড স্বয়ংক্রিয় rotation নিশ্চিত করা যাতে একটি কম্প্রোমাইজ অন্য সব মেশিনে spread না করে।
Tier 0 Isolation: Domain controller এবং অন্যান্য Tier 0 asset থেকে internet access সম্পূর্ণ ব্লক করা, এবং সেখানে কোনো user workstation থেকে management না করা।
krbtgt Rotation: নিয়মিত (অন্তত বছরে দুইবার) krbtgt পাসওয়ার্ড দুইবার rotate করা—Golden Ticket invalidate করতে এটি একমাত্র উপায়।
Attack Path Pruning: BloodHound এবং PingCastle দিয়ে নিয়মিত AD audit করে দুর্বল attack path বন্ধ করা।
Honey Account এবং Honey SPN: Fake high-privilege account এবং SPN স্থাপন করে Kerberoasting বা AS-REP roasting-এর প্রথম চেষ্টায়ই alert পাওয়া।
AD exploitation কোনো একটিমাত্র vulnerability নয়, এটি ছোট ছোট misconfiguration-এর শৃঙ্খলিত শোষণ। প্রতিটি ধাপে আক্রমণকারী legitimate প্রোটোকল এবং বৈধ credential ব্যবহার করে, যা traditional signature-based defense-কে অকার্যকর করে দেয়। তাই AD সুরক্ষায় শুধু patch বা AV যথেষ্ট নয়; প্রয়োজন গভীর architectural নিয়ন্ত্রণ, attack path audit এবং behavioral detection। আপনার AD যত পরিষ্কার, আক্রমণকারীর domain dominance অর্জনের পথ তত দীর্ঘ এবং তত বেশি detectable। এটাই Red Team-এর কাছে শেখার সবচেয়ে বড় শিক্ষা।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ AD Exploitation MCQ Quiz-টি দিন!

