במשך שנים, המזרח התיכון שמר על המוניטין שלו ככר פורה לאיומים מתמשכים מתקדמים (APTs). בעיצומו של ניטור שגרתי של פעילויות חשודות במערכות של לקוחות בעלי פרופיל גבוה, חלקם מבוססים באזור זה, ESET Research נתקל בדלת אחורית מאוד מתוחכמת ולא ידועה שקראנו לה Deadglyph. הפקנו את השם מחפצים שנמצאו בדלת האחורית (כגון 0xמתB001, מוצג גם ב REF _Ref111452440 h טבלתי 1
), יחד עם נוכחות של הומוגליף לִתְקוֹף. למיטב ידיעתנו, זהו הניתוח הציבורי הראשון של הדלת האחורית שלא תועדה בעבר, בשימוש על ידי קבוצה המפגינה מידה ניכרת של תחכום ומומחיות. בהתבסס על המיקוד והראיות הנוספות, אנו מייחסים ל-Deadglyph ביטחון גבוה לקבוצת Stealth Falcon APT.
הארכיטקטורה של Deadglyph היא יוצאת דופן כפי שהיא מורכבת ממנה רכיבים משתפים פעולה - האחד בינארי x64 מקורי, השני מכלול NET. שילוב זה יוצא דופן מכיוון שתוכנה זדונית משתמשת בדרך כלל בשפת תכנות אחת בלבד עבור הרכיבים שלה. הבדל זה עשוי להצביע על פיתוח נפרד של שני הרכיבים הללו תוך ניצול היתרונות הייחודיים של שפות התכנות הנבדלות שבהן הם משתמשים. ניתן לרתום שפות שונות גם כדי לעכב ניתוח, מכיוון שקוד מעורב קשה יותר לניווט ולניפוי באגים.
פקודות הדלת האחורית המסורתיות אינן מיושמות בבינארי הדלת האחורית; במקום זאת, הם מתקבלים על ידו באופן דינמי משרת הפיקוד והבקרה (C&C) בצורה של מודולים נוספים. דלת אחורית זו כוללת גם מספר יכולות כדי למנוע זיהוי.
בפוסט זה בבלוג, אנו מסתכלים מקרוב על Deadglyph ומספקים ניתוח טכני של הדלת האחורית הזו, מטרתה וחלק מהרכיבים הנוספים שהשגנו. אנחנו גם מציגים את הממצאים שלנו לגבי Deadglyph ב- LABScon 2023 וְעִידָה.
נקודות מפתח בפוסט בבלוג:
- ESET Research גילה דלת אחורית מתוחכמת עם ארכיטקטורה יוצאת דופן שקראנו לה Deadglyph.
- הרכיבים העיקריים מוצפנים באמצעות מפתח ספציפי למכונה.
- פקודות מסורתיות של דלת אחורית מיושמות באמצעות מודולים נוספים המתקבלים משרת C&C שלה.
- השגנו שלושה מודולים מתוך רבים - יוצר תהליכים, קורא קבצים ואוסף מידע.
- אנו מייחסים את Deadglyph לקבוצת Stealth Falcon.
- בנוסף, מצאנו תוכנת הורדת קוד מעטפת קשורה; אנו מניחים שזה עשוי לשמש להתקנה של Deadglyph.
קורבן ההסתננות המנותחת היא ישות ממשלתית במזרח התיכון שנפגעה למטרות ריגול. מדגם קשור שנמצא ב-VirusTotal הועלה גם לפלטפורמת סריקת הקבצים מאזור זה, במיוחד מקטאר. האזור הממוקד מתואר במפה ב REF _Ref143614671 h תרשים 1
.
Stealth Falcon (ידוע גם בשם Project Raven או FruityArmor) היא קבוצת איום המקושרת לאיחוד האמירויות הערביות לפי MITER. פעיל מאז 2012, Stealth Falcon ידוע כמכוון לפעילים פוליטיים, עיתונאים ומתנגדי משטר במזרח התיכון. זה התגלה לראשונה ותואר על ידי מעבדת אזרח, שפרסם א אנליזה של קמפיין של התקפות תוכנות ריגול ב-2016.
בינואר 2019, רויטרס פרסמה הודעה דו"ח תחקיר על Project Raven, יוזמה המעסיקה לכאורה פעילי NSA לשעבר ומכוונת לאותם סוגי מטרות כמו Stealth Falcon. בהתבסס על שני דיווחים אלה המתייחסים לאותן מטרות ופיגועים, אמנסטי אינטרנשיונל סיכם (מוצג ב REF _Ref144978712 h תרשים 2
) ש-Stealth Falcon ו-Project Raven הם למעשה אותה קבוצה.
בספטמבר 2019, אנחנו מחקר שפורסם על דלת אחורית, המיוחסת ל-Stealth Falcon, שהשתמשה בטכניקה יוצאת דופן, שירות העברה חכמה ברקע, לתקשורת C&C. כעת אנו חושפים את התוצאה של הניתוח המעמיק שלנו של מה היא ככל הנראה התוספת החדשה ביותר למערכת כלי הריגול של Stealth Falcon.
דלת אחורית Deadglyph
שרשרת הטעינה של Deadglyph מורכבת ממספר רכיבים, כפי שמוצג ב REF _Ref144978760 h תרשים 3
. הרכיב הראשוני הוא טוען shellcode של הרישום, אשר טוען את shellcode מהרישום. קוד המעטפת שחולץ זה, בתורו, טוען את החלק המקורי של x64 של הדלת האחורית - ה-Executor. לאחר מכן, ה-Executor טוען את החלק NET. של הדלת האחורית - התזמורת. יש לציין שהרכיב היחיד בדיסק של המערכת כקובץ הוא הרכיב הראשוני, שהוא בצורת ספריית קישורים דינמית (DLL). שאר הרכיבים מוצפנים ומאוחסנים בתוך ערך רישום בינארי.
בעוד השיטה המדויקת של וקטור הפשרה הראשונית עדיין לא נקבעה, החשד שלנו הוא שרכיב מתקין מעורב בפריסת רכיבים נוספים וביסוס התמדה בתוך המערכת.
בשאר חלק זה, אנו מנתחים כל רכיב.
טוען מעטפת רישום
הרכיב הראשוני של Deadglyph הוא DLL זעיר עם ייצוא יחיד, בשם 1. רכיב זה נמשך שימוש מנוי לאירועים של Windows Management Instrumentation (WMI). ומשמש כמטעין מעטפת רישום. זה מבוצע באמצעות שורת הפקודה rundll32 C:WINDOWSSystem32pbrtl.dll,#1.
מטעין קוד המעטפת של הרישום מתחיל את פעולתו על ידי פענוח הנתיב לקוד המעטפת המוצפן המאוחסן בתוך הרישום של Windows, באמצעות RC4. אנו חושדים שהדרך ייחודית לכל קורבן; במקרה שניתח כאן, נתיב הרישום היה:
SoftwareClassesCLSID{5abc7f42-1112-5099-b082-ce8d65ba0c47}cAbRGHLg
מפתח רישום השורש הוא או hklm or Hkcu, תלוי אם התהליך הנוכחי פועל עם הרשאות גבוהות או לא. אותו היגיון ניתן למצוא ברכיבים נוספים.
לאחר מכן, המטען שואב מפתח RC4 ספציפי למכונה באמצעות UUID המערכת שאוחזר מה- טבלת קושחה גולמית של SMBIOS. באמצעות מפתח זה, הוא טוען, מפענח ולאחר מכן מבצע את קוד המעטפת. חשוב להדגיש שגישת גזירת מפתח זו מבטיחה שפענוח תקין לא יתרחש אם הטוען מבוצע במחשב אחר.
מעניין, ניתן להגדיר את המעמיס גם על ידי דגל בו נתונים כדי להשתמש במפתח מקודד קשה כדי לפענח את קוד המעטפת, במקום זה הספציפי למכונה.
ראינו התקפת הומגליפים המחקה את תאגיד מיקרוסופט ב- VERSIONINFO משאב זה ורכיבי PE אחרים. שיטה זו משתמשת בתווים ייחודיים של Unicode שנראים דומים מבחינה ויזואלית, אך במקרה זה אינם זהים, לתווים המקוריים, במיוחד אות בירה יוונית סן (U+03FA, Ϻ) ואות קירילית קטנה O (U+043E, о) ב Ϻicrоsоft Corpоרטיоn.
קוד מעטפת הרישום
מורכב משני חלקים, קוד מעטפת הרישום מורכב משגרת פענוח וגוף מוצפן. ראשית, שגרת הפענוח מסובבת כל בייט של הגוף המוצפן שמאלה באחד (ROL 0x01). לאחר מכן, השליטה מועברת לגוף המפוענח הזה. הגוף המפוענח מורכב ממטען PE וקובץ PE, שהאחרון הוא ה-Executor, המייצג את החלק המקורי של הדלת האחורית. מטעין זה אחראי על ניתוח וטעינת קובץ ה-PE המשויך.
הוצאה לפועל
ה-Executor הוא החלק המקורי של x64 של הדלת האחורית של Deadglyph, שעושה את הפעולות הבאות:
- טוען את התצורה שלו,
- מאתחל את זמן הריצה של .NET,
- טוען את החלק המוטבע .NET של הדלת האחורית (ה- Orchestrator), ו
- משמש כספרייה עבור התזמורת.
ראשית, שתי תצורות ברירת מחדל המוטמעות ב- נתונים החלקים מפוענחים AES. התצורות כוללות פרמטרים שונים, לרבות מפתחות הצפנה, הגדרות בטיחות והתחמקות ונקודת הכניסה של הרכיב הבא.
במהלך הביצוע הראשוני, שתי תצורות ברירת המחדל מאוחסנות בתוך הרישום של Windows, משם הן נטענות בריצות עוקבות, מה שמאפשר יישום עדכונים. נתיב הרישום עבור כל תצורה נוצר בפורמט הבא:
{HKCU|HKLM}SoftwareClassesCLSID{ }(בְּרִירַת מֶחדָל)
הוא GUID שנוצר, והוא ייחודי לכל קורבן.
לאחר מכן, זמן הריצה של .NET מאוחל, ואז ה-Executor RC4 מפענח את החלק NET. של הדלת האחורית המכונה Orchestrator. התזמורת ממוקם בתוך .rsrc מדור ההוצאה לפועל. התצורה מציינת את שיטת הביצוע של התזמורת כנקודת כניסה. יתר על כן, מסופק מבנה נבדל כדי להקל על נגישות לתפקידי המבצע על ידי המתזמר.
לאחר השקת התזמורת, המוציא לפועל משמש כספריית תמיכה עבור התזמורת. ה-Executor מכיל פונקציות מעניינות רבות; אנו מתארים חלק מהם בסעיף הבא, בהקשר של השימוש שלהם על ידי התזמורת ומודולים טעונים נוספים.
תזמורת
כתוב ב-.NET, התזמורטור הוא המרכיב העיקרי בדלת האחורית של Deadglyph. התפקיד העיקרי של רכיב זה כרוך ביצירת תקשורת עם שרת C&C וביצוע פקודות, לרוב באמצעות תפקיד המתווך של ה-Executor. בניגוד לרכיבים הקודמים, התזמורטור מעורפל, תוך שימוש ב-.NET Reactor. באופן פנימי, הדלת האחורית מכונה סוכן, שהוא שם נפוץ לחלק הלקוח במסגרות שונות שלאחר הניצול.
אתחול
התזמורטור טוען תחילה את התצורה שלו ושני מודולים משובצים, כל אחד מלווה בסט תצורות משלו, ממשאבים. משאבים אלה הם לְהוֹצִיא אֲוִיר דחוס ו AES מוצפן. הפניה אליהם מתבצעת על ידי מזהה ש-SHA-1 מגובב לשם משאב. סקירה כללית של משאבים אלה מסופקת ב REF _Ref111452440 h טבלתי 1
.
טבלה 1. משאבי תזמורת
שם המשאב |
מזהה (עשרוני) |
מזהה (משקס) |
תיאור |
43ed9a3ad74ed7ab74c345a876b6be19039d4c8c |
2570286865 |
0x99337711 |
תצורת תזמורת. |
3a215912708eab6f56af953d748fbfc38e3bb468 |
3740250113 |
0xDEEFB001 |
מודול רשת. |
42fb165bc9cf614996027a9fcb261d65fd513527 |
3740250369 |
0xDEEFB101 |
תצורת מודול רשת. |
e204cdcf96d9f94f9c19dbe385e635d00caaf49d |
3735924737 |
0xDEADB001 |
מודול טיימר. |
abd2db754795272c21407efd5080c8a705a7d151 |
3735924993 |
0xDEADB101 |
תצורת מודול טיימר. |
התצורה של Orchestrator והמודולים המוטבעים מאוחסנת בפורמט XML. דוגמה לתצורת Orchestrator מוצגת ב REF _Ref111452611 h
תרשים 4
.
התיאור של ערכי תצורת Orchestrator מוצג ב REF _Ref111452782 h טבלתי 2
.
טבלה 2. ערכי תצורת תזמורת
מפתח |
תיאור |
k
|
מפתח AES המשמש לתצורות מודול מתמשכות. |
a
|
שם שיטת האתחול של מודול רשת. |
b
|
דגל לא ידוע הקשור למודול רשת. |
c
|
שם שיטת האתחול של מודול טיימר. |
d
|
דגל המאפשר שימוש במפתח AES ספציפי למכונה (מערכת UUID) עבור משאבים. |
p
|
מזהה משאב מודול רשת. |
t
|
מזהה משאב מודול טיימר. |
לאחר טעינת רכיבי המשאב, נוצרים שרשורים מרובים לביצוע משימות שונות. אחד מהשרשורים הללו אחראי על ביצוע בדיקות סביבה, פונקציה המיושמת בתוך ה-Executor. שרשור נוסף מוקדש ליצירת תקשורת תקופתית עם שרת C&C, המאפשר שליפה של פקודות. לבסוף, קבוצה של שלושה שרשורים משמשת לצורך ביצוע פקודות שהתקבלו ולאחר מכן העברת כל פלט שנוצר בחזרה לשרת C&C.
שרשור בדיקת הסביבה עוקב אחר תהליכים פועלים כדי לזהות תהליכים לא רצויים. שרשור זה פועל עם שתי רשימות נפרדות של שמות תהליכים. אם מתגלה תהליך ברשימה הראשונה, תקשורת C&C וביצוע פקודות מושהים עד שהתהליך הלא רצוי אינו קיים יותר. אם יש התאמה לתהליך כלשהו ברשימה השנייה, הדלת האחורית נסגרת מיד ומסירה את עצמה.
אף אחת מהרשימות לא הוגדרה במופע המנותח, כך שאיננו יודעים אילו תהליכים עשויים להיבדק בדרך כלל; אנו מאמינים שכנראה נועד להתחמק מכלי ניתוח שעלולים לזהות פעילות חשודה ולהוביל לגילוי הדלת האחורית.
תקשורת
התזמורטור משתמש בשני מודולים משובצים לתקשורת C&C - טיימר ורשת. כמו התזמורת, מודולים אלה מעורפלים עם .NET Reactor. התצורה של שני המודולים מסופקת על ידי התזמורת. בתוך התזמורת, כלולה תצורה מוגדרת מראש עבור המודולים; באופן אופציונלי, ה-Orchestertor יכול גם לטעון גרסת תצורה מעודכנת מהרישום:
{HKCU|HKLM}SoftwareClassesCLSID{ }
הדלת האחורית מכילה אמצעי בטיחות מעניין הקשור לתקשורת. אם הדלת האחורית אינה מסוגלת ליצור תקשורת עם שרת ה-C&C למשך זמן העולה על סף מוגדר מראש, שהוגדר בתוך ה-Executor, מופעל מנגנון הסרה עצמית. סף זמן זה מצוין בשעות ונקבע על שעה במקרה הנבדק.
גישה זו משרתת מטרה כפולה. מצד אחד, זה מונע יצירת בקשות רשת מיותרות כלפי שרת לא נגיש. מצד שני, זה מקטין את הסיכויים לגילוי לאחר מכן אם המפעילים מאבדים שליטה על הדלת האחורית.
מודול טיימר
מודול קטן זה מבצע את ההתקשרות חזרה שצוינה במרווח שניתן להגדרה. הוא משמש את התזמורת בשילוב עם מודול הרשת כדי לתקשר עם שרת C&C מעת לעת. כדי למנוע יצירת דפוסים הניתנים לזיהוי ביומני רשת, מרווח הביצוע כפוף לאקראי, בהתבסס על אחוז שצוין בתצורה. במקרה המנותח, המרווח נקבע לחמש דקות, עם וריאציה של ±20% עבור אקראיות.
שיטה נוספת להימנע מדפוסי רשת הניתנים לזיהוי בתקשורת תקופתית ניתן למצוא ביצירת בקשות שנשלחות לשרת C&C. מנגנון זה, המיושם ב-Executor, כולל הכללת ריפוד באורך משתנה, המורכב מבייטים אקראיים, בתוך הבקשות, וכתוצאה מכך בקשות בגדלים שונים.
מודול רשת
מודול הרשת מיישם תקשורת עם שרתי C&C שצוינו בתצורתו. זה יכול לשלוח נתונים לשרת C&C באמצעות בקשות HTTP(S) POST. יש לציין שהוא מציע מספר מנגנונים לרכישת פרטי תצורת פרוקסי. תכונה זו מציעה התמקדות פוטנציאלית בסביבות שבהן גישה ישירה לאינטרנט אינה זמינה.
דוגמה של תצורה מפוענחת (ומייפה) מוצגת ב REF _Ref144978805 h תרשים 5
.
ערכי תצורה מכילים פרטים הקשורים לתקשורת ברשת - כתובות C&C, HTTP User-Agent, ולחלופין תצורת proxy.
בעת תקשורת עם שרת C&C, נעשה שימוש בפרוטוקול בינארי מותאם אישית עם תוכן מוצפן מתחת ל-HTTPS.
פקודות
התזמורת מקבל פקודות משרת C&C בצורה של משימות, אשר עומדות בתור לביצוע. ישנם שלושה סוגים של משימות מעובדות:
- משימות תזמורת,
- משימות מבצע, ו
- העלאת משימות.
שני הסוגים הראשונים מתקבלים משרת C&C והשלישי נוצר באופן פנימי כדי להעלות פלט של פקודות ושגיאות.
משימות תזמורת
משימות תזמורת מציעות את היכולת לנהל את התצורה של מודולי הרשת והטיימר, וגם לבטל משימות ממתינות. הסקירה הכללית של משימות התזמורת מוצגת ב REF _Ref111101783 h טבלתי 3
.
טבלה 3. משימות תזמורת
סוּג |
תיאור |
0x80
|
הגדר תצורה של מודולי רשת וטיימר. |
0x81
|
קבל תצורה של מודולי רשת וטיימר. |
0x82
|
בטל משימה. |
0x83
|
בטל את כל המשימות. |
משימות מבצע
משימות מבצעים מציעות את היכולת לנהל את הדלת האחורית ולבצע מודולים נוספים. ראוי לציין שהפונקציונליות המסורתית של הדלת האחורית אינה קיימת מטבעה בתוך הבינארי עצמו. במקום זאת, פונקציות אלו מתקבלות משרת C&C בצורה של קבצי PE או shellcode. היקף הפוטנציאל המלא של הדלת האחורית נותר לא ידוע ללא המודולים הנוספים הללו, אשר למעשה פותחים את היכולות האמיתיות שלה. סקירה כללית של משימות מודול מוצגת ב REF _Ref117677179 h טבלתי 4
, הכולל פרטים על מעט המודולים שזוהו. באופן דומה, REF _Ref117677188 h טבלתי 5
מספק סקירה כללית של משימות ניהול הקשורות ל-Executor.
טבלה 4. משימות מבצע – מודולים
סוּג |
תיאור |
0x??–0x63
|
לא ידוע |
0x64
|
קורא קבצים |
0x65
|
לא ידוע |
0x66
|
לא ידוע |
0x67
|
לא ידוע |
0x68
|
לא ידוע |
0x69
|
יוצר תהליכים |
0x6A
|
לא ידוע |
0x6B
|
לא ידוע |
0x6C
|
אספן מידע |
0x6D
|
לא ידוע |
0x6E
|
לא ידוע |
טבלה 5. משימות מבצע – ניהול
סוּג |
תיאור |
0x6F-0x76 |
לא מיושם |
0x77 |
הגדר את תצורת ה-Executor |
0x78 |
קבל את תצורת ה-Executor |
0x79-0x7C |
לא מיושם |
0x7D |
עדכון |
0x7E |
להפסיק |
0x7F |
Uninstall |
הפקודה שמגדירה את תצורת ה-Executor יכולה לשנות את:
- רשימות תהליכים לא רצויים,
- סף זמן של כשל בתקשורת C&C, ו
- מגבלת זמן לביצוע מודולים נוספים.
מודולים
הצלחנו להשיג שלושה מודולים ייחודיים משרת C&C, כל אחד מתאים לסוג משימות מבצע אחר, כפי שמוצג ב- REF _Ref117677179 h טבלתי 4 08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003100310037003600370037003100370039000000
. בהתבסס על מידע זמין, אנו מעריכים שיש תשעה עד ארבעה עשר מודולים בסך הכל. מכיוון שהמודולים הם למעשה פקודות בדלת אחורית, יש להם פעולה בסיסית אחת לביצוע ולאחר מכן, אופציונלית, להחזיר את הפלט שלהם. המודולים שהשגנו הם DLLs עם ייצוא אחד ללא שם (ordinal 1), שבו הם פותרים את פונקציות ה-API הנחוצות וקוראים לפונקציה הראשית.
כאשר הם מופעלים, המודולים מסופקים עם פונקציית רזולוציית API, שיכולה לפתור ממשקי API של Windows וממשקי API מותאמים אישית של הפעלה. הפנייה לממשקי ה-API של Windows מתבצעת באמצעות hash DWORD, המחושב מהשם של ה-API וה-DLL שלו. ערכי גיבוב קטנים (<41) מטופלים במיוחד, תוך התייחסות לפונקציית ה-API של Executor. ממשק ה-API של Executor כולל 39 פונקציות נגישות למודולים. פונקציות אלו נוגעות למגוון פעולות, כולל:
- פעולות קבצים,
- הצפנה וגיבוב,
- דְחִיסָה,
- טעינת PE,
- גישה להתחזות לאסימונים, ו
- תוֹעֶלֶת.
בשאר חלק זה, אנו מתארים את המודולים שהשגנו.
יוצר תהליכים
מודול 0x69 מבצע את שורת הפקודה שצוינה כתהליך חדש ומספק את הפלט המתקבל בחזרה ל- Orchestrator. ניתן ליצור את התהליך תחת משתמש אחר, וזמן הביצוע שלו יכול להיות מוגבל. יש לציין, יוצא דופן ממשק API משמש בפונקציונליות של מודול זה.
מודול זה הוגש עם שורת הפקודה cmd.exe /c רשימת המשימות /v.
אנו מניחים שהיא משמשת כפקודה סרק המונפקת אוטומטית, בזמן שהמפעילים מחכים שמשהו מעניין יקרה במחשב שנפגע.
אספן מידע
מודול 0x6C אוסף מידע נרחב על המחשב באמצעות שאילתות WMI ומעביר אותו בחזרה ל- Orchestrator. מידע על הדברים הבאים נאסף:
- מערכת הפעלה,
- מתאמי רשת,
- תוכנה מותקנת,
- כוננים,
- שירותים,
- נהגים,
- תהליכים,
- משתמשים,
- משתני סביבה, ו
- תוכנת אבטחה.
קורא קבצים
מודול 0x64 קורא את הקובץ שצוין ומעביר את התוכן בחזרה ל- Orchestrator. לחלופין, הוא יכול למחוק את הקובץ לאחר הקריאה.
ראינו את המודול הזה בשימוש כדי לאחזר את קובץ הנתונים של הקורבן ב-Outlook
ג: משתמשים AppDataLocalMicrosoftOutlookoutlook.ost.
שרשרת עם הורדת קוד מעטפת
בתהליך חקירת Deadglyph, נתקלנו בקובץ CPL מפוקפק חתום עם תעודה שפג תוקפו וללא חתימה נגדית עם חותמת זמן, שהועלה ל-VirusTotal מקטאר. לאחר בחינה מדוקדקת יותר, התברר שקובץ CPL זה פעל כמוריד קוד מעטפת רב-שלבי, וחלק דמיון קוד מסוים עם Deadglyph. שרשרת הטעינה מוצגת ב REF _Ref143693067 h תרשים 6
.
בצורתו הראשונית, המשמשת כשלב ראשון, קובץ זה צופה שיש א .cpl סיומת (קובץ לוח הבקרה) והוא מיועד לביצוע באמצעות פעולת לחיצה כפולה. עם ביצוע באופן זה, קוד המעטפת המוטבע עובר פענוח XOR, והתהליכים הפועלים נבדקים כדי לזהות תהליך מארח מתאים להזרקה הבאה.
If avp.exe (תהליך אבטחת נקודת הקצה של קספרסקי) פועל, %windir%system32UserAccountBroker.exe משמש. אחרת, נעשה שימוש בדפדפן ברירת המחדל. לאחר מכן, הוא יוצר את תהליך המארח במצב מושעה, מחדיר את קוד המעטפת על ידי חטיפת השרשור הראשי שלו, ומחדש את השרשור.
השלב השני, קוד המעטפת, מורכב משני חלקים. החלק הראשון של קוד המעטפת פותר גיבוב של API, תוך שימוש באותה טכניקת חישוב גיבוב ייחודית המופעלת ב-Deadglyph, ומפענח מחרוזות עם שמות תהליכים. זה מתחיל שרשור מחיקה עצמית עם המשימה להחליף ולאחר מכן למחוק את הקובץ בשלב הראשון. לאחר מכן, קוד המעטפת ממשיך לבדוק את התהליכים הפעילים כעת, תוך מיקוד לפתרון אבטחה.
אם אחד מהתהליכים שצוינו מזוהה, קוד המעטפת יוצר חוט רדום עם העדיפות הנמוכה ביותר (THREAD_PRIORITY_IDLE) ומאפשר לו להישאר פעיל למשך 60 שניות לפני סיום פעולתו. מרווח זה מיושם ככל הנראה כאמצעי זהירות כדי להתחמק ממנגנוני זיהוי מסוימים המופעלים על ידי פתרונות אבטחה. לבסוף, קוד המעטפת ממשיך להפעיל את החלק השני של הקוד שלו.
החלק השני של קוד המעטפת טוען קובץ PE מוטבע עם שלב שלישי וקורא לייצוא שלו עם מספר סידורי 1.
השלב השלישי, DLL, משמש כמטעין .NET ומכיל את המטען בו .rsrc סָעִיף.
כדי לטעון את המטען, זמן הריצה של .NET מאוחל. במהלך האתחול NET מבוצעות שתי טכניקות מסקרנות, שנועדו לכאורה להתחמק מ-Windows סריקת ממשק סריקה נגד תוכנות זדוניות (AMSI).:
- מטעין .NET מחבר זמנית את
- לאחר מכן הוא מתקן בעדינות את AmsiInitialize ייבוא מחרוזת שם ב- .rdata קטע של הטעון clr.dll ל aMSIiליזום.
השלב הרביעי הוא הרכבת .NET, מעורפלת עם ConfuserEx, המשמשת בתור הורדת קוד מעטפת. ראשית, הוא מפענח את התצורה שלו בפורמט XML מהמשאבים שלו. גרסה מיופה של התצורה שחולצה מוצגת ב REF _Ref143695453 h תרשים 7
. ערכי התצורה מכילים פרטים הקשורים לתקשורת ברשת ולתהליכים חסומים.
לפני שתמשיך, הוא בודק את התהליכים הפועלים מול רשימה של תהליכים ברשימת חסימה מהתצורה. אם מזוהה התאמה, הביצוע נעצר. חשוב לציין שבמקרה המנותח, רשימת חסימות זו לא הוגדרה.
לאחר מכן, הוא שולח בקשת HTTP GET לשרת C&C כדי לאחזר קוד מעטפת כלשהו, תוך שימוש בפרמטרים שצוינו בתצורה (URL, User-Agent, ואופציונלי פרוקסי). למרבה הצער, במהלך החקירה שלנו לא הצלחנו להשיג שום קוד מעטפת משרת C&C. עם זאת, אנו משערים שהתוכן שאוחזר עשוי לשמש כמתקין של Deadglyph.
לאחר מכן, קוד המעטפת שאוחזר מבוצע בתוך שרשור שנוצר לאחרונה. לאחר המתנה עד שהשרשור של קוד המעטפת יסתיים ביצוע, הורדת ה-Shellcode מסיר את כל הקבצים שנמצאים בספרייה %WINDIR%ServiceProfilesLocalServiceAppDataLocalTempTfsStoreTfs_DAV.
לבסוף, הוא עושה ניסיון למחוק את עצמו לאחר מרווח של 20 שניות, תוך שימוש בפקודה הבאה, לפני סיום פעולתו ויציאה:
בחירת cmd.exe /CY /N /DY /T 20 & Del /f /q
המחיקה העצמית הזו לא הגיונית בשרשרת הזו. זה נובע מהעובדה שמוריד ה- shellcode מבוצע בתוך תהליך דפדפן או מערכת לאחר הזרקה, במקום לפעול כקובץ הפעלה עצמאי. יתר על כן, הקובץ הראשוני כבר נמחק בשלב השני. תצפית זו מציעה שייתכן שמוריד קוד המעטפת אינו מטען בלעדי של שרשרת זו ועשוי לשמש בנפרד גם בפעולות אחרות.
סיכום
גילינו וניתחנו דלת אחורית מתוחכמת ששימשה את קבוצת Stealth Falcon שקראנו לה Deadglyph. יש לו ארכיטקטורה יוצאת דופן, ויכולות הדלת האחורית שלו מסופקות על ידי C&C שלה בצורה של מודולים נוספים. הצלחנו להשיג שלושה מהמודולים הללו, וחשפנו שבריר מהיכולות המלאות של Deadglyph.
יש לציין כי Deadglyph מתגאה במגוון מנגנוני זיהוי נגדי, כולל ניטור רציף של תהליכי מערכת ויישום של דפוסי רשת אקראיים. יתר על כן, הדלת האחורית מסוגלת להסיר את עצמה כדי למזער את הסבירות לזיהוי שלה במקרים מסוימים.
בנוסף, החקירה שלנו הובילה אותנו לגילוי של שרשרת הורדות קוד מעטפת מרובה שלבים ב-VirusTotal. אנו חושדים ששרשרת ההורדות הזו כנראה ממונפת בתהליך ההתקנה של Deadglyph.
לכל שאלה לגבי המחקר שלנו שפורסם ב-WeLiveSecurity, אנא צור איתנו קשר בכתובת threatintel@eset.com.
ESET Research מציע דוחות מודיעין פרטיים של APT והזנות נתונים. לכל שאלה לגבי שירות זה, בקר באתר ESET Threat Intelligence עמוד.
IoCs
קבצים
SHA-1 |
שם הקובץ |
איתור |
תיאור |
C40F1F46D230A85F702DAA38CFA18D60481EA6C2 |
pbrtl.dll |
Win64/Deadglyph.A |
טוען Shellcode של הרישום. |
740D308565E215EB9B235CC5B720142428F540DB |
N / A |
Win64/Deadglyph.A |
Deadglyph Backdoor - מבצע. |
1805568D8362A379AF09FD70D3406C6B654F189F |
N / A |
MSIL/Deadglyph.A |
Deadglyph Backdoor - תזמורת. |
9CB373B2643C2B7F93862D2682A0D2150C7AEC7E |
N / A |
MSIL/Deadglyph.A |
מודול רשת תזמורת. |
F47CB40F6C2B303308D9D705F8CAD707B9C39FA5 |
N / A |
MSIL/Deadglyph.A |
מודול טיימר תזמורת. |
3D4D9C9F2A5ACEFF9E45538F5EBE723ACAF83E32 |
N / A |
Win64/Deadglyph.A.gen |
מודול יוצר תהליכים. |
3D2ACCEA98DBDF95F0543B7C1E8A055020E74960 |
N / A |
Win64/Deadglyph.A |
מודול קורא קבצים. |
4E3018E4FD27587BD1C566930AE24442769D16F0 |
N / A |
Win64/Deadglyph.A |
מודול אספן מידע. |
7F728D490ED6EA64A7644049914A7F2A0E563969 |
N / A |
Win64/Injector.MD |
השלב הראשון של שרשרת הורדות ה- shellcode. |
תעודות
מספר סידורי |
00F0FB1390F5340CD2572451D95DB1D92D |
טביעת אצבע |
DB3614DAF58D041F96A5B916281EA0DC97AA0C29 |
נושא CN |
RHM מוגבלת |
נושא O |
RHM מוגבלת |
נושא ל |
סנט אלבנס |
נושא ש |
הרטפורדשייר |
נושא ג |
GB |
כתובת אימייל |
rhm@rhmlimited[.]co.uk |
בתוקף מ |
2021-03-16 00:00:00 |
תקף ל |
2022-03-16 23:59:59 |
שרתי C&C
IP |
תְחוּם |
נראה לראשונה |
תגובה |
185.25.50[.]60 |
chessandlinkss[.]com |
2021-08-25 |
שרת Deadglyph C&C. |
135.125.78[.]187 |
easymathpath[.]com |
2021-09-11 |
שרת Deadglyph C&C. |
45.14.227[.]55 |
joinushealth[.]com |
2022-05-29 |
שרת C&C להוריד Shellcode. |
טכניקות MITER ATT & CK
שולחן זה נבנה באמצעות גרסה 13 של מסגרת MITER ATT & CK.
טקטיקה |
ID |
שם |
תיאור |
פיתוח משאבים |
רכישת תשתית: דומיינים |
Stealth Falcon רשמה דומיינים עבור שרתי C&C ולהשגת אישור חתימת קוד. |
|
רכישת תשתית: שרת פרטי וירטואלי |
Stealth Falcon השתמשה בספקי אירוח VPS עבור שרתי C&C. |
||
פיתוח יכולות: תוכנות זדוניות |
Stealth Falcon פיתחה תוכנות זדוניות מותאמות אישית, כולל מעמיסים מותאמים אישית והדלת האחורית של Deadglyph. |
||
השג יכולות: תעודות חתימת קוד |
Stealth Falcon השיג אישור חתימת קוד. |
||
הוצאה לפועל |
של Windows Management Instrumentation |
Deadglyph משתמש ב-WMI כדי לבצע את שרשרת הטעינה שלו. |
|
מתורגמן פקודות ותסריטים: מעטפת הפקודות של Windows |
משתמש בהורדת Shellcode cmd.exe למחוק את עצמו. |
||
ממשק API מקומי |
מודול Deadglyph משתמש CreateProcessW ו CreateProcessAsUserW פונקציות API לביצוע. |
||
ביצוע משתמש: קובץ זדוני |
שרשרת הורדת קוד המעטפת דורשת מהמשתמש ללחוץ פעמיים ולהפעיל אותה. |
||
התמדה |
ביצוע מופעלת אירוע: מנוי לאירועים של Windows Management Instrumentation |
טוען Deadglyph הראשוני ממשיך באמצעות מנוי לאירועי WMI. |
|
התחמקות הגנה |
קבצים או מידע מעורפלים |
רכיבי Deadglyph מוצפנים. Deadglyph Orchestrator והמודולים המוטבעים מעורפלים עם .NET Reactor. הורדת קוד המעטפת מעורפלת עם ConfuserEx. |
|
הסרת אינדיקטור: מחיקת קובץ |
Deadglyph יכול להסיר את עצמו. שרשרת הורדת ה- shellcode מוחקת את עצמה ומוחקת קבצים ב-WebDAV cache. |
||
שנה את הרישום |
Deadglyph מאחסן את התצורה והמטען המוצפן שלו ברישום. |
||
גישה לאסימונים |
Deadglyph יכול להתחזות למשתמש אחר. |
||
בטל/פענח קבצים או מידע |
Deadglyph מפענח מחרוזות מוצפנות. שרשרת הורדות ה- shellcode מפענחת את רכיביה ותצורותיה. |
||
ביצוע פרוקסי בינארי של המערכת: Rundll32 |
טוען Deadglyph הראשוני מבוצע באמצעות rundll32.exe. |
||
מעקות ביצוע: מפתח סביבתי |
Deadglyph מוצפן באמצעות מפתח ספציפי למכונה הנגזר מ-UUID של המערכת. |
||
פגיעה בהגנה: השבת או שנה כלים |
הורדת קוד המעטפת נמנע מסריקת AMSI על ידי תיקון clr.dll לזכר . |
||
טעינת קוד רפלקטיבי |
Deadglyph טוען באופן רפלקטיבי את המודולים שלו באמצעות מטעין PE מותאם אישית. |
||
גילוי פערים |
גילוי שירות מערכת |
A מודול Deadglyph מגלה שירותים באמצעות שאילתת WMI בחר * מ-Win32_Service. |
|
רישום שאילתות |
שרשרת הורדת ה- shellcode שוללת את הרישום עבור דפדפן ברירת המחדל. |
||
גילוי תצורת רשת מערכת |
מודול Deadglyph מגלה מתאמי רשת באמצעות שאילתות WMI בחר * מ-Win32_NetworkAdapter ו בחר * מ-Win32_NetworkAdapterConfiguration שבו InterfaceIndex=%d. |
||
גילוי בעל מערכת/משתמש |
מודול Deadglyph מגלה משתמשים עם שאילתת WMI בחר * מ-Win32_UserAccount. |
||
תהליך גילוי |
מודול Deadglyph מגלה תהליכים באמצעות שאילתת WMI בחר * מ-Win32_Process. |
||
גילוי מידע מערכת |
מודול Deadglyph מגלה מידע מערכת כגון גרסת מערכת ההפעלה, כוננים, משתני סביבה ומנהלי התקנים באמצעות שאילתות WMI. |
||
גילוי תוכנה |
מודול Deadglyph מגלה תוכנה מותקנת באמצעות שאילתת WMI בחר * מ-Win32_Product. |
||
גילוי תוכנה: גילוי תוכנות אבטחה |
מודול Deadglyph מגלה תוכנת אבטחה באמצעות שאילתות WMI בחר * ממוצר אנטי וירוס, בחר * ממוצר AntiSpyware ו בחר * ממוצר Firewall. שרשרת הורדת קוד המעטפת בודקת תהליכים פועלים עבור פתרון אבטחה. |
||
אוספים |
נתונים מהמערכת המקומית |
ל-Deadglyph יש מודול לקריאת קבצים. |
|
פיקוד ובקרה |
פרוטוקול שכבת האפליקציות: פרוטוקולי אינטרנט |
Deadglyph ומוריד ה- shellcode מתקשרים עם שרת C&C באמצעות פרוטוקול HTTP. |
|
פרוקסי |
Deadglyph ומוריד ה- shellcode יכולים להשתמש ב-HTTP proxy עבור תקשורת C&C. |
||
ערוץ מוצפן: קריפטוגרפיה סימטרית |
Deadglyph משתמש ב-AES כדי להצפין תקשורת C&C. |
||
exfiltration |
סינון מעל ערוץ C2 |
Deadglyph משתמש בערוץ C&C לצורך סינון. |
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- מקור: https://www.welivesecurity.com/en/eset-research/stealth-falcon-preying-middle-eastern-skies-deadglyph/
- :יש ל
- :הוא
- :לֹא
- :איפה
- $ למעלה
- 1
- 10
- 100
- 11
- 125
- 14
- 15%
- 179
- 180
- 20
- 2012
- 2016
- 2019
- 23
- 25
- 321
- 39
- 41
- 60
- 7
- 75
- 8
- 9
- 91
- a
- יכולת
- אודות
- גישה
- נגישות
- נגיש
- נלווה
- לרכוש
- פעולה
- פעיל
- פעילים
- פעילויות
- פעילות
- מעשים
- למעשה
- תוספת
- נוסף
- מתקדם
- יתרון
- AES
- לאחר
- נגד
- מכוון
- תעשיות
- לִכאוֹרָה
- מאפשר
- כְּבָר
- גם
- an
- אנליזה
- לנתח
- מְנוּתָח
- ו
- אחר
- צופה
- כל
- API
- ממשקי API
- לְהוֹפִיעַ
- גישה
- APT
- ערבי
- איחוד האמירויות
- ארכיטקטורה
- ARE
- AS
- עצרת
- המשויך
- לְהַנִיחַ
- At
- לתקוף
- המתקפות
- באופן אוטומטי
- זמין
- לְהִמָנַע
- בחזרה
- דלת אחורית
- מבוסס
- בסיסי
- BE
- הפך
- כי
- היה
- לפני
- להיות
- תאמינו
- הטוב ביותר
- מתגאה
- גוּף
- שניהם
- דפדפן
- נבנה
- אבל
- by
- סליק
- מחושב
- חישוב
- שיחה
- נקרא
- קוראים
- שיחות
- מבצע
- CAN
- יכולות
- מסוגל
- הון
- לשאת
- מקרה
- מקרים
- מרכז
- מסוים
- תעודה
- שרשרת
- סיכויים
- שינוי
- ערוץ
- תווים
- בָּדוּק
- בדיקות
- בחירה
- לקוחות
- קרוב יותר
- קוד
- אספן
- צֶבַע
- COM
- שילוב
- Common
- להעביר
- תקשורת
- תקשורת
- תקשורת
- משכנע
- רְכִיב
- רכיבים
- מורכב
- כולל
- פשרה
- התפשר
- המחשב
- מוליך
- כנס
- אמון
- תְצוּרָה
- מוגדר
- מחובר
- מורכב
- צור קשר
- להכיל
- מכיל
- תוכן
- הקשר
- רציף
- לעומת זאת
- לִשְׁלוֹט
- לוח בקרה
- תַאֲגִיד
- תוֹאֵם
- יכול
- יחד
- נוצר
- יוצר
- יצירה
- יוצר
- נוֹכְחִי
- כיום
- מנהג
- לקוחות
- כהה יותר
- נתונים
- פענוח
- בְּרִירַת מֶחדָל
- תואר
- תלוי
- פריסה
- נגזר
- לתאר
- מְתוּאָר
- תיאור
- פרטים
- לאתר
- זוהה
- איתור
- נחוש
- מפותח
- צעצועי התפתחות
- הבדל
- אחר
- קשה
- ישיר
- גילה
- מגלה
- תגלית
- מובהק
- שונה
- עושה
- תחומים
- לא
- נהגים
- כוננים
- ראוי
- משך
- בְּמַהֲלָך
- דינמי
- באופן דינמי
- כל אחד
- מזרח
- מזרחי
- יעילות
- או
- מורם
- מוטבע
- נסיכויות
- מוּעֳסָק
- מעסיקה
- מה שמאפשר
- להקיף
- מוצפן
- הצף
- נקודת קצה
- אבטחה נקודת קצה
- מבטיח
- ישות
- כניסה
- סביבה
- סביבתי
- סביבות
- שגיאות
- מחקר ESET
- ריגול
- להקים
- מקימים
- לְהַעֲרִיך
- התחמקות
- אירוע
- עדות
- ברור
- דוגמה
- בלעדי
- לבצע
- יצא לפועל
- מוציאים להורג
- מבצע
- הוצאת להורג
- פילטרציה
- מוצגים
- קיים
- יציאה
- מומחיות
- יצוא
- הארכה
- נרחב
- לְהַקֵל
- הקל
- עובדה
- כשלון
- מאפיין
- תכונות
- מעטים
- תרשים
- שלח
- קבצים
- בסופו של דבר
- ממצאים
- ראשון
- חמש
- להתמקד
- הבא
- בעד
- טופס
- פוּרמָט
- לשעבר
- מצא
- רביעית
- שבריר
- מסגרת
- מסגרות
- החל מ-
- מלא
- פונקציה
- פונקציונלי
- פונקציות
- נוסף
- יתר על כן
- נוצר
- דור
- לקבל
- ממשלתי
- יוונית
- קרקע
- קְבוּצָה
- היה
- יד
- לקרות
- שירים
- חשיש
- has has
- יש
- יש
- כאן
- HEX
- גָבוֹהַ
- פרופיל גבוה
- להבליט
- מפריע
- הוקס
- המארח
- אירוח
- שעה
- שעות
- http
- HTTPS
- ID
- זהה
- מזוהה
- לזהות
- להתבטל
- if
- תמונה
- מיד
- הפעלה
- יושם
- מיישמים
- לייבא
- חשוב
- in
- באחר
- מעמיק
- לא נגיש
- כלול
- כולל
- כולל
- הַכלָלָה
- עצמאי
- להצביע
- מידע
- מידע
- תשתית
- מטבע הדברים
- בתחילה
- יוזמה
- פניות
- התקנה
- מותקן
- למשל
- במקום
- מוֹדִיעִין
- אינטליגנטי
- התכוון
- מעניין
- מִמְשָׁק
- מתווך
- כלפי פנים
- ברמה בינלאומית
- אינטרנט
- גישה לאינטרנט
- אל תוך
- מסקרן
- הציג
- חקירה
- חקירה
- מעורב
- הפיקו
- IT
- שֶׁלָה
- עצמו
- יָנוּאָר
- עיתונאים
- קספרסקי
- מפתח
- מפתחות
- לדעת
- ידע
- ידוע
- שפה
- שפות
- השקה
- שכבה
- עוֹפֶרֶת
- הוביל
- עזבו
- אורך
- מכתב
- ממונפות
- סִפְרִיָה
- כמו
- סְבִירוּת
- סביר
- להגביל
- מוגבל
- קו
- קשר
- צמוד
- רשימה
- רשימות
- לִטעוֹן
- מטעין
- טוען
- המון
- מקומי
- ממוקם
- הגיון
- עוד
- נראה
- להפסיד
- הנמוך ביותר
- ראשי
- לעשות
- עושה
- תוכנות זדוניות
- לנהל
- הצליח
- ניהול
- דרך
- רב
- מַפָּה
- להתאים
- מאי..
- התכוון
- למדוד
- מנגנון
- מנגנוני
- זכרון
- שיטה
- מיקרוסופט
- אמצע
- המזרח התיכון
- יכול
- דקות
- מעורב
- לשנות
- מודול
- מודולים
- ניטור
- צגים
- יותר
- יתר על כן
- מספר
- שם
- שם
- שמות
- יליד
- נווט
- הכרחי
- נטו
- רשת
- חדש
- החדש ביותר
- חדש
- לא
- יַקִיר
- בייחוד
- עַכשָׁיו
- מספר
- להשיג
- מושג
- of
- הַצָעָה
- המיוחדות שלנו
- לעתים קרובות
- on
- ONE
- יחידות
- רק
- פועל
- פועל
- מבצע
- תפעול
- מפעילי
- or
- מְקוֹרִי
- OS
- אחר
- אַחֶרֶת
- שלנו
- הַחוּצָה
- Outlook
- תפוקה
- יותר
- סקירה
- שֶׁלוֹ
- פ
- עמוד
- לוח
- פרמטרים
- חלק
- חלקים
- מעברי
- טלאים
- תיקון
- נתיב
- דפוסי
- תלוי ועומד
- אחוזים
- ביצעתי
- תקופתי
- התמדה
- פלטפורמה
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- אנא
- נקודה
- נקודות
- פוליטי
- הודעה
- פוטנציאל
- פוטנציאל
- צורך
- נוכחות
- להציג
- מוצג
- למנוע
- מונע
- קוֹדֶם
- יְסוֹדִי
- עדיפות
- פְּרָטִי
- הרשאות
- כנראה
- ההכנסות
- תהליך
- מעובד
- תהליכים
- תכנות
- שפות תכנות
- פּרוֹיֶקט
- תָקִין
- פרוטוקול
- לספק
- ובלבד
- ספקים
- מספק
- פרוקסי
- ציבורי
- לאור
- מטרה
- למטרות
- קטאר
- שאילתות
- מתנתק
- אקראי
- אקראי
- אקראי
- רכס
- במקום
- כור אטומי
- קורא
- קריאה
- קיבלו
- מקבל
- מפחית
- התייחסות
- מכונה
- באזור
- רשום
- רישום
- קָשׁוּר
- להשאר
- נותר
- שְׂרִידִים
- הסרה
- דוחות לדוגמא
- מייצג
- מוניטין
- לבקש
- בקשות
- דורש
- מחקר
- החלטה
- משאב
- משאבים
- אחראי
- REST
- תוצאה
- וכתוצאה מכך
- לַחֲזוֹר
- החזרות
- רויטרס
- לגלות
- תפקיד
- שורש
- שגרה
- ריצה
- פועל
- s
- בְּטִיחוּת
- אותו
- סן
- ראה
- סריקה
- סריקה
- שְׁנִיָה
- שניות
- סעיף
- סעיפים
- אבטחה
- לִכאוֹרָה
- לשלוח
- שולח
- תחושה
- נשלח
- נפרד
- סֶפּטֶמבֶּר
- לשרת
- שרת
- שרתים
- משמש
- שרות
- שירותים
- סט
- סטים
- הגדרות
- כמה
- שיתוף
- הראה
- חָתוּם
- חתימה
- דומה
- באופן דומה
- since
- יחיד
- גדל
- שמיים
- קטן
- So
- תוכנה
- פִּתָרוֹן
- פתרונות
- כמה
- משהו
- מתוחכם
- תִחכּוּם
- במיוחד
- במיוחד
- מפורט
- תוכנות ריגול
- התמחות
- התחלות
- מדינה
- התגנבות
- מאוחסן
- חנויות
- מחרוזת
- מִבְנֶה
- נושא
- מִנוּיים
- לאחר מכן
- כתוצאה מכך
- כזה
- מציע
- מַתְאִים
- שסופק
- תמיכה
- מְצוּיָן
- תלוי
- חשוד
- מערכת
- מערכות
- שולחן
- לקחת
- נטילת
- יעד
- ממוקד
- מיקוד
- מטרות
- המשימות
- משימות
- טכני
- ניתוח טכני
- טכניקות
- מֵאֲשֶׁר
- זֶה
- השמיים
- שֶׁלָהֶם
- אותם
- אז
- שם.
- אלה
- הֵם
- שְׁלִישִׁי
- זֶה
- אלה
- איום
- איומים
- שְׁלוֹשָׁה
- סף
- דרך
- זמן
- חותם
- כותרת
- ל
- אסימון
- כלים
- סה"כ
- לקראת
- מסורתי
- להעביר
- הועבר
- מופעל
- נָכוֹן
- תור
- שתיים
- סוג
- סוגים
- בדרך כלל
- לא מסוגל
- תחת
- עוברת
- ייחודי
- מאוחד
- איחוד הערבים
- איחוד האמירויות הערביות
- לא ידוע
- לפתוח
- ללא שם
- עד
- לא רצוי
- מְעוּדכָּן
- עדכונים
- נטען
- על
- כתובת האתר
- us
- נוֹהָג
- להשתמש
- מְשׁוּמָשׁ
- משתמש
- משתמשים
- שימושים
- באמצעות
- לנצל
- מנצל
- ערך
- ערכים
- מגוון
- שונים
- משתנה
- גרסה
- מאוד
- באמצעות
- קרבן
- וירטואלי
- לְבַקֵר
- מבחינה ויזואלית
- לחכות
- הַמתָנָה
- היה
- we
- אינטרנט
- היו
- מה
- מתי
- אם
- אשר
- בזמן
- רוחב
- ויקיפדיה
- חלונות
- עם
- בתוך
- לְלֹא
- XML
- שנים
- כן
- עוד
- זפירנט