HackCert
Advanced 9 min read May 25, 2026

ADCS Exploitation: ভুয়া ডিজিটাল সার্টিফিকেট ব্যবহার করে নেটওয়ার্ক হাইজ্যাক!

Active Directory Certificate Services-এর ভুল কনফিগারেশন একটি প্রতিষ্ঠানের পুরো forest দখল করার সুযোগ দিতে পারে। জানুন ESC1 থেকে ESC13 পর্যন্ত আক্রমণ।

Rokibul Islam
Red Team Operator
share
ADCS Exploitation: ভুয়া ডিজিটাল সার্টিফিকেট ব্যবহার করে নেটওয়ার্ক হাইজ্যাক!
Overview

Active Directory Certificate Services (ADCS) Microsoft-এর Public Key Infrastructure (PKI) সমাধান, যা সাধারণত ভেতরের নেটওয়ার্কে certificate ইস্যু এবং পরিচালনা করে। বহু বছর ধরে ADCS-কে একটি নিরীহ, সহায়ক সেবা হিসেবে দেখা হয়েছে—যতদিন না ২০২১ সালে SpecterOps-এর Will Schroeder এবং Lee Christensen "Certified Pre-Owned" নামক যুগান্তকারী গবেষণাপত্র প্রকাশ করেন। এই গবেষণা দেখিয়েছে যে ADCS-এর misconfiguration ব্যবহার করে একজন low-privilege user মাত্র কয়েক মিনিটের মধ্যে Domain Admin বা এমনকি Enterprise Admin হয়ে উঠতে পারে। আজ ADCS exploitation যেকোনো গুরুতর AD penetration test-এর অপরিহার্য অংশ।

ADCS-এর মৌলিক কাঠামো

ADCS-এর কেন্দ্রে রয়েছে Certificate Authority (CA), যা certificate request গ্রহণ করে এবং Certificate Template-এর ভিত্তিতে সেগুলো ইস্যু করে। একটি template নির্ধারণ করে—কে certificate request করতে পারবে, কোন ধরনের key ব্যবহার হবে, কোন purpose-এ certificate ব্যবহার হবে (যেমন Client Authentication, Smart Card Logon), এবং certificate-এ Subject Alternative Name (SAN) কীভাবে নির্ধারিত হবে।

Active Directory-তে certificate-based authentication-এর জন্য Kerberos PKINIT extension ব্যবহৃত হয়। একজন user বৈধ certificate উপস্থাপন করলে KDC সেই certificate-এর subject থেকে user identity নির্ধারণ করে এবং সেই user-এর জন্য TGT ইস্যু করে। এই tight integration ADCS-কে enterprise authentication-এর একটি অত্যন্ত শক্তিশালী উপাদান বানায়—কিন্তু একই কারণে এটি সাইবার আক্রমণের আকর্ষণীয় লক্ষ্যে পরিণত হয়।

ADCS-এর অন্যতম বিপজ্জনক বৈশিষ্ট্য হলো এর certificate গুলো সাধারণত দীর্ঘ মেয়াদী (এক বছর বা তার বেশি) হয় এবং password change-এ invalidate হয় না। অর্থাৎ একবার আক্রমণকারী একটি certificate পেয়ে গেলে, victim-এর পাসওয়ার্ড পরিবর্তন করলেও persistence বজায় থাকে।

প্রধান ESC দুর্বলতাসমূহ

"Certified Pre-Owned" গবেষণায় ADCS-এর বিভিন্ন misconfiguration কে ESC1 থেকে ESC8 হিসেবে শ্রেণীবদ্ধ করা হয়, এবং পরবর্তীতে গবেষকরা ESC9 থেকে ESC13 পর্যন্ত আরো বিভাগ যোগ করেছেন। নিচে গুরুত্বপূর্ণ কয়েকটি আলোচনা করা হলো।

ESC1—Misconfigured Certificate Template: যদি একটি template-এ "ENROLLEE_SUPPLIES_SUBJECT" flag enabled থাকে এবং Client Authentication EKU থাকে, তবে যেকোনো enroll করতে পারা user সেই template ব্যবহার করে যেকোনো নামে certificate request করতে পারে—এমনকি "Administrator" নামে। এই certificate দিয়ে সরাসরি Administrator হিসেবে authenticate করা সম্ভব।

ESC2—Any Purpose EKU: যদি template-এ "Any Purpose" EKU থাকে, certificate authentication-সহ বহু কাজে ব্যবহার করা যায়।

ESC3—Certificate Request Agent: "Enrollment Agent" certificate পাওয়া কোনো user অন্য user-এর পক্ষে certificate request করতে পারে—অর্থাৎ যেকোনো user হিসেবে authenticate করতে পারে।

ESC4—Template ACL Abuse: Template-এর উপর GenericWrite বা WriteDacl permission পেলে আক্রমণকারী template-এর কনফিগারেশন পরিবর্তন করে নিজেকে privilege escalation-এর সুযোগ করে দিতে পারে।

ESC5—CA Object ACL Abuse: AD object (যেমন CA computer object, PKI container) এর উপর dangerous ACL থাকলে পুরো PKI পরিকাঠামো কম্প্রোমাইজ করা সম্ভব।

ESC6—EDITF_ATTRIBUTESUBJECTALTNAME2 Flag: CA-তে এই flag enable থাকলে যেকোনো certificate request-এ আক্রমণকারী arbitrary SAN যোগ করতে পারে—যা ESC1-এর মতোই বিপজ্জনক।

ESC7—Vulnerable CA Access Control: যদি কোনো user-এর CA-তে "ManageCA" বা "ManageCertificates" permission থাকে, সে CA configuration পরিবর্তন করে বা pending request approve করে পুরো PKI control নিতে পারে।

ESC8—NTLM Relay to AD CS HTTP Endpoint: ADCS-এর Web Enrollment endpoint (/certsrv/) যদি HTTP-এ চালু থাকে এবং NTLM authentication গ্রহণ করে, আক্রমণকারী PetitPotam বা Coerce attack দিয়ে একটি Domain Controller-কে এই endpoint-এ authenticate করতে বাধ্য করে relay করতে পারে। ফলে DC-র certificate পাওয়া যায়, যা দিয়ে domain compromise সম্ভব।

ESC9 এবং ESC10—Weak Mapping: Certificate-এ user mapping যদি strong (sid extension-ভিত্তিক) না হয়ে weak (UPN-ভিত্তিক) হয়, এবং আক্রমণকারী যদি কোনো user-এর UPN attribute পরিবর্তন করতে পারে, সে অন্য user-এর হিসেবে authenticate করতে পারে।

ESC11—NTLM Relay to ICPR: ICPR (ICertPassage Remote Protocol) endpoint-এ relay attack-এর সম্ভাবনা।

ESC13—Issuance Policy Abuse: Certificate template-এর issuance policy যদি কোনো specific group-এর সাথে mapped থাকে, certificate পাওয়া user সেই group-এর সদস্যের মতো privilege পেতে পারে।

বাস্তব আক্রমণ পরিস্থিতি

একটি সাধারণ ESC1 আক্রমণ পরিস্থিতি দেখা যাক। আক্রমণকারী Certipy বা Certify টুল চালিয়ে certificate template enumerate করেন। দেখা গেল "UserAuthentication" নামের একটি template-এ ENROLLEE_SUPPLIES_SUBJECT enabled, Client Authentication EKU আছে, এবং Domain Users group enroll করতে পারে।

আক্রমণকারী Certipy দিয়ে কমান্ড চালান—certipy req -u [email protected] -p password -ca CA-NAME -template UserAuthentication -upn [email protected]। ফলস্বরূপ একটি .pfx ফাইল তৈরি হয়, যা Administrator-এর জন্য বৈধ certificate ধারণ করে। এরপর certipy auth -pfx administrator.pfx চালিয়ে PKINIT-এর মাধ্যমে Administrator-এর TGT এবং NTLM hash পেয়ে যান।

ESC8 আক্রমণে আক্রমণকারী প্রথমে ntlmrelayx চালু করেন ADCS Web Enrollment endpoint-এর বিরুদ্ধে—ntlmrelayx.py -t http://ca-server/certsrv/certfnsh.asp --adcs --template DomainController। তারপর PetitPotam দিয়ে Domain Controller-কে relay listener-এ authenticate করতে বাধ্য করেন। DC-র machine account credential relay হয়ে যায়, এবং DC-র জন্য একটি certificate ইস্যু হয়—এর সাথে S4U2Self ব্যবহার করে আক্রমণকারী যেকোনো user-এর হিসেবে authenticate করতে পারেন।

প্রতিরোধ ও প্রতিকার

ADCS-কে সুরক্ষিত রাখতে নিম্নলিখিত পদক্ষেপ অত্যন্ত গুরুত্বপূর্ণ।

Template Audit: Certipy বা Locksmith-এর মতো টুল দিয়ে সমস্ত certificate template-এর কনফিগারেশন পর্যালোচনা করা। ENROLLEE_SUPPLIES_SUBJECT এবং Client Authentication EKU একসাথে থাকা template গুলো সবচেয়ে বিপজ্জনক—সেগুলো অবিলম্বে disable করা।

Enrollment Permission Restrict: Sensitive template-এ "Domain Users" বা "Authenticated Users"-কে enroll করতে দেওয়া উচিত নয়। শুধু সুনির্দিষ্ট কাজের জন্য সুনির্দিষ্ট group-কে enrollment permission দেওয়া।

EDITF_ATTRIBUTESUBJECTALTNAME2 Disable: এই flag কখনো enable থাকা উচিত নয়। CA Manager থেকে certutil -setreg policy\EditFlags -EDITF_ATTRIBUTESUBJECTALTNAME2 চালিয়ে disable করা।

ESC8 প্রতিরোধ: ADCS Web Enrollment endpoint-এ HTTPS enforce করা, Extended Protection for Authentication (EPA) enable করা, এবং সম্ভব হলে NTLM সম্পূর্ণরূপে disable করা। যেখানে Web Enrollment-এর প্রয়োজন নেই, সেটি সম্পূর্ণ uninstall করা।

PetitPotam এবং Coerce Defense: Microsoft-এর সাম্প্রতিক প্যাচ প্রয়োগ করা এবং SMB signing, LDAP signing ও LDAP channel binding enforce করা।

Strong Certificate Mapping: May 2022-এর Microsoft KB5014754 অনুসারে strong certificate mapping (SID extension-ভিত্তিক) enforce করা। StrongCertificateBindingEnforcement রেজিস্ট্রি সঠিকভাবে কনফিগার করা।

CA ACL Hardening: CA-র "ManageCA" এবং "ManageCertificates" permission শুধু একটি সুনির্দিষ্ট, নিয়ন্ত্রিত admin group-কে দেওয়া। নিয়মিত audit করা।

Certificate Monitoring: ইস্যুকৃত প্রতিটি certificate লগ করা এবং অস্বাভাবিক SAN-যুক্ত request (যেমন Administrator-এর জন্য request করা একজন regular user) flag করা।

Tiered PKI Architecture: Offline Root CA এবং Online Issuing CA-র মডেল ব্যবহার করা, যাতে compromise হলেও Root CA সুরক্ষিত থাকে এবং দ্রুত revocation সম্ভব হয়।

Detection Rule: Event ID 4886 (certificate request received) এবং 4887 (certificate request approved)-এর মাধ্যমে অস্বাভাবিক pattern detect করা। বিশেষ করে সংক্ষিপ্ত সময়ে বহু সংখ্যক certificate request, বা privileged user-এর জন্য request করা একটি অপ্রত্যাশিত user-এর কাছ থেকে—এগুলো alert-যোগ্য।

Key Takeaways

ADCS exploitation আধুনিক AD penetration test-এর সবচেয়ে আকর্ষণীয় এবং কার্যকর আক্রমণ ভেক্টরগুলোর একটি। অনেক প্রতিষ্ঠান বছরের পর বছর ধরে ADCS চালিয়ে যাচ্ছে কোনো গভীর কনফিগারেশন পর্যালোচনা ছাড়াই, এবং তাই ESC1-ESC13-এর কোনো না কোনো একটি দুর্বলতা প্রায় সবসময়ই পাওয়া যায়। সুসংবাদ হলো, এই দুর্বলতাগুলো সঠিক audit এবং template hardening-এর মাধ্যমে দ্রুত সমাধানযোগ্য। যেকোনো প্রতিষ্ঠানের সাইবার নিরাপত্তা পরিকল্পনায় ADCS audit এখন আর "optional" নয়—এটি Tier 0 priority।

আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ ADCS Exploitation MCQ Quiz-টি দিন!

Related articles

back to all articles