דילוג לתוכן הראשי
AD Academy
הגנה וניטור
בינוני15 דקותעודכן לאחרונה: נושא 3 מתוך 3

Honeypot-Accounts ו־Canary Tokens

פרזות שאף משתמש לגיטימי לא נוגע בהן — כל נגיעה = אזעקה אמיתית.

לא הושלם

מה תלמדו כאן

  • מהו עקרון ה־Deception ולמה יש לו כמעט אפס false positives
  • איך מקימים חשבון הונייפוט עם SACL אודיט
  • מה זה Canary Token ואיך משלבים אותו ב־file share

כדאי לקרוא לפני הנושא הזה:Group Policy ו־Audit

תיאוריה

עד עכשיו דיברנו על הגנה שמנסה למנוע את המתקפה. יש עקרון נוסף: להכניס את התוקף למלכודת. רעיון ה־Deception פשוט — שמים בארגון פרזות מושכות (חשבונות, סיסמאות, קבצים) שאף אדם לגיטימי לעולם לא ייגע בהן. כל נגיעה = התראה שהארגון נמצא תחת מתקפה.

שתי טכניקות עיקריות

  • Honeypot-Accounts: חשבונות שנראים מפתים (svc_sql_backup, svc_exchange_admin) עם תיאור משכנע ו־«סיסמה» שנראית אמיתית, אבל בלי הרשאות אמיתיות. על החשבון מפעילים שרושם כל ניסיון אימות/קריאה/כתיבה.
  • Canary Tokens: אסימוני מלכודת שמפעילים התראה על נגיעה — למשל קובץ Word מזויף ב־share, או מפתח AWS מזויף.

מדוע זה חזק כל כך: תוקף שפרץ חייב לאסוף מידע (enumeration). הוא ינסה לקרוא חשבונות, לראות מי admin, למשוך סיסמאות. כל שלב כזה נגד הונייפוט הוא נורה אדומה מדויקת — אין לו תוצאה לגיטימית.

התוקף חייב לבצע enumeration. נתיב שמאלי: חשבון הונייפוט מושך את התוקף, SACL מפעיל אירועי 4624/4768 והתראה. נתיב ימני: קובץ עם Canary Token נפתח ושולח התראה חיצונית. כל נגיעה = אזעקה עם false positives נמוכים.

בקצרה ובפשטות

  • Deception — פרזות שאף משתמש לגיטימי לא נוגע בהן; כל נגיעה חשודה.
  • SACL על חשבון הונייפוט מתעד כל אימות וקריאה.
  • Canary Token שולח התראה חיצונית שלא תלויה בלוגי ה־DC.
  • False positives נמוכים כי אין סיבה לגיטימית לגעת בהן.

דוגמה מהחייםסורק פנימי בדק את כל החשבונות והפעיל את ההונייפוט. זיהוי המקור (סורק ולא תוקף) מונע false positive חוזר.

פרקטיקה — יצירת חשבון הונייפוט

New-ADUser -Name "svc_sql_backup" -SamAccountName "svc_sql_backup" `
  -Description "SQL Backup service account - do not disable" `
  -AccountPassword (ConvertTo-SecureString "N3verUseTh1s!" -AsPlainText -Force) `
  -Enabled $true
powershell

הפעלת אודיט על החשבון דרך GUI: Users and Computers → View → Advanced Features → Properties של החשבון → Security → Advanced → Auditing → Add: Everyone → Read/Write all properties → Success + Failure.

# הוספת SACL מתוך PowerShell
$account = Get-ADUser -Identity "svc_sql_backup"
$acl = Get-Acl "AD:$($account.DistinguishedName)"
$identity = New-Object System.Security.Principal.NTAccount("Everyone")
$rule = New-Object System.DirectoryServices.ActiveDirectoryAuditRule(
    $identity,
    [System.DirectoryServices.ActiveDirectoryRights]::ReadProperty -bor
    [System.DirectoryServices.ActiveDirectoryRights]::WriteProperty,
    [System.Security.AccessControl.AuditFlags]::Success -bor
    [System.Security.AccessControl.AuditFlags]::Failure
)
$acl.AddAuditRule($rule)
Set-Acl "AD:$($account.DistinguishedName)" $acl
powershell

: היכנסו ל־canarytokens.org, צרו MS Word Document token, שמרו את הקובץ ב־share נגיש (\\fileserver\shared\). כל פתיחה שולחת מייל התראה.

זיהוי (Detection)

  • Event ID 4624 — התחברות מוצלחת של חשבון ההונייפוט = אזעקה גבוהה ביותר.
  • Event ID 4768 — בקשת עבור החשבון (מי עושה עם svc_sql_backup?!).
  • Event ID 4776 — אימות מול הונייפוט — סימן ל־ או password spraying.
  • Event ID 4662 — ניסיון קריאה/כתיבה של תכונות האובייקט (enumeration).
  • Canary token trigger — התראה חיצונית, לא תלויה בלוגי ה־DC.

מיטיגציה ותגובה

  • כל התראה = בדיקה דחופה: מי נגע, מאיזה מחשב, באיזו שיטה.
  • תחזקו את ההונייפוט שיראה אמיתי: תיאור משכנע, לא מסומן כ־disabled.
  • עקבו אחר השימוש בו למניעת false positives (למשל סורק פנימי שסורק את כל החשבונות).

בדוק את עצמך

מהו העקרון המרכזי של Honeypot-Account?

איזה Event ID מופיע כשמישהו משיג TGT עבור חשבון ההונייפוט?

מה ההבדל בין Honeypot-Account ל־Canary Token?

למה התראות מלכודות כאלה מדויקות (low false positives)?

העמוד הזה עזר לך?