?!Windows Task Scheduler Privilege Escalation 0day - Stuxnet

במהלך היום האחרון פורסם אקספלויט שמנצל חולשת Privileage Escalation חדשה במערכת Windows בגרסאות Vista ומעלה.
את המימוש לאקספלויט (בלי שום מידע נוסף) אפשר לראות בקישור הבא: 
http://www.exploit-db.com/exploits/15589

המימוש פורסם ב-Exploit-db ע"י webDEViL- ולא כלל שום מידע נוסף, לא CVE ולא כלום.
לאחר חיפוש קצר בגוגל הגעתי לעמוד הבא ב-VUPEN:
http://www.vupen.com/english/advisories/2010/2761

וכמובן ששם יש את כל המידע... חוץ מהקוד עצמו :)
בכל אופן, לפי מה שיש ב-VUPEN, מדובר מדובר בפירוט לאחת החולשות שנוצלה ע"י ה-Stuxnet, שימו לב מה שנכתב שם:
 
A vulnerability has been identified in Microsoft Windows, which could be exploited by local attackers to take complete control of a vulnerable system. This issue is caused by an access validation error in the Task Scheduler service that failes to prevent users from manipulating certain fields in schema XML files via the Component Object Model (COM) interface, which could allow malicious users to manipulate a valid XML file and bypass the CRC32 integrity checks to execute arbitrary code with SYSTEM privileges.
 
This vulnerability is one of the unpatched issues being exploited by the Stuxnet malware. 
 
בנוסף, נכתב שם:
 
Vulnerability discovered in the wild, and in-depth research by VUPEN Security.

אם נעבור על הקוד של webDEViL - נוכל לראות שזה בדיוק מה שהולך שם: 
בתחילה הקוד, יש לנו את האיתחול של ה-"crc_table":
CRC_INIT
 
יצירת קובץ ה-"Batch", ה-Payload של המתקפה:
Payload
 
לאחר מכן יש לנו את יצירת קובץ ה-XML שאחראי להרצת ה-Payload:
XML Triger 

וטעינת ה-Task Scheduler:
Load

 
 
הדגמה:
הרצה של הקוד על מערכת פגיעה (שאלתי מאישתי את המחשב שלה בכדי לבדוק זאת) תחת יוזר לא מוגבל אכן עברה בהצלחה:
רשימת המשתמשים על המחשב:
USERS LIST 

ניסיון הוספת משתמש באופן ישיר:
ADD_USER 

הרצת ה-PoC: 
PoC 
 
ניתן לשים לב שנוצר קובץ ה-XML:
ADD
 
בנוסף לקובץ ה-Batch: 
BATCH 
 
לאחר הרצת ה-PoC, ניתן לראות כי אכן הפקודה רצה בהצלחה ונוסף המשתמש "test1234":
USER_LISE2 
  
והרצה תחת יוזר מוגבל חזרה עם Error 5.
 
 
לא אופן הניצול, אבל המנגנון המנוצל- והתוצאה בהחלט מזכירה את ה-Privilege Escalation שהיה ב-AT מערכות Windows ישנות
יותר. כתבתי את הפוסט הזה בלי יותר מדי מחקר מקיף- ואני מאמין שבימים הקרובים יהיו התפתחויות לגבי הקוד ולגבי החולשה.
אעדכן כאן במהלך הזמן. 
 
 
 
 
 




תגובות על '?!Windows Task Scheduler Privilege Escalation 0day - Stuxnet':



#1 

Oink (אורח):
לפי איך שהצגת את זה- לדעתי אין סיכוי שזאת לא החולשה שה-Stuxnet ניצלה - פוסט מעניין, תודה רבה!
20.11.2010 19:24:55

#2 

sdimant:
וואלה, פוסט ממש מעניין.
תודה רבה רבה!
20.11.2010 19:54:08

#3 

שמיל (אורח):
ניתוח והשוואה יפה- אפשר לברר את זה ע"י ניתוח של ה-Stuxnet..
20.11.2010 20:59:02

#4 

cp77fk4r:
בהחלט, לא יהיה קשה לענות על השאלה הזאת- רק צריך קצת זמן, וכמו שאמרתי- אעדכן בהמשך.
20.11.2010 21:18:10

#5 

גיא רון (אורח):
בהחלט מעניין, השאלה היא- במידה וזה אכן הקוד שנוצל על ידי הסטאקסנט- למה מיקרוסופט לא הוציאו טלאי?
20.11.2010 22:38:32

#6 

קופאץ׳ (אורח):
משהו ששווה לחקור! תודה רבה על המידע.
21.11.2010 20:33:10

#7 

גידי (אורח):
הרצתי ונהנתי - ממש מפתיע.

נכנס לאוסף כלים שלי, אני מחפש עכשיו גם אחד ל XP
22.11.2010 18:58:43

#8 

sdimant:
works like a charm....
סיפרתי את זה למרצה שלי בקורס IT, התגובה שלו הייתה: "תעשה מה שאתה רוצה על המחשבים, לא סיפרת לי כלום". טוב אז עשיתי, ועבד כמו קינג! אז אני זורק לו, בואנ'ה אחי עובד מעולה. והתגובה שלו: "אין לי מושג על מה אתה מדבר, אבל תשים את זה בכונן המשותף" ;)
22.11.2010 20:18:36

#9 

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

sdimant- הקוד כתוב ב-windows script, כך שאין בעיה לקרוא מה כתוב בו ולהבין מה הוא עושה והאם הוא עושה דברים מזיקים- כך שזה לא באמת סיכון, אבל בכל זאת- המרצה שלך זורם ;)
22.11.2010 20:42:37

#10 

cp77fk4r:
אגב גידי- למה מפתיע, בדרך כלל אתה קורא כאן דברים לא נכונים? :)
22.11.2010 20:43:36

#11 

sdimant:
סיפי-לייק על התגובה האחרונה ;)
והמרצה שלי בכלל לא בדק את הקוד. וכן, הוא זורם!
אגב, אני לא הבנתי מה קורה בתחילת הקוד (האיתחול של ה-"crc_table") חיפשתי בגוגל crc_table ולא מצאתי משהו שנראה לי קשור.
22.11.2010 21:24:01

#12 

דימיטרי (אורח):
תודה רבה! אגב, אני עוקב אחריכם מאז הקמתכם ורציתי להגיד כל הכבוד על הגליונות והמאמרים המצוינים! אתם מפגינים רמה מעולה!

אני כרגע לומד רשתות ובאחד מהקורסים המרצה הפנה את הכיתה לאתר הזה- די הופתעתי :)
23.11.2010 20:15:45

#13 

sdimant:
נראה לי שאפשר להפוך את סימן השאלה בכותרת הפוסט לסימן קריאה:
http://threatpost.com/en_us/blogs/exploit-code-stuxnet-windows-task-scheduler-bug-posted-112310
23.11.2010 20:23:46

#14 

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

הראשון:
http://threatpost.com/en_us/blogs/exploit-code-stuxnet-windows-task-scheduler-bug-posted-112310

השני:
http://www.h-online.com/security/news/item/Exploit-released-for-unpatched-Stuxnet-hole-1140196.html


עכשיו נשאר לשאול את השאלה שנשאלה פה באחת התגובות. :)
23.11.2010 20:26:29

#15 

cp77fk4r:
נו באמת  sdimant! עקפת אותי רק בגלל שנאלצתי לכתוב את התגובה דרך ה-IPhone! ;) סתם.. תודה על העדכון!
23.11.2010 20:28:39

#16 

sdimant:
D-:
23.11.2010 22:08:58

#17 

חוזה המדינה (אורח):
נחמד... חומר טוב! תודה רבה!
24.11.2010 19:55:55

#18 

Hero (אורח):
למה באמת עדיין לא יצא טלאי באמת?:O
24.11.2010 21:25:28

#19 

sdimant:
another elevation of privileges under Windows Vista/7:
http://www.exploit-db.com/exploits/15609/
24.11.2010 21:48:33

#20 

cp77fk4r:
יפה sdimant!
25.11.2010 07:06:28

#21 

sdimant:
תודה סיפי! :-D
25.11.2010 08:06:58

#22 

kt nabv (אורח):
והנה הPOC לsdimant,
http://pastebin.com/ReCGfJSf
תודה לגוסטבו דה-לימה
25.11.2010 10:25:33

#23 

kman (אורח):
sdimant יפה!
מאיפה אתה מקבל את העדכונים?
25.11.2010 11:16:14

#24 

sdimant:
התחלתי לעבור על העדכונים בexploit-db. ובthreatpost.
26.11.2010 08:40:36

#25 

כסיף דקל (אורח):
נחמד מאוד :)
26.11.2010 09:37:29

#26 

cp77fk4r:
הפוסט המקורי של מה ש-sdimant הביא לא זמין, ניתן לקרוא אותו מכאן:
http://din.gy/19915

27.11.2010 22:45:16

#27 

cp77fk4r:
נמצאו גרסאות חדשות יחסית של ה-TDL4 שמשתמשות באותה החולשה:
http://din.gy/6oYR4

07.12.2010 23:25:31

#28 

cp77fk4r:
עוד חולשת Privilege Escalation - הפעם בקרנל של לינוקס (בגרסאות עד 2.6.37) - מדובר בניצול של שלושה חולשות שונות בכדי להגיע להרשאות Root מלאות על המערכת.

פירוט מלא אפשר למצוא ב-Full Disclosure או ב-Exploit-DB בקישור הבא:
 http://www.exploit-db.com/exploits/15704
08.12.2010 21:26:29

#29 

sdimant (אורח):
תודה רבה!
08.12.2010 21:35:38

#30 

N0X (אורח):
וואו הבן אדם מוכשר ברמות!
09.12.2010 06:43:28

#31 

cp77fk4r:
אחד העדכונים מגל העדכונים האחרון של מיקרוסופט סידר את החולשה הנ״ל:
http://bit.ly/fwj22I

15.12.2010 08:40:40

#32 

אלצ'קו (אורח):
שוב אותה שטות? שוב?
אין בגליון הראשון שום "אקספלויט שמשתמש ב-AT". יש שם שתי טעויות עצובות.

1. לעבור ממשתמש "לא מוגבל" (או בלי התחכמויות - אדמין) ל-LOCAL_SYSTEM זה לא PE. זה כמו להגיד שלפתוח פורטים, לבטל את הפיירוול, או לתת הרשאות ל-RDP ממשתמש "לא מוגבל" זה PE. לא זה לא. זה ביצוע עוד אחת ממיליון הפעולות שאדמין __אמור__ לבצע.

2. מה ש-AT.EXE מאפשר לעשות זה להריץ EXE רגיל. לא RING 0 ולא בטיח.

חשבתי שסגנו את הנושא, אבל מסתבר שלפעמים חוזרים על שטויות כשאין מי שיזכיר לאנשים לא להגיד אותן.
21.12.2010 17:45:18

#33 

cp77fk4r:
היי אלצ׳קו, אף אחד לא טען שהאקספלויט הנ״ל מריץ קוד מה-Ring0 (ובקשר לקוד הקודם- זכור לי שזה תוקן במאמר הראשון, מוזר לי שזה מופיע שם, אבדוק זאת), הקוד הנ״ל עוקף את מנגנון ה-UAC.

בכל אופן, תודה רבה על העירנות :)
22.12.2010 06:52:45

#34 

cp77fk4r:
צודק בהחלט- הטעות בנ״ל עדיין מופיעה שם, אתקן זאת ברגע שאחזור לבית.
שוב, תודה רבה על העירנות!
22.12.2010 06:57:22

#35 

אלצ'קו (אורח):
"נהג, זכור - עירנות מונעת אסון!" :)
22.12.2010 18:26:26

#36 

cp77fk4r:
זהו, הגעתי הביתה ועדכנתי את הקובץ, אין שום זכר ל-Ring0, שוב, תודה רבה על העירנות!

בקשר להבדלים בין Admin ל-System, אני מאמין שנשאר חלוקים בעניין. :)
22.12.2010 21:33:03

#37 

sdimant:
סיפי, אני לא מבין למה אלצ'קו לא צודק?
23.12.2010 01:32:56

#38 

cp77fk4r:
כי החשבון SYSTEM בהגדרה לא מקביל לחשבון של מנהלי מערכת ההפעלה. לדוגמא: חשבון ה-SYSTEM רץ עם Privilege Token תמידי וחשבון אדמין ירוץ איתו חד פעמית רק לאחר שהוא אישר זאת ב-UAC שיפתח לאחר האצת פקודה טו ביצוע פעולה הדורשת זאת.

כאשר אתה מעוניין להריץ קוד אוטומטית עם הרשאות גבוהות- בחשבון המנהל אתה תחסם עד שיאשרו אותך ותחת הסיסטם אתה תוכל לבצע זאת בלי אישורו של המשתמש.
23.12.2010 17:37:34

#39 

אלצ'קו (אורח):
בוא נדייק:
1. כל משחקי ה-UAC קיימים רק בויסטה ומעלה.
2. מה שכתבת איננו נכון תמיד, אלא תלוי בהגדרות. UAC אפשר לכבות, וב-GP אפשר לשחק עם כל הדברים האלה.
3. בעיה של חלון UAC בדיפולט קיימת רק בויסטה. בווינדוס 7 יש באג מפגר מסוג "this behavior is by design" שמאפשר לאדמין לדלג על חלון ה-UAC גם כש-UAC דולק.

אבל חשוב מכל, כדי לייצר scheduled task שירוץ בהרשאות גבוהות - וזה לא משנה אם זה אדמין, או LOCAL_SYSTEM, או כל דבר אחר - **בהתחלה** חייבים להריץ AT או SCHTASKS מחלון CMD בהרשאות גבוהות, וכשפותחים את החלון הזה, קופץ חלון ה-UAC...
(אא"כ אתה בהגדרות דיפולטיות של וינדוס 7, כמו שאמרתי למעלה.)

כמו שלהריץ תוכנה כאדמין, תוך אישור בחלון ה-UAC, ולהשאיר אותה רצה 14 שעות, זה לא PE - כך גם להריץ AT, תוך אישור בחלון ה-UAC, ולקבוע לו להריץ תוכנה אחרת בעוד 14 שעות זה לא PE.
בשני המקרים, חייבים לעבור דרך חלון ה-UAC (או שלא, תלוי בהגדרות המערכת), ובשני המקרים, מקבלים בדיוק אותן הרשאות (כי ברגע שפרוסס עבר את ה-UAC ויוצר פרוסס חדש, הוא יורש את ה-TOKEN שלו, ולא צריך לעבור UAC).
24.12.2010 00:43:13

#40 

turj (אורח):
קבלו לינק חדש שמפנה לקוד - כמובן לאחר שהונדס לאחור

http://www.pentestit.com/2011/07/04/stuxnet-source-code-online/
05.07.2011 23:05:19

#41 

cp77fk4r:
זה לא באמת הסורס של התולעת, הפעילו עליה Hex-Rays וזהו.
06.07.2011 22:30:11

#42 

Doron (אורח):
איך "קימפלת" את זה ?
16.05.2013 00:58:35



הוסף את תגובתך:
כינוי:
תגובה:
קוד אבטחה:
העתק לכאן את הקוד:
 
Digital Whisper © 2009 - 2014 - כל הזכויות שמורות ל-אפיק קסטיאל ול-ניר אדר.