็†ฑ้–€ๅˆ†้กž
 ่ผ‰ๅ…ฅไธญ…
็›ฎ้Œ„

๐Ÿ” Windows AD ้€ฒ้šŽๅฎ‰ๅ…จๅผทๅŒ–:Kerberos、NTLM ้™ๅˆถ、LDAP Signing、ๆจกๆ“ฌๆ”ปๆ“Š่ˆ‡้˜ฒ็ฆฆ

    ๐Ÿ” 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 ๅฎ‰ๅ…จๅผทๅŒ–็š„ๆ ธๅฟƒๆ€่ทฏๅฏไปฅ็ฐกๅŒ–็‚บไธ‰ๅฅ่ฉฑ:

    1. ็›ก้‡่ฎ“ๆ‰€ๆœ‰ๆœๅ‹™้ƒฝ่ƒฝไฝฟ็”จ Kerberos。
    2. ้€ๆญฅ「้™ๅˆถ」ไนƒ่‡ณ้—œ้–‰ NTLM。
    3. ๅฐ 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(้€ๆญฅๅฐŽๅ…ฅ,้œ€ไบ‹ๅ…ˆๆธฌ่ฉฆ)

    ๅฏฆๅ‹™ไธŠๅฏไปฅ:

    1. ๅ…ˆๅฅ—็”จๅœจ Test OU → ้ฉ—่ญ‰่ˆŠ็ณป็ตฑๆ˜ฏๅฆๆญฃๅธธ。
    2. ๅ†ๆ“ดๅคงๅˆฐไธ€่ˆฌไฝฟ็”จ่€… OU。
    3. ๆœ€ๅพŒๅ†่ฉ•ไผฐๆ˜ฏๅฆ่ฆๅœจ 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
    

    ๅปบ่ญฐๅฐŽๅ…ฅๆต็จ‹:

    1. ๅ…ˆ่จญ็‚บ None + Audit(ๅช็จฝๆ ธไธๅผทๅˆถ,่ฆ– Windows ็‰ˆๆœฌ่€Œๅฎš)。
    2. ๅˆ†ๆžไบ‹ไปถๆ—ฅ่ชŒ,ๆ‰พๅ‡บๆœชๆ”ฏๆด LDAP Signing ็š„ๆ‡‰็”จ(่ˆŠ็‰ˆ่ฃ็ฝฎ / ็จ‹ๅผ)。
    3. ้€ๆญฅไฟฎๆญฃๆ‡‰็”จ่จญๅฎš,ๆ”น็”จ LDAPS ๆˆ–ๆ”ฏๆด็ฐฝ็ซ 。
    4. ๆœ€ๅพŒๆ”น็‚บ 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。

    ๅฐๆ‡‰้˜ฒ็ฆฆๅฐ็ญ–(้ซ˜ๅฑค็ดš็ญ–็•ฅ)

    1. Tiered Admin ๆจกๅž‹:ๅฐ‡ Domain Admin、Server Admin、Workstation ๅˆ†ๅฑค็ฎก็†,ไธๅœจไธ€่ˆฌๅทฅไฝœ็ซ™็™ปๅ…ฅ้ซ˜ๆฌŠ้™ๅธณ่™Ÿ。
    2. ไฝฟ็”จ็จ็ซ‹็ฎก็†ๅธณ่™Ÿ:ไธ่ฆไปฅ「ไธ€่ˆฌ็™ปๅ…ฅๅธณ่™Ÿ」ๅ…ผๅš Domain Admin。
    3. ้™ๅˆถ้ซ˜ๆฌŠ้™ๅธณ่™Ÿ็™ปๅ…ฅไฝ็ฝฎ(Log on to)。
    4. KRBTGT ๅฏ†็ขผๅฎšๆœŸ่ผชๆ›ฟ(้œ€่ฌนๆ…Ž่ฆๅŠƒ)。
    5. ๅ•Ÿ็”จ้€ฒ้šŽ็จฝๆ ธ่ˆ‡้›†ไธญๅผๆ—ฅ่ชŒ,่ƒฝๅœจๆ”ปๆ“Š่กŒ็‚บๆ—ฉๆœŸๅฐฑ็™ผ็พ็•ฐๅธธ。

    ๅ…ญ、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 ๆ—้‚Šไธ€ๅ †ๆ‡‰็”จๅ…จๆŽ›」。 ๅปบ่ญฐ็š„ๅฐŽๅ…ฅ้ †ๅบๅฏไปฅๅƒ่€ƒ:

    1. ็›ค้ปž:ๅ…ˆ้–‹ๅ•Ÿ็จฝๆ ธ、ๆ”ถ้›†็พๆณ(NTLM ไฝฟ็”จ、LDAP ๆœช็ฐฝ็ซ 、่ˆŠ็ณป็ตฑ…)。
    2. ๅปบ็ซ‹ Test OU / Pilot ็พค็ต„:ๅ…ˆ้Ž–ๆธฌ่ฉฆ็’ฐๅขƒ่ˆ‡ๅฐ‘้‡ไฝฟ็”จ่€…。
    3. ่ชฟๆ•ดๆ‡‰็”จ่ˆ‡่จญๅ‚™่จญๅฎš:NAS、ๅฐ่กจๆฉŸ、่ˆŠ Web App ็ญ‰。
    4. ้€ๆญฅๆ”พๅคง็ฏ„ๅœ:้ƒจ้–€ → ๅ…จๅ…ฌๅธ。
    5. ๆœ€ๅพŒๆ‰่ซ‡「็ฆๆญข」ๆŸไบ›ๅ”ๅฎš,่€Œไธๆ˜ฏไธ€้–‹ๅง‹ๅฐฑๅฎŒๅ…จๅฐๆฎบ。

    ๅ…ซ、่ˆ‡ๆ—ขๆœ‰ AD ๆžถๆง‹ๆ–‡็ซ ็š„ๆญ้…้–ฑ่ฎ€

    ๅฆ‚ๆžœไฝ ๆญฃๅœจ้ƒจ็ฝฒๆˆ–้‡ๆง‹ AD,้€™็ฏ‡ๆ–‡็ซ ๅฏไปฅ่ˆ‡ไธ‹ๅˆ—ไธป้กŒๆญ้…้–ฑ่ฎ€:

    • ๅฆ‚ไฝ•ๅปบ็ซ‹็ฉฉๅฎš็š„ AD ๆžถๆง‹่ˆ‡ DNS:ๅ็จฑ่งฃๆž้Œฏ่ชคๅธธๅธธๆ˜ฏ AD ๅ•้กŒ็š„ๆ นๆบ。
    • ๅฆ‚ไฝ•่ฆๅŠƒ OU / GPO ็นผๆ‰ฟ,่ฎ“ๅฎ‰ๅ…จๆ”ฟ็ญ–ๅฏไปฅ「ๅˆ†ๅฑค」็”Ÿๆ•ˆ。
    • ๅฆ‚ไฝ•ๆญ้… AD CS(ๆ†‘่ญ‰ๆœๅ‹™)่ฎ“ LDAP / Web ๆœๅ‹™ๅ…จ้ขไธŠ TLS。

    ๅปถไผธ้–ฑ่ฎ€

    ๐Ÿ”— ๅˆ†ไบซ้€™็ฏ‡ LINE Facebook X

    ๆฒ’ๆœ‰็•™่จ€:

    ๅผต่ฒผ็•™่จ€

    ๅญ—็ดš