๐ Windows AD ้ฒ้ๅฎๅ จๅผทๅ:Kerberos、NTLM ้ๅถ、LDAP Signing、ๆจกๆฌๆปๆ่้ฒ็ฆฆ
ๅจๅคๆธไผๆฅญ็ฐๅข่ฃก,Active Directory(AD)ๅฐฑๆฏ「่บซไปฝ่ๆฌ้」็ไธญๆจ็ฅ็ถ。 ไธๆฆ AD ่ขซๆฟไธ,ไธๅชๆฏๅฎไธ็ณป็ตฑ่ขซๅ ฅไพต,่ๆฏๆดๅ็ถฒๅ、ๆชๆกไผบๆๅจ、Exchange、ๅ็จฎ Line-of-Business ็ณป็ตฑๅ จ้จไธ่ตทๆทช้ท。
ๆฌ็ฏๅพๅฏฆๅ่งๅบฆๅบ็ผ,ๆด็ๅบ AD ๅฎๅ จๅผทๅ็ๅนพๅ้้ต้ขๅ:
- Kerberos ่จญ่จ่ๅฎๅ จ้ขจ้ช
- NTLM ๅฆไฝ่ขซๆฟซ็จ?ๅฆไฝ้ๅถ?
- LDAP Signing / Channel Binding ็ๅฟ ่ฆๆง
- ๅธธ่ฆๆจกๆฌๆปๆ่้ฒ็ฆฆ(Kerberoasting、Pass-the-Ticket、DCSync…)
- ๅฏฆๅ้จ็ฝฒ่ทฏ็ทๅ(ๅฆไฝ「ไธ็ธๆฏ」ๆขๆ็ณป็ตฑ็ๅๆไธ้ๆญฅๅผทๅ)
ไธ、AD ่ช่ญๅบ็ค:Kerberos ่ NTLM ็่ง่ฒๅๅทฅ
ๅจ AD ็ถฒๅไธญ,้ ่จญๅชๅ ไฝฟ็จ Kerberos,ๅชๆๅจไธๅๆ ๆณๆๆ้ๅ NTLM:
- ็ฎๆจๆๅ็กๆณไฝฟ็จ Kerberos SPN
- WORKGROUP / ่็ณป็ตฑ(ไพๅฆ:่ NAS、่ๅฐ่กจๆฉ)
- ่ทจไฟกไปป、่ทจ็ถฒๅ็ฐๅข้ ็ฝฎไธๅฎๆด
็ฐกๅฎไพ่ชช:
- Kerberos:ไปฅ Ticket ็บไธป็ๅฎๅ จ่จญ่จ,ๅฏๆฏๆด้ๅ้ฉ่ญ(Client / Service)。
- NTLM:่ๅผ็ Challenge/Response ๆฉๅถ,ๅผฑ้ปๅค、ๅฎนๆ่ขซ Pass-the-Hash ๆฟซ็จ。
ๅ ๆญค AD ๅฎๅ จๅผทๅ็ๆ ธๅฟๆ่ทฏๅฏไปฅ็ฐกๅ็บไธๅฅ่ฉฑ:
- ็ก้่ฎๆๆๆๅ้ฝ่ฝไฝฟ็จ Kerberos。
- ้ๆญฅ「้ๅถ」ไน่ณ้้ NTLM。
- ๅฐ Kerberos ๆฌ่บซๅธธ่ฆๆปๆ(ๅฆ Kerberoasting)้ฒ่ก้ขจ้ชๆง็ฎก。
ไบ、Kerberos ๅฎๅ จๅผทๅ:ๅพ SPN ๅฐ Ticket ็ๅฝๅจๆ
1. SPN ่ฆๅ่ๆๅๅธณ่ๆง็ฎก
Kerberos ไฝฟ็จ Service Principal Name(SPN) ไพ่ญๅฅๆๅ,ไพๅฆ:
setspn -S HTTP/webapp01.corp.local CORP\webapp_svc
setspn -S MSSQLSvc\db01.corp.local CORP\sql_svc
ๅนพๅๅฏฆๅๅปบ่ญฐ:
- ็ก้ไฝฟ็จๅฐ็จๆๅๅธณ่(Service Account),ไธ่ฆ็จ Domain Admin ๅธณ่่ทๆๅ。
- ๅฎๆๆชขๆฅ SPN ๆฏๅฆ้่คๆ้ฏ่ชค,้ฟๅ ่ช่ญๅคฑๆๆ่ขซๆกๆๅฉ็จ。
- ๅฐ้ซๆฌ้ๆๅๅธณ่ๅผทๅถไฝฟ็จ้ทๅบฆ่ถณๅค 、่ค้ๅบฆ้ซ、ๅฎๆ่ผชๆฟ็ๅฏ็ขผ,ๆ่ๆ ฎ gMSA(Group Managed Service Account)。
2. Kerberos Ticket ็ๅฝๅจๆ่้ขจ้ช
Kerberos ไธญๅธธ่ฆ็ๅฃฝๅฝ่จญๅฎ:
- Ticket lifetime:ไพๅฆ 10 ๅฐๆ
- Renew lifetime:ไพๅฆ 7 ๅคฉ
ๅฆๆๅฃฝๅฝ้้ท,่ขซ็ซๅ็ Ticket ๅฏไปฅ้ทๆ้็จๆผๆฉซๅ็งปๅ;้็ญๅๅฏ่ฝๅฝฑ้ฟไฝฟ็จ่ ้ซ้ฉ。 ๅปบ่ญฐๅๆณ:
- ็ถญๆๅฎๆน้ ่จญๅผ(ไพๅฆ:10 ๅฐๆ / 7 ๅคฉ),ไฝๆญ้ 「้ซๆๆ่ณๆบ」ๆก็จๅ ถไปไฟ่ญท(PAW、Jump Host)。
- ๅฐ Domain Admin ็ญ้ซๆฌ้ๅธณ่้ๅถ็ปๅ ฅไฝ็ฝฎ(Log on to),้ฟๅ ๅจไธ่ฌๅทฅไฝ็ซ็ไธ Ticket。
ไธ、NTLM ้ๅถ็ญ็ฅ:ๅพ็ฃๆงๅฐ้ๆญฅๅฐๆฎบ
NTLM ๆฏๅคๆธ AD ๆปๆ้ไธญ็่ๆๅ,ๅธธ่ฆ็ Pass-the-Hash、Relay ๆปๆ้ฝ่ๅฎๆ้。 ๅฎๅ จ้้ NTLM ๅจ็พๅฏฆไธ็้ๅธธๅฐ้ฃ,ไฝๅฏไปฅๅพชๅบๆผธ้ฒ:
1. ๅ ไบ่งฃ็ฎๅๆๅคๅฐ NTLM ๆต้
ๅจ DC ไธๅ็จ็ธ้็จฝๆ ธๆฟ็ญ:
้ป่
ฆ่จญๅฎ → ๅๅ → Windows ่จญๅฎ → ๅฎๅ
จๆง่จญๅฎ →
ๆฌๆฉๅๅ → ็จฝๆ ธๅๅ → ็จฝๆ ธไฝฟ็จ่
็ปๅ
ฅไบไปถ / ็จฝๆ ธ็ปๅ
ฅไบไปถ
ไนๅฏไปฅๅ็จ「NTLM ไฝฟ็จ็จฝๆ ธ」็ธ้ GPO,่ฎ Domain Controller ่จ้ NTLM ไฝฟ็จไพๆบ,ไนๅพ้้ SIEM ๆ Windows ไบไปถๆชข่ฆๅจๅๆ:
- ไพๆบ IP / ไธปๆฉๅ
- ๅธณ่ๅ็จฑ
- ็ฎๆจๆๅ
2. ่จญๅฎ「Network security: LAN Manager authentication level」
ๅจ GPMC ไธญ:
้ป่
ฆ่จญๅฎ → Windows ่จญๅฎ → ๅฎๅ
จๆง่จญๅฎ →
ๆฌๆฉๅๅ → ๅฎๅ
จๆง้ธ้
→
Network security: LAN Manager authentication level
ๅปบ่ญฐ่จญๅฎ็บ:
- Send NTLMv2 response only. Refuse LM & NTLM(้ๆญฅๅฐๅ ฅ,้ไบๅ ๆธฌ่ฉฆ)
ๅฏฆๅไธๅฏไปฅ:
- ๅ ๅฅ็จๅจ Test OU → ้ฉ่ญ่็ณป็ตฑๆฏๅฆๆญฃๅธธ。
- ๅๆดๅคงๅฐไธ่ฌไฝฟ็จ่ OU。
- ๆๅพๅ่ฉไผฐๆฏๅฆ่ฆๅจ DC ๅฑค็ดๅฎๅ จๆ็ต่ๅผ NTLM。
ๅ、LDAP Signing / Channel Binding:้ฟๅ ไธญ้ไบบๅคพๆ
่จฑๅค AD ๆดๅ็ณป็ตฑๆ้้ LDAP ๆฅ่ฉขไฝฟ็จ่ ่ณ่จ,ๅฆๆๆฏ ๆชๅ ๅฏ、ๆช็ฐฝ็ซ ็ LDAP,ๅฎนๆ่ขซไธญ้ไบบๆปๆ(MITM)็ฏกๆน็ตๆ。
1. LDAP Signing ๆฏไป้บผ?
็ฐกๅฎ่ชชๅฐฑๆฏ่ฆๆฑ LDAP ็จๆถ็ซฏ่ไผบๆๅจไน้็้่จๅฟ ้ :
- ไฝฟ็จ ็ฐฝ็ซ (Signing) ้ฉ่ญๅฎๆดๆง,ๆ
- ็ดๆฅไฝฟ็จ LDAPS(TCP 636 + TLS)
2. ๅ็จ LDAP Signing GPO(ๅปบ่ญฐ่ทฏ็ท)
ๅจ DC ็ GPO ไธญ:
้ป่
ฆ่จญๅฎ → Windows ่จญๅฎ → ๅฎๅ
จๆง่จญๅฎ →
ๆฌๆฉๅๅ → ๅฎๅ
จๆง้ธ้
→
Domain controller: LDAP server signing requirements
ๅปบ่ญฐๅฐๅ ฅๆต็จ:
- ๅ ่จญ็บ None + Audit(ๅช็จฝๆ ธไธๅผทๅถ,่ฆ Windows ็ๆฌ่ๅฎ)。
- ๅๆไบไปถๆฅ่ช,ๆพๅบๆชๆฏๆด LDAP Signing ็ๆ็จ(่็่ฃ็ฝฎ / ็จๅผ)。
- ้ๆญฅไฟฎๆญฃๆ็จ่จญๅฎ,ๆน็จ LDAPS ๆๆฏๆด็ฐฝ็ซ 。
- ๆๅพๆน็บ Require signing。
3. Channel Binding Token(CBT)
ๅฐๆผไฝฟ็จ TLS ็ LDAP(LDAPS),ๅฏๅ้้ Channel Binding ้ฒๆญขๆ่ญ่ขซไธญ้ไบบ่ฝๆฅ้็จ。 ้จๅ่็ณป็ตฑๅฏ่ฝไธๆฏๆด CBT,ๅ ๆญคๅๆจฃๅปบ่ญฐๅ ็จฝๆ ธๅๅผทๅถ。
ไบ、ๅธธ่ฆ AD ๆจกๆฌๆปๆ่้ฒ็ฆฆๆ่ทฏ
ไธๅๆปๆๅนพไนๆฏๆปฒ้ๆธฌ่ฉฆ่็ด ้ๆผ็ทด็ๆจ้ :
- Pass-the-Hash(PtH):็ซๅ NTLM Hash,็ดๆฅๆจกๆฌ่บซๅ็ปๅ ฅ。
- Pass-the-Ticket(PtT):็ซๅ Kerberos Ticket,็ดๆฅๅๅพๆๅๅญๅๆฌ。
- Kerberoasting:ๅคง้่ฆๆฑ Service Ticket,้ข็ทๆดๅ็ ด่งฃๆๅๅธณ่ๅฏ็ขผ。
- DCSync:ๅ่ฃ่ชๅทฑๆฏ DC,ๅพ AD ไธญๆๆๆ Hash Dump ไธไพ。
- Golden Ticket:ๆๆก KRBTGT ๅธณ่ Hash ๅพ,ๅฝ้ ไปปไฝๅธณ่็ Ticket。
ๅฐๆ้ฒ็ฆฆๅฐ็ญ(้ซๅฑค็ด็ญ็ฅ)
- Tiered Admin ๆจกๅ:ๅฐ Domain Admin、Server Admin、Workstation ๅๅฑค็ฎก็,ไธๅจไธ่ฌๅทฅไฝ็ซ็ปๅ ฅ้ซๆฌ้ๅธณ่。
- ไฝฟ็จ็จ็ซ็ฎก็ๅธณ่:ไธ่ฆไปฅ「ไธ่ฌ็ปๅ ฅๅธณ่」ๅ ผๅ Domain Admin。
- ้ๅถ้ซๆฌ้ๅธณ่็ปๅ ฅไฝ็ฝฎ(Log on to)。
- KRBTGT ๅฏ็ขผๅฎๆ่ผชๆฟ(้่ฌนๆ ่ฆๅ)。
- ๅ็จ้ฒ้็จฝๆ ธ่้ไธญๅผๆฅ่ช,่ฝๅจๆปๆ่ก็บๆฉๆๅฐฑ็ผ็พ็ฐๅธธ。
ๅ ญ、GPO ๅฏฆๅ็ฏไพ:้ไธญๅฅ็จๅฎๅ จๅบๆบ
ๅคๆธๅฎๅ จ่จญๅฎๆ้้ GPO ็ตฑไธๆง็ฎก,้ฟๅ ๆๅ้ๅฐไฟฎๆน。
1. ๅปบ่ญฐๅปบ็ซ็ GPO ๅๅฑค
- Baseline – Domain Controllers:ๅฐ้็ตฆ DC ็็กฌๅ่จญๅฎ。
- Baseline – Member Servers:ไธ่ฌไผบๆๅจๅ ฑ้่จญๅฎ。
- Baseline – Workstations:็จๆถ็ซฏ็ซฏ้ปๅฎๅ จๅบๆบ。
2. ๅธธ่ฆๅฏ็ดๅ ฅ็้ ็ฎ(็ฏ้)
- LAN Manager authentication level(ๆ็ต LM / NTLMv1)。
- NTLM ็จฝๆ ธ่้ๅถ่จญๅฎ。
- LDAP Signing ่ฆๆฑ。
- Kerberos policy:็ฅจ่ญๅฃฝๅฝ、Clock Skew ็ญ(ๆณจๆ่็พๆณ็ธๅฎนๆง)。
- ้ฒ้็จฝๆ ธๆฟ็ญ:ๅธณ่็ปๅ ฅ、็ฎ้ๆๅๅญๅ、ๆฌ้ๆๅ、็ฉไปถๅญๅ…。
ไธ、้จ็ฝฒ่ทฏ็ทๅปบ่ญฐ:ไธ่ฆไธๆฌกๆ่ชๅทฑๆ็
ๅฏฆๅไธๆๆ็ไธๆฏ「่จญๅฎๅคช้ฌ」,่ๆฏ「ไธๆฌก้ๆญปๆๆๆฑ่ฅฟ,็ตๆ AD ๆ้ไธๅ ๆ็จๅ จๆ」。 ๅปบ่ญฐ็ๅฐๅ ฅ้ ๅบๅฏไปฅๅ่:
- ็ค้ป:ๅ ้ๅ็จฝๆ ธ、ๆถ้็พๆณ(NTLM ไฝฟ็จ、LDAP ๆช็ฐฝ็ซ 、่็ณป็ตฑ…)。
- ๅปบ็ซ Test OU / Pilot ็พค็ต:ๅ ้ๆธฌ่ฉฆ็ฐๅข่ๅฐ้ไฝฟ็จ่ 。
- ่ชฟๆดๆ็จ่่จญๅ่จญๅฎ:NAS、ๅฐ่กจๆฉ、่ Web App ็ญ。
- ้ๆญฅๆพๅคง็ฏๅ:้จ้ → ๅ จๅ ฌๅธ。
- ๆๅพๆ่ซ「็ฆๆญข」ๆไบๅๅฎ,่ไธๆฏไธ้ๅงๅฐฑๅฎๅ จๅฐๆฎบ。
ๅ ซ、่ๆขๆ AD ๆถๆงๆ็ซ ็ๆญ้ ้ฑ่ฎ
ๅฆๆไฝ ๆญฃๅจ้จ็ฝฒๆ้ๆง AD,้็ฏๆ็ซ ๅฏไปฅ่ไธๅไธป้กๆญ้ ้ฑ่ฎ:
- ๅฆไฝๅปบ็ซ็ฉฉๅฎ็ AD ๆถๆง่ DNS:ๅ็จฑ่งฃๆ้ฏ่ชคๅธธๅธธๆฏ AD ๅ้ก็ๆ นๆบ。
- ๅฆไฝ่ฆๅ OU / GPO ็นผๆฟ,่ฎๅฎๅ จๆฟ็ญๅฏไปฅ「ๅๅฑค」็ๆ。
- ๅฆไฝๆญ้ AD CS(ๆ่ญๆๅ)่ฎ LDAP / Web ๆๅๅ จ้ขไธ TLS。
ๆฒๆ็่จ:
ๅผต่ฒผ็่จ