אינטליגנציה של נתונים גנרטיביים

NSPX30: שתל מתוחכם המותאם ל-AitM שהתפתח מאז 2005

תאריך:

חוקרי ESET מספקים ניתוח של תקיפה שבוצעה על ידי שחקן איומים שלא נחשף בעבר, שקראנו לו בלאקווד, ולדעתנו פועל מאז 2018 לפחות. התוקפים מספקים שתל מתוחכם, שקראנו לו NSPX30, באמצעות יריב מתקפות -in-the-middle (AitM) חוטפות בקשות עדכון מתוכנה לגיטימית.

נקודות מפתח בפוסט זה בבלוג:

  • גילינו את שתל ה-NSPX30 שנפרס באמצעות מנגנוני העדכון של תוכנות לגיטימיות כגון Tencent QQ, WPS Office ו-Sogou Pinyin.
  • זיהינו את השתל בהתקפות ממוקדות נגד חברות סיניות ויפניות, כמו גם נגד אנשים שנמצאים בסין, יפן ובריטניה.
  • המחקר שלנו עקב אחר האבולוציה של NSPX30 חזרה לדלת אחורית קטנה משנת 2005 שקראנו לה Project Wood, שנועדה לאסוף נתונים מקורבנותיה.
  • NSPX30 הוא שתל רב שלבי הכולל מספר רכיבים כגון טפטפת, מתקין, מעמיסים, מתזמר ודלת אחורית. לשני האחרונים יש סטים משלהם של תוספים.
  • השתל תוכנן סביב יכולתם של התוקפים לבצע יירוט מנות, מה שמאפשר למפעילי NSPX30 להסתיר את התשתית שלהם.
  • NSPX30 גם מסוגל לרשום את עצמו בכמה פתרונות סיניים נגד תוכנות זדוניות.
  • אנו מייחסים את הפעילות הזו לקבוצת APT חדשה שקראנו לה בלאקווד.

פרופיל בלקווד

בלקווד היא קבוצת APT שפועלת מאז 2018 לפחות, העוסקת בפעולות ריגול סייבר נגד אנשים וחברות סיניות ויפנים. ל-Blackwood יש יכולות לבצע התקפות יריב באמצע כדי לספק את השתל שקראנו לו NSPX30 באמצעות עדכונים של תוכנה לגיטימית, ולהסתיר את מיקומם של שרתי הפיקוד והבקרה שלו על ידי יירוט תעבורה שנוצרת על ידי השתל.

סקירת מסע פרסום

בשנת 2020 זוהה גל של פעילות זדונית במערכת ממוקדת הממוקמת בסין. המכונה הפכה למה שאנו מתייחסים אליו בדרך כלל כ"מגנט איום", מכיוון שזיהינו ניסיונות של תוקפים להשתמש בערכות כלים של תוכנות זדוניות הקשורות לקבוצות APT שונות: פנדה מתחמקת, LuoYu, ושחקן איום שלישי שאנחנו עוקבים אחריו בתור LittleBear.

באותה מערכת זיהינו גם קבצים חשודים שלא היו שייכים לערכות הכלים של שלוש הקבוצות הללו. זה הוביל אותנו להתחיל בחקירה של שתל שקראנו לו NSPX30; הצלחנו להתחקות אחר התפתחותו עד 2005.

לפי טלמטריית ESET, השתל זוהה במספר קטן של מערכות. הקורבנות כוללים:

  • אנשים לא מזוהים הממוקמים בסין וביפן,
  • אדם לא מזוהה דובר סינית המחובר לרשת של אוניברסיטת מחקר ציבורית בעלת פרופיל גבוה בבריטניה,
  • חברה גדולה לייצור ומסחר בסין, ו
  • המשרד בסין של תאגיד יפני בתחום ההנדסה והייצור.

ראינו גם שהתוקפים מנסים לסכן מחדש מערכות אם הגישה אובדת.

איור 1 הוא התפלגות גיאוגרפית של המטרות של בלקווד, לפי הטלמטריה של ESET.

איור 1. התפלגות גיאוגרפית של קורבנות בלקווד
איור 1. התפלגות גיאוגרפית של קורבנות בלקווד

אבולוציה של NSPX30

במהלך המחקר שלנו על שתל NSPX30, מיפינו את האבולוציה שלו בחזרה לאב קדמון מוקדם - דלת אחורית פשוטה שקראנו לו Project Wood. המדגם העתיק ביותר של Project Wood שמצאנו חובר ב-2005, ונראה שהוא שימש כבסיס הקוד ליצירת כמה שתלים. שתל אחד כזה, שממנו התפתח NSPX30, נקרא על ידי מחבריו DCM ב-2008.

איור 2 ממחיש ציר זמן של התפתחויות אלה, בהתבסס על הניתוח שלנו של דוגמאות באוסף שלנו ובטלמטריית ESET, כמו גם תיעוד ציבורי. עם זאת, האירועים והנתונים המתועדים כאן הם עדיין תמונה חלקית של כמעט שני עשורים של פיתוח ופעילות זדונית של מספר לא ידוע של גורמי איומים.

איור 2. ציר זמן של גרסאות עיקריות של Project Wood, DCM ו- NSPX30
איור 2. ציר זמן של גרסאות עיקריות של Project Wood, DCM ו- NSPX30

בסעיפים הבאים אנו מתארים כמה מהממצאים שלנו לגבי Project Wood, DCM ו- NSPX30.

פרויקט ווד

נקודת ההתחלה באבולוציה של שתלים אלה היא דלת אחורית קטנה שנאספה ב-9 בינוארth, 2005, לפי חותמות הזמן הקיימות בכותרת PE של שני מרכיביה - המעמיס והדלת האחורית. לאחרון יש יכולות לאסוף מידע מערכת ורשת, כמו גם להקליט הקשות וצילום מסך.

קראנו לדלת האחורית Project Wood, בהתבסס על שם mutex חוזר, כפי שמוצג באיור 3.

איור 3. קוד Project Wood עם נושא חוזר ברוב הדוגמאות
איור 3. קוד Project Wood עם נושא חוזר ברוב הדוגמאות

חותמות זמן של קומפילציה הן אינדיקטורים לא אמינים, שכן התוקפים יכולים לחבל בהם; לכן, במקרה הספציפי הזה, שקלנו נקודות נתונים נוספות. ראשית, חותמות הזמן מכותרת ה-PE של דוגמיות המעמיס והדלת האחורית; ראה טבלה 1. יש רק הבדל של 17 שניות בזמן הקומפילציה של שני הרכיבים.

טבלה 1. חותמות זמן של אוסף PE ברכיבים ממדגם 2005

SHA-1

שם הקובץ

חותמת זמן הידור של PE

תיאור

9A1B575BCA0DC969B134
4651F16514660D1B78A6

MainFuncOften.dll

2005-01-09 08:21:22

Project Wood דלת אחורית.

חותמת הזמן מטבלת הייצוא תואמת את חותמת הזמן של הידור PE.

834EAB42383E171DD6A4
2F29A9BA1AD8A44731F0

N / A

2005-01-09 08:21:39

מטעין Project Wood מכיל את הדלת האחורית מוטבעת כמשאב.

 

נקודת הנתונים השנייה מגיעה מדגימת הטפטפת שנדחסה באמצעות UPX. כלי זה מכניס את הגרסה שלו (איור 4) לקובץ הדחוס שנוצר - במקרה זה, גירסת UPX 1.24, שהייתה שוחרר ב 2003, לפני מועד חיבור המדגם.

איור 4. מחרוזת UPX עם גרסת כלי בדגימת הטפטפת
איור 4. מחרוזת UPX עם גרסת כלי בדגימת הטפטפת

נקודת הנתונים השלישית היא המטא-נתונים התקפים מה-PE Rich Headers (איור 5) המצביעים על כך שהדגימה הורכבה באמצעות Visual Studio 6.0, שוחרר ב 1998, לפני תאריך הידור של המדגם.

איור 5. PE Rich Headers מדגימת הטפטפת
איור 5. PE Rich Headers מדגימת הטפטפת

אנו מעריכים שלא סביר שחותמות הזמן, המטא נתונים של Rich Headers וגרסת ה-UPX טופלו כולם על ידי התוקפים.

תיעוד ציבורי

פי נייר טכני שפורסם על ידי מכון SANS בספטמבר 2011, נעשה שימוש בדלת אחורית ללא שם וללא מיוחס (Project Wood) כדי למקד דמות פוליטית מהונג קונג באמצעות דואר אלקטרוני.

באוקטובר 2014 פרסם G DATA א לדווח של קמפיין ששמו מבצע TooHash, שיוחס מאז ל- גלסמיום קבוצת APT. Rootkit G DATA בשם DirectsX טוען גרסה של הדלת האחורית של Project Wood (ראה איור 6) עם כמה תכונות שנראו ב-DCM ומאוחר יותר ב-NSPX30, כגון רישום היתרים במוצרי אבטחת סייבר (מפורט בהמשך, בטבלה 4).

איור 6. הנושא החוזר
איור 6. הנושא החוזר קיים גם בדוגמאות ממבצע TooHash

DCM aka Dark Spectre

Project Wood המוקדם שימש בסיס קוד למספר פרויקטים; אחד מהם הוא שתל שנקרא DCM (ראה איור 7) על ידי מחבריו.

איור 7. קוד באמצעות שם mutex חדש בשתל DCM
איור 7. קוד באמצעות שם mutex חדש בשתל DCM

הדו"ח של Tencent בשנת 2016 מתאר וריאנט DCM מפותח יותר המסתמך על יכולות ה-AitM של התוקפים כדי לסכן את קורבנותיו על ידי אספקת מתקין ה-DCM כעדכון תוכנה, ולחלץ נתונים באמצעות בקשות DNS לשרתים לגיטימיים. הפעם האחרונה שצפינו בשימוש ב-DCM בהתקפה הייתה ב-2018.

תיעוד ציבורי

DCM תועד לראשונה על ידי החברה הסינית Jiangmin בשנת 2012, למרות שהוא נותר ללא שם בשלב זה, ולאחר מכן נקרא על ידי Dark Spectre Tencent בשנת 2016.

NSPX30

הדגימה העתיקה ביותר של NSPX30 שמצאנו נערכה ב-6 ביוניth, 2018. ל- NSPX30 תצורת רכיב שונה מזו של DCM מכיוון שהפעולה שלו חולקה לשני שלבים, תוך הסתמכות מלאה על יכולת ה-AitM של התוקף. הקוד של DCM פוצל לרכיבים קטנים יותר.

קראנו לשתל על שם נתיבי PDB שנמצאו בדגימות תוספים:

  • Z:Workspacemm32NSPX30Pluginspluginb001.pdb
  • Z:WorkspaceCodeMMX30ProtrunkMMPluginshookdllReleasehookdll.pdb

אנו מאמינים ש-NSP מתייחס לטכניקת ההתמדה שלו: ה-DLL הטוען המתמשך, אשר בדיסק נקרא msnsp.dll, נקרא בשם פנימי mynsp.dll (לפי נתוני Export Table), כנראה בגלל שהוא מותקן בתור Winsock namesצעד provider (NSP).

לבסוף, למיטב ידיעתנו, NSPX30 לא תועד בפומבי לפני פרסום זה.

ניתוח טכני

באמצעות טלמטריית ESET, קבענו שמכונות נפגעות כאשר תוכנה לגיטימית מנסה להוריד עדכונים משרתים לגיטימיים באמצעות פרוטוקול HTTP (הלא מוצפן). עדכוני תוכנה שנחטפו כוללים את אלה עבור תוכנות סיניות פופולריות כגון Tencent QQ, Sogou Pinyin ו-WPS Office.

איור של שרשרת הביצוע כפי שניתן לראות בטלמטריה של ESET מוצג באיור 8.

איור 8. איור של שרשרת הביצוע הנצפית
איור 8. איור של שרשרת הביצוע הנצפית

בטבלה 2, אנו מספקים דוגמה לכתובת URL וכתובת ה-IP שאליה בוצע פתרון של הדומיין במערכת של המשתמש בזמן ההורדה.

טבלה 2. כתובת URL נצפית, כתובת IP של שרת ושם תהליך של רכיב הורדה לגיטימי

כתובת האתר

נראה לראשונה

כתובת ה-IP

ASN

מוריד

https://dl_dir.qq[.]com/
invc/qq/minibrowser.zip

2021-10-17

183.134.93[.]171

AS58461 (CHINANET)

Tencentdl.exe

על פי טלמטריית ESET ומידע DNS פסיבי, כתובות ה-IP שנצפו במקרים אחרים, משויכות לדומיינים של חברות תוכנה לגיטימיות; רשמנו עד מיליוני חיבורים בחלקם, וראינו רכיבי תוכנה לגיטימיים שהורדו מכתובות ה-IP הללו.

השערת השתלת רשת

כיצד בדיוק התוקפים מסוגלים לספק NSPX30 כעדכונים זדוניים נותר לא ידוע לנו, מכיוון שטרם גילינו את הכלי שמאפשר לתוקפים להתפשר על המטרות שלהם בתחילה.

בהתבסס על הניסיון שלנו עם גורמי איומים מיושרים בסין שמציגים את היכולות הללו (פנדה מתחמקת ו הקוסמים), כמו גם מחקרים עדכניים על שתלי נתב המיוחסים להם BlackTech ו קמארו דרקון (aka מוסטנג פנדה), אנו משערים שהתוקפים פורסים שתל רשת ברשתות של הקורבנות, אולי על מכשירי רשת פגיעים כמו נתבים או שערים.

העובדה שלא מצאנו אינדיקציות להפניית תעבורה דרך DNS עשויה להצביע על כך שכאשר שתל הרשת המשוער מיירט תעבורת HTTP לא מוצפנת הקשורה לעדכונים, הוא עונה עם הטפטפת של השתל NSPX30 בצורה של DLL, קובץ הפעלה או ארכיון ZIP המכיל את ה-DLL.

בעבר, הזכרנו ששתל NSPX30 משתמש ביכולת יירוט מנות של התוקפים על מנת להפוך את תשתית ה-C&C שלו לאנונימית. בתתי הסעיפים הבאים נתאר כיצד הם עושים זאת.

יירוט HTTP

כדי להוריד את הדלת האחורית, המתזמר מבצע בקשת HTTP (איור 9) לאתר האינטרנט של Baidu - מנוע חיפוש וספק תוכנה סיני לגיטימי - עם משהו מיוחד User-Agent מתחזה ל-Internet Explorer ב-Windows 98. התגובה מהשרת נשמרת בקובץ שממנו חולץ רכיב הדלת האחורית ונטען לזיכרון.

איור 9. בקשת HTTP שנשלחה על ידי המתזמר
איור 9. בקשת HTTP שנשלחה על ידי המתזמר

השמיים Request-URI מותאם אישית וכולל מידע מהמתזמר ומהמערכת שנפגעה. בבקשות שלא יורטו, הנפקת בקשה כזו לשרת הלגיטימי מחזירה קוד שגיאה 404. הליך דומה משמש על ידי הדלת האחורית להורדת תוספים, תוך שימוש מעט שונה Request-URI.

שתל הרשת פשוט יצטרך לחפש בקשות HTTP GET www.baidu.com עם הזקן המסוים הזה User-Agent ולנתח את Request-URI כדי לקבוע איזה מטען יש לשלוח.

יירוט UDP

במהלך האתחול שלו, הדלת האחורית יוצרת שקע האזנה UDP פסיבי ומאפשרת למערכת ההפעלה להקצות את היציאה. יכולות להיות סיבוכים עבור תוקפים המשתמשים בדלתות אחוריות פסיביות: למשל, אם חומות אש או נתבים המשתמשים ב-NAT מונעים תקשורת נכנסת מחוץ לרשת. בנוסף, הבקר של השתל צריך לדעת את כתובת ה-IP המדויקת ואת היציאה של המכונה שנפרצה כדי ליצור קשר עם הדלת האחורית.

אנו מאמינים שהתוקפים פתרו את הבעיה האחרונה על ידי שימוש באותה יציאה שבה הדלת האחורית מאזינה לפקודות כדי לסנן גם את הנתונים שנאספו, כך ששתל הרשת יידע בדיוק לאן להעביר את החבילות. הליך חילוץ הנתונים, כברירת מחדל, מתחיל לאחר יצירת השקע, והוא מורכב משאילתות DNS עבור microsoft.com תְחוּם; הנתונים שנאספו מצורפים לחבילת ה-DNS. איור 10 מציג לכידה של שאילתת ה-DNS הראשונה שנשלחה על ידי הדלת האחורית.

איור 10. שאילתת DNS
איור 10. שאילתת DNS שנשלחה על ידי הדלת האחורית; מידע שנאסף מצורף בטקסט פשוט

שאילתת ה-DNS הראשונה נשלחת אל 180.76.76[.]11:53 (שרת שבזמן כתיבת שורות אלו אינו חושף שום שירות DNS) ולכל אחת מהשאילתות הבאות, כתובת ה-IP של היעד משתנה לכתובת העוקבת, כפי שמוצג באיור 11.

איור 11. הודעות DNS שנשלחו על ידי הדלת האחורית
איור 11. הודעות DNS שנשלחו על ידי הדלת האחורית; שימו לב שכתובת ה-IP גדלה באחת עם כל בקשה

השמיים 180.76.76.0/24 הרשת נמצאת בבעלות Baidu, ומעניין, חלק מהשרתים בכתובות IP אלו אכן חושפים שירותי DNS, כגון 180.76.76.76, שהוא של באידו שירות DNS ציבורי.

אנו מאמינים שכאשר מנות שאילתת ה-DNS מיירטות, שתל הרשת מעביר אותן לשרת התוקפים. השתל יכול לסנן בקלות את החבילות על ידי שילוב של מספר ערכים ליצירת טביעת אצבע, למשל:

  • כתובת IP של יעד
  • יציאת UDP (צפינו 53, 4499, ו 8000),
  • מזהה עסקה של התאמת שאילתת ה-DNS 0xFEAD,
  • שם דומיין, ו, 
  • שאילתת DNS עם נתונים זרים מצורפים.

מחשבות סופיות

שימוש ביכולת ה-AitM של התוקפים ליירט מנות היא דרך חכמה להסתיר את המיקום של תשתית C&C שלהם. צפינו בקורבנות שנמצאו מחוץ לסין - כלומר ביפן ובבריטניה - שנגדם הצליח המתזמר לפרוס את הדלת האחורית. לאחר מכן שלחו התוקפים פקודות לדלת האחורית כדי להוריד תוספים; לדוגמה, הקורבן מבריטניה קיבל שני תוספים שנועדו לאסוף מידע וצ'אטים מ-Tencent QQ. לכן, אנו יודעים שמערכת AitM הייתה קיימת ופעלה, ועלינו להניח שגם מנגנון החפירה היה.

חלק מהשרתים - למשל, ב- 180.76.76.0/24 רשת - נראה שכן בכל מקרה, כלומר עשויים להיות מספר שרתים הממוקמים גיאוגרפית ברחבי העולם כדי להשיב לבקשות נכנסות (לגיטימיות). זה מרמז כי יירוט הרשת מבוצע קרוב יותר למטרות ולא קרוב יותר לרשת של Baidu. יירוט מ-ISP סיני גם לא סביר מכיוון שלבאידו יש חלק מתשתית הרשת שלה מחוץ לסין, כך שקורבנות מחוץ לסין לא יכולים לעבור דרך אף ספקית אינטרנט סינית כדי להגיע לשירותי Baidu.

NSPX30

בסעיפים הבאים נתאר את השלבים העיקריים של ביצוע התוכנה הזדונית.

שלב 1

איור 12 ממחיש את שרשרת הביצוע כאשר הרכיב הלגיטימי טוען DLL זדוני של זרוק שיוצר מספר קבצים בדיסק.

איור 12. שרשרת ביצוע ביוזמת ה-DLL של הטפטפת
איור 12. שרשרת ביצוע ביוזמת ה-DLL של הטפטפת

הטפטפת מבצעת RsStub.exe, רכיב תוכנה לגיטימי של המוצר הסיני למניעת תוכנות זדוניות Rising Antivirus, אשר מנוצל לרעה כדי להטעין צד את הזדונים comx3.dll.

איור 13 ממחיש את הצעדים העיקריים שננקטו במהלך הביצוע של רכיב זה.

איור 13. שרשרת טעינה
איור 13. שרשרת הטעינה התחילה מתי RsStub.exe טוען את הזדונים comx3.dll

מתי RsStub.exe שיחות תהליך יציאה, פונקציית הטעינה מ- shellcode מבוצעת במקום קוד פונקציית ה-API הלגיטימי.

הטוען מפענח את ה-DLL של המתקין מהקובץ comx3.dll.txt; לאחר מכן, ה- shellcode טוען את ה-DLL של המתקין בזיכרון וקורא לנקודת הכניסה שלו.

מתקין DLL

המתקין משתמש בטכניקות מעקף של UAC שנלקחו מיישומי קוד פתוח כדי ליצור תהליך מוגבר חדש. באיזה מהם הוא משתמש תלוי במספר תנאים, כפי שניתן לראות בטבלה 3.

טבלה 3. תנאי עיקרי ותתי תנאים בהתאמה שיש לעמוד בהם כדי ליישם טכניקת מעקף UAC

התנאים מאמתים את נוכחותם של שני תהליכים: אנו מאמינים בכך avp.exe הוא מרכיב בתוכנת האנטי זדונית של קספרסקי, ו rstray.exe רכיב של Rising Antivirus.

המתקין מנסה להשבית את הגשת הדוגמאות על ידי Windows Defender, ומוסיף כלל אי ​​הכללה עבור ה-DLL של טוען msnsp.dll. זה עושה זאת על ידי ביצוע שתי פקודות PowerShell דרך cmd.exe:

  • cmd /c powershell -inputformat none -outputformat none -NonInteractive -Command Set-MpPreference -SubmitSamplesConsent 0
  • cmd /c powershell -inputformat none -outputformat none -NonInteractive -Command Add-MpPreference -ExclusionPath "C:Program Files (x86)Common Filesmicrosoft sharedTextConvmsnsp.dll"

לאחר מכן, המתקין מפיל את ה-DLL של הטעינה המתמשכת אל C:Program Files (x86)Common Filesmicrosoft sharedTextConvmsnsp.dll ומבססת עבורו התמדה באמצעות ה-API WSCInstallNameSpace להתקין את ה-DLL בתור א ספק מרחב השמות של Winsock בשם msnsp, כפי שמוצג באיור 14.

איור 14. קוד שמתקין ספק מרחב שמות זדוני של Winsock
איור 14. קוד שמתקין ספק מרחב שמות זדוני של Winsock

כתוצאה מכך, ה-DLL ייטען אוטומטית בכל פעם שתהליך משתמש ב-Winsock.

לבסוף, המתקין מפיל את ה-DLL של הטוען mshlp.dll וה-DLL של התזמר המוצפן WIN.cfg ל C:ProgramDataWindows.

שלב 2

שלב זה מתחיל בביצוע של msnsp.dll. איור 15 ממחיש את שרשרת הטעינה בשלב 2.

איור 15. שרשרת טעינה
איור 15. שרשרת טעינה מופעלת כאשר המערכת טוענת את ספק מרחב השמות הזדוני של Winsock

תזמורת

איור 16 ממחיש את המשימות העיקריות שביצע המתזמר, הכוללות השגת הדלת האחורית וטעינת התוספים.

איור 16. שרשרת ביצוע של רכיבי התזמורת ומשימותיו העיקריות
איור 16. שרשרת ביצוע של רכיבי התזמורת ומשימותיו העיקריות

כאשר הוא טעון, המתזמר יוצר שני חוטים לביצוע משימותיו.

שרשור תזמורת 1

המתזמר מוחק את קובץ הטפטפת המקורי מהדיסק, ומנסה לטעון את הדלת האחורית ממנו msfmtkl.dat. אם הקובץ לא קיים או לא נפתח, המתזמר משתמש בממשקי Windows Internet API כדי לפתוח חיבור לאתר הלגיטימי של החברה הסינית Baidu כפי שהוסבר קודם לכן.

התגובה מהשרת נשמרת בקובץ זמני בכפוף להליך אימות; אם כל התנאים מתקיימים, המטען המוצפן שנמצא בתוך הקובץ נכתב לקובץ חדש ושמו שונה ל- msfmtkl.dat.

לאחר יצירת הקובץ החדש עם המטען המוצפן, המתזמר קורא את תוכנו ומפענח את המטען באמצעות RC4. ה-PE המתקבל נטען לזיכרון ונקודת הכניסה שלו מבוצעת.

שרשור תזמורת 2

בהתאם לשם התהליך הנוכחי, המתזמר מבצע מספר פעולות, כולל טעינת תוספים, והוספת אי הכללות לרשימת ההיתרים של ה-DLL של הטוען במסד הנתונים המקומיים של שלושה מוצרי תוכנה נגד תוכנות זדוניות ממוצא סיני.

טבלה 4 מתארת ​​את הפעולות הננקטות כאשר שם התהליך תואם לזה של חבילת תוכנת אבטחה שבה המתזמר יכול לרשום את הטעינים שלו.

טבלה 4. פעולות תזמורת בעת ביצוע בתהליך עם שם של תוכנת אבטחה ספציפית

שם תהליך

תוכנה ממוקדת

פעולה

qqpcmgr.exe

qqpctray.exe

qqpcrtp.exe

מנהל מחשב טנסנט

ניסיונות לטעון את ה-DLL הלגיטימי TAVinterface.dll כדי להשתמש בפונקציה המיוצאת CreateTaveInstance להשיג ממשק. כאשר קוראים לפונקציה שנייה מהממשק, היא מעבירה נתיב קובץ כפרמטר.

360safe.exe

360tray.exe

360 Safeguard (המכונה גם 360Safe)

ניסיונות לטעון את ה-DLL הלגיטימי deepscancloudcom2.dll כדי להשתמש בפונקציות המיוצאות XDOopen, XDAddRecordsEx, ו XDClose, הוא מוסיף ערך חדש בקובץ מסד הנתונים של SQL speedmem2.hg.

360sd.exe

360 אנטי-וירוס

ניסיונות לפתוח את הקובץ sl2.db כדי להוסיף מבנה בינארי מקודד base64 המכיל את הנתיב ל-DLL הטוען.

kxescore.exe

kxetray.exe

אנטי וירוס של Kingsoft

ניסיונות לטעון את ה-DLL הלגיטימי securitykxescankhistory.dll כדי להשתמש בפונקציה המיוצאת KSDllGetClassObject להשיג ממשק. כאשר הוא קורא לאחת הפונקציות מה-vtable, הוא מעביר נתיב קובץ כפרמטר.

טבלה 5 מתארת ​​את הפעולות הננקטות כאשר שם התהליך תואם לזה של תוכנת הודעות מיידיות נבחרות. במקרים אלו, המתזמר טוען תוספים מהדיסק.

טבלה 5. פעולות אוכסטרטור בעת ביצוע בתהליך עם שם תוכנת הודעות מיידיות ספציפיות

שם תהליך

תוכנה ממוקדת

פעולה

qq.exe

טנסנט QQ

ניסיונות ליצור mutex בשם קבל נעילת הודעות QQ. אם ה-mutex לא קיים כבר, הוא טוען את התוספים c001.dat, c002.dat, ו c003.dat מהדיסק.

wechat.exe

WeChat

טוען תוסף c006.dat.

telegram.exe

מברק

טוען תוסף c007.dat.

skype.exe

סקייפ

טוען תוסף c003.dat.

cc.exe

לא ידוע; יִתָכֵן CloudChat.

raidcall.exe

Raidcall

yy.exe

לא ידוע; אולי בקשה מ רשת חברתית YY.

aliim.exe

עליוואנגואנג

טוען תוסף c005.dat.

לאחר השלמת הפעולות המתאימות, השרשור חוזר.

תוספים קבוצת "ג"

מהניתוח שלנו של קוד התזמר, אנו מבינים שלפחות שישה תוספים של קבוצת "c" עשויים להתקיים, מתוכם רק שלושה ידועים לנו בשלב זה.

טבלה 6 מתארת ​​את הפונקציונליות הבסיסית של התוספים שזוהו.

טבלה 6. תיאור התוספים מקבוצה "ג"

שם הפלאגין

תיאור

c001.dat

גונב מידע ממסדי נתונים של QQ, כולל אישורים, יומני צ'אט, רשימות אנשי קשר ועוד.

c002.dat

מחברים מספר פונקציות של Tencent QQ KernelUtil.dll ו Common.dll לזכרו של ה QQ.exe תהליך, המאפשר יירוט של הודעות ישירות וקבוצתיות, ושאילתות SQL לבסיסי נתונים.

c003.dat

מחברים מספר ממשקי API:

- CoCreateInstance

- waveInOpen

- waveInClose

- waveInAddBuffer

- waveOutOpen

- waveOutWrite

- waveOutClose

זה מאפשר לפלאגין ליירט שיחות שמע במספר תהליכים.

אחורית

כבר שיתפנו כמה פרטים על המטרה הבסיסית של הדלת האחורית: לתקשר עם הבקר שלה ולחלץ נתונים שנאספו. התקשורת עם הבקר מבוססת בעיקר על כתיבת נתוני תצורת תוסף לקובץ לא מוצפן בשם license.dat, והפעלת פונקציונליות מתוספים טעונים. טבלה 7 מתארת ​​את הפקודות הרלוונטיות ביותר המטופלות על ידי הדלת האחורית.

טבלה 7. תיאור של חלק מהפקודות המטופלות על ידי הדלת האחורית

מזהה פקודה

תיאור

0x04

יוצר או סוגר מעטפת הפוכה ומטפל בקלט ופלט.

0x17

מעביר קובץ עם נתיבים שסופק על ידי הבקר.

0x1C

מסיר את השתל.

0x1E

אוספת מידע על קבצים מספרייה שצוינה, או אוספת מידע של הכונן.

0x28

מסיים תהליך עם PID שניתן על ידי הבקר.

קבוצות הפלאגין "a" ו-"b"

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

טבלה 8. תיאורים של קבוצות התוספים "a" ו-"b" המוטמעות בדלת האחורית

שם הפלאגין

תיאור

a010.dat

אוסף מידע תוכנה מותקנת מהרישום.

b010.dat

מצלם צילומי מסך.

b011.dat

Keylogger בסיסי.

סיכום

ניתחנו התקפות ויכולות של שחקן איומים שקראנו לו בלקווד, שביצע פעולות ריגול סייבר נגד אנשים וחברות מסין, יפן ובריטניה. מיפינו את האבולוציה של NSPX30, השתל המותאם אישית שנפרס על ידי Blackwood, כל הדרך חזרה לשנת 2005 לדלת אחורית קטנה שקראנו לה Project Wood.

באופן מעניין, נראה ששתל Project Wood משנת 2005 הוא עבודתם של מפתחים בעלי ניסיון בפיתוח תוכנות זדוניות, בהתחשב בטכניקות שיושמו, מה שמוביל אותנו להאמין שעדיין לא נגלה עוד על ההיסטוריה של הדלת האחורית הקדמונית.

לכל שאלה לגבי המחקר שלנו שפורסם ב-WeLiveSecurity, אנא צור איתנו קשר בכתובת [מוגן בדוא"ל].
ESET Research מציע דוחות מודיעין פרטיים של APT והזנות נתונים. לכל שאלה לגבי שירות זה, בקר באתר ESET Threat Intelligence עמוד.

IOCs

קבצים

SHA-1

שם הקובץ

שם זיהוי ESET

תיאור

625BEF5BD68F75624887D732538B7B01E3507234

minibrowser_shell.dll

Win32/Agent.AFYI

טפטפת ראשונית של NSPX30.

43622B9573413E17985B3A95CBE18CFE01FADF42

comx3.dll

Win32/Agent.AFYH

מטעין עבור המתקין.

240055AA125BD31BF5BA23D6C30133C5121147A5

msnsp.dll

Win32/Agent.AFYH

מעמיס מתמשך.

308616371B9FF5830DFFC740318FD6BA4260D032

mshlp.dll

Win32/Agent.AFYH

מטעין למתזמר.

796D05F299F11F1D78FBBB3F6E1F497BC3325164

comx3.dll.txt

Win32/TrojanDropper.Agent.SWR

מתקין מפוענח.

82295E138E89F37DD0E51B1723775CBE33D26475

WIN.cfg

Win32/Agent.AFYI

מתזמר מפוענח.

44F50A81DEBF68F4183EAEBC08A2A4CD6033DD91

msfmtkl.dat

Win32/Agent.VKT

דלת אחורית מפוענחת.

DB6AEC90367203CAAC9D9321FDE2A7F2FE2A0FB6

c001.dat

Win32/Agent.AFYI

תוסף אישורים וגניבת נתונים.

9D74FE1862AABAE67F9F2127E32B6EFA1BC592E9

c002.dat

Win32/Agent.AFYI

תוסף יירוט הודעות Tencent QQ.

8296A8E41272767D80DF694152B9C26B607D26EE

c003.dat

Win32/Agent.AFYI

תוסף לכידת אודיו.

8936BD9A615DD859E868448CABCD2C6A72888952

a010.dat

Win32/Agent.VKT

תוסף אספן מידע.

AF85D79BC16B691F842964938C9619FFD1810C30

b011.dat

Win32/Agent.VKT

תוסף Keylogger.

ACD6CD486A260F84584C9FF7409331C65D4A2F4A

b010.dat

Win32/Agent.VKT

תוסף לכידת מסך.

רשת

IP

תְחוּם

ספק אירוח

נראה לראשונה

פרטים

104.193.88[.]123

www.baidu[.]com

Beijing Baidu Netcom Science and Technology Co., Ltd.

2017-08-04

אתר לגיטימי שאליו פנה המתזמר ורכיבי הדלת האחורית כדי להוריד מטענים. בקשת ה-HTTP GET יורטה על ידי AitM.

183.134.93[.]171

dl_dir.qq[.]com

IRT‑CHINANET‑ZJ

2021-10-17

חלק מכתובת האתר שממנה הורדת הטפטפת על ידי תוכנה לגיטימית.

טכניקות MITER ATT & CK

שולחן זה נבנה באמצעות גרסה 14 במסגרת MITER ATT&CK.

טקטיקה

ID

שם

תיאור

פיתוח משאבים

T1587.001

פיתוח יכולות: תוכנות זדוניות

בלאקווד השתמש בשתל מותאם אישית בשם NSPX30.

גישה ראשונית

T1195

פשרה על שרשרת האספקה

רכיב הטפטוף של NSPX30 נמסר כאשר בקשות עדכון תוכנה לגיטימיות יורטו באמצעות AitM.

הוצאה לפועל

T1059.001

מתורגמן פקודות וסקריפטים: PowerShell

רכיב ההתקנה של NSPX30 משתמש ב-PowerShell כדי להשבית את הגשת הדוגמאות של Windows Defender, ומוסיף אי הכללה עבור רכיב טוען.

T1059.003

מתורגמן פקודות ותסריטים: מעטפת הפקודות של Windows

המתקין של NSPX30 יכול להשתמש cmd.exe כאשר מנסים לעקוף את UAC.

הדלת האחורית של NSPX30 יכולה ליצור מעטפת הפוכה.

T1059.005

מתורגמן פקודות וסקריפטים: Visual Basic

המתקין של NSPX30 יכול להשתמש ב-VBScript בעת ניסיון לעקוף את UAC.

T1106

ממשק API מקומי

שימוש במתקין ודלת אחורית של NSPX30 CreateProcessA/W ממשקי API לביצוע רכיבים.

התמדה

T1574

זרימת ביצוע חטיפה

המטען של NSPX30 נטען אוטומטית לתהליך כאשר Winsock מופעל.

הסלמת פריבילגיות

T1546

ביצוע אירוע מופעל

המתקין של NSPX30 משנה את הרישום כדי לשנות ערך מפתח לחצן מדיה (APPCOMMAND_LAUNCH_APP2) כדי להצביע על קובץ ההפעלה של הטוען שלו.

T1548.002

מנגנון בקרת גובה לרעה: עוקף את בקרת חשבון המשתמש

המתקין של NSPX30 משתמש בשלוש טכניקות כדי לנסות לעקוף UAC.

התחמקות הגנה

T1140

בטל/פענח קבצים או מידע

קובצי המתקין, המתזמר, הדלת האחורית וקובצי התצורה של NSPX30 מפוענחים באמצעות RC4, או שילובים של הוראות סיביות וחשבוניות.

T1562.001

פגיעה בהגנה: השבת או שנה כלים

המתקין של NSPX30 משבית את ההגשה לדוגמה של Windows Defender, ומוסיף אי הכללה עבור רכיב טוען.

המתזמר של NSPX30 יכול לשנות את מסדי הנתונים של תוכנות האבטחה כדי לרשום את רכיבי הטעינה שלה. תוכנה ממוקדת כוללת: Tencent PC Manager, 360 Safeguard, 360 Antivirus ו- Kingsoft AntiVirus.

T1070.004

הסרת אינדיקטור: מחיקת קובץ

NSPX30 יכול להסיר את הקבצים שלו.

T1070.009

הסרת אינדיקטור: התמדה ברורה

NSPX30 יכול להסיר את העמידות שלו.

T1202

ביצוע פקודה עקיפה

תוכנית ההתקנה של NSPX30 מפעילה את PowerShell דרך ה- Command Shell של Windows.

T1036.005

התחזות: התאם לשם או מיקום לגיטימיים

הרכיבים של NSPX30 מאוחסנים בתיקייה הלגיטימית %PROGRAMDATA%Intel.

T1112

שנה את הרישום

המתקין של NSPX30 יכול לשנות את הרישום בעת ניסיון לעקוף את UAC.

T1027

קבצים או מידע מעורפלים

הרכיבים של NSPX30 מאוחסנים מוצפנים בדיסק.

T1027.009

קבצים או מידע מעורפלים: מטענים מוטבעים

הטפטפת של NSPX30 מכילה רכיבים משובצים.

המטען של NSPX30 מכיל קוד מעטפת מוטבע.

T1218.011

ביצוע פרוקסי בינארי של המערכת: Rundll32

ניתן לטעון את תוכנית ההתקנה של NSPX30 rundll32.exe.

גישה לאישור

T1557

יריב-באמצע

שתל NSPX30 מועבר לקורבנות באמצעות התקפות AitM.

T1555

אישורים מחנויות סיסמאות

תוסף NSPX30 c001.dat יכול לגנוב אישורים ממאגרי מידע של Tencent QQ.

גילוי פערים

T1083

גילוי קבצים וספריות

הדלת האחורית והתוספים של NSPX30 יכולים לרשום קבצים.

T1012

רישום שאילתות

NSPX30 a010.dat התוסף אוסף מידע מגוון של תוכנות מותקנות מהרישום.

T1518

גילוי תוכנה

NSPX30 a010.dat התוסף אוסף מידע מהרישום.

T1082

גילוי מידע מערכת

הדלת האחורית של NSPX30 אוספת מידע מערכת.

T1016

גילוי תצורת רשת מערכת

הדלת האחורית של NSPX30 אוספת מידע מגוון של מתאמי רשת.

T1049

גילוי חיבורי רשת מערכת

הדלת האחורית של NSPX30 אוספת מידע על מתאם רשת.

T1033

גילוי בעל מערכת/משתמש

הדלת האחורית של NSPX30 אוספת מידע מערכת ומשתמש.

אוספים

T1056.001

לכידת קלט: רישום מקשים

תוסף NSPX30 b011.dat הוא keylogger בסיסי.

T1560.002

ארכיון נתונים שנאספו: ארכיון באמצעות ספריה

תוספים של NSPX30 דוחסים מידע שנאסף באמצעות zlib.

T1123

לכידת אודיו

תוסף NSPX30 c003.dat מקליט זרמי שמע קלט ופלט.

T1119

איסוף אוטומטי

המתזמר והדלת האחורית של NSPX30 מפעילים תוספים אוטומטית כדי לאסוף מידע.

T1074.001

נתונים מבוימים: בימוי נתונים מקומיים

התוספים של NSPX30 מאחסנים נתונים בקבצים מקומיים לפני המעבר.

T1113

לכידת מסך

תוסף NSPX30 b010.dat לוקח צילומי מסך.

פיקוד ובקרה

T1071.001

פרוטוקול שכבת האפליקציות: פרוטוקולי אינטרנט

רכיבי התזמור והדלת האחורית של NSPX30 מורידים עומסים באמצעות HTTP.

T1071.004

פרוטוקול שכבת יישומים: DNS

הדלת האחורית של NSPX30 מסננת את המידע שנאסף באמצעות DNS.

T1132.001

קידוד נתונים: קידוד רגיל

נתונים שנאספו עבור exfiltration נדחסים עם zlib.

T1001

ערפול נתונים

הדלת האחורית של NSPX30 מצפינה את תקשורת C&C שלה.

T1095

פרוטוקול Non-Applic Layer Protocol

הדלת האחורית של NSPX30 משתמשת ב-UDP עבור תקשורת C&C שלה.

T1090

פרוקסי

התקשורת של NSPX30 עם שרת ה-C&C שלו מתבצעת באמצעות פרוקסי על ידי רכיב לא מזוהה.

exfiltration

T1020

Exfiltration אוטומטי

כאשר זמין, הדלת האחורית של NSPX30 מסננת אוטומטית כל מידע שנאסף.

T1030

מגבלות גודל של העברת נתונים

הדלת האחורית של NSPX30 מסננת נתונים שנאספו באמצעות שאילתות DNS עם גודל מנות קבוע.

T1048.003

Exfiltration Over Alternative Protocol: Exfiltration Over Unencrypted Non-C2 Protocol

הדלת האחורית של NSPX30 מסננת את המידע שנאסף באמצעות DNS.

ספוט_ימג

המודיעין האחרון

ספוט_ימג