مارچ 2019 ۾، سائبر گروپ OceanLotus مان macOS مالويئر جو هڪ نئون نمونو اپلوڊ ڪيو ويو وائرس ٽوٽل، هڪ مشهور آن لائن اسڪيننگ سروس. پوئين دروازي تي عمل ڪرڻ واري فائل ۾ ساڳيون صلاحيتون آهن جيئن macOS مالويئر جي پوئين ورزن جو اسان مطالعو ڪيو، پر ان جي جوڙجڪ تبديل ٿي وئي آهي ۽ ان کي ڳولڻ وڌيڪ ڏکيو ٿي ويو آهي. بدقسمتي سان، اسان هن نموني سان لاڳاپيل هڪ ڊراپر ڳولڻ ۾ ناڪام هئاسين، تنهنڪري اسان اڃا تائين انفڪشن ویکٹر کي نٿا ڄاڻون.
اسان تازو شايع ڪيو
تجزيو
ايندڙ ٽي حصا SHA-1 هيش سان نموني جي تجزيو کي بيان ڪن ٿا E615632C9998E4D3E5ACD8851864ED09B02C77D2
. فائل سڏيو ويندو آهي ٽارچ, ESET اينٽي وائرس پروڊڪٽس ان کي OSX/OceanLotus.D.
مخالف ڊيبنگ ۽ سينڊ باڪس تحفظ
سڀني macOS OceanLotus بائنري وانگر، نموني UPX سان ڀريل آهي، پر اڪثر پيڪيڪر جي سڃاڻپ جا اوزار ان کي نه سڃاڻندا آهن جيئن. اهو شايد ان ڪري آهي ڇاڪاڻ ته اهي گهڻو ڪري "UPX" اسٽرنگ جي موجودگي تي منحصر دستخط تي مشتمل آهن، اضافي طور تي، Mach-O دستخط گهٽ عام آهن ۽ اڪثر طور تي اپڊيٽ نه ڪيا ويا آهن. هي خاصيت جامد ڳولڻ ڏکيو بڻائي ٿو. دلچسپ ڳالهه اها آهي ته، پيڪنگ ڪرڻ کان پوء، داخلا پوائنٽ سيڪشن جي شروعات ۾ آهي __cfstring
ڀاڱي ۾ .TEXT
. ھن حصي ۾ جھنڊو خاصيتون آھن جيئن ھيٺ ڏنل تصوير ۾ ڏيکاريل آھي.
شڪل 1. MACH-O __cfstring سيڪشن خاصيتون
جيئن تصوير 2 ۾ ڏيکاريل آهي، سيڪشن ۾ ڪوڊ جڳهيون __cfstring
توهان کي اجازت ڏئي ٿو ته ڪجهه ڌار ڪرڻ وارا اوزار چال ڪرڻ جي ذريعي ڪوڊ ڏيکاريندي تارن جي طور تي.
شڪل 2. IDA پاران ڊيٽا جي طور تي پٺتي پيل ڪوڊ
هڪ دفعو عمل ڪيو ويو، بائنري هڪ ڌاڳو ٺاهي ٿو هڪ اينٽي ڊيبگر جي طور تي جنهن جو واحد مقصد مسلسل ڊيبگر جي موجودگي جي جانچ ڪرڻ آهي. هن وهڪري لاء:
- ڪنهن به ڊيبگر کي هٽائڻ جي ڪوشش ڪري ٿو، ڪالنگ ptrace
с PT_DENY_ATTACH
درخواست پيٽرولر جي طور تي
- چيڪ ڪري ٿو ته ڪي خاص بندرگاهن هڪ فنڪشن کي ڪال ڪندي کليل آهن task_get_exception_ports
- چيڪ ڪري ٿو ته ڊيبگر ڳنڍيل آهي، جيئن هيٺ ڏنل شڪل ۾ ڏيکاريل آهي، پرچم جي موجودگي کي جانچ ڪندي P_TRACED
موجوده عمل ۾
شڪل 3. sysctl فنڪشن استعمال ڪندي ڊيبگر ڪنيڪشن جي جانچ ڪندي
جيڪڏهن واچ ڊاگ ڊيبگر جي موجودگي کي ڳولي ٿو، فنڪشن سڏيو ويندو آهي exit
. اضافي طور تي، نموني وري ماحول کي ٻن حڪمن کي هلائڻ سان چيڪ ڪري ٿو:
ioreg -l | grep -e "Manufacturer" и sysctl hw.model
نمونو وري واپسي جي قيمت کي چيڪ ڪري ٿو سخت ڪوڊ ٿيل فهرست جي سڃاتل ورچوئلائيزيشن سسٽم مان تارن جي: ايڪل, vmware, مجازي بوڪس يا متوازن. آخرڪار، ايندڙ حڪم چيڪ ڪري ٿو ته مشين هيٺ ڏنل "MBP"، "MBA"، "MB"، "MM"، "IM"، "MP" ۽ "XS" مان هڪ آهي. اهي سسٽم ماڊل ڪوڊ آهن، مثال طور، "ايم بي پي" جو مطلب آهي MacBook پرو، "ايم بي اي" جو مطلب آهي MacBook ايئر، وغيره.
system_profiler SPHardwareDataType 2>/dev/null | awk '/Boot ROM Version/ {split($0, line, ":");printf("%s", line[2]);}
مکيه اضافو
جڏهن ته ٽرينڊ مائڪ جي تحقيق کان وٺي پٺتي پيل حڪم تبديل نه ٿيا آهن، اسان ڪجهه ٻين ترميمن کي نوٽيس ڪيو. هن نموني ۾ استعمال ٿيل C&C سرور بلڪل نوان آهن ۽ 22.10.2018/XNUMX/XNUMX تي ٺاهيا ويا.
- daff.faybilodeau[.]com
- sarc.onteagleroad[.]com
- au.charlineopkesston[.]com
وسيلا URL ۾ تبديل ڪيو ويو آهي /dp/B074WC4NHW/ref=gbps_img_m-9_62c3_750e6b35
.
C&C سرور ڏانهن موڪليو ويو پهريون پيڪيٽ ميزبان مشين بابت وڌيڪ معلومات تي مشتمل آهي، جنهن ۾ هيٺ ڏنل جدول ۾ ڏنل حڪمن ذريعي گڏ ڪيل سموري ڊيٽا شامل آهي.
ھن ٺاھ جوڙ جي تبديلي کان علاوه، نموني نيٽ ورڪ فلٽرنگ لاءِ لائبريري استعمال نٿو ڪري gFjMXBgyXWULmVVVzyxy
، صفر سان ڀريل. هر فائل کي ڊريڪٽ ڪيو ويو آهي ۽ محفوظ ڪيو ويو آهي جيئن /tmp/store
، ۽ ان کي لائبريري طور لوڊ ڪرڻ جي ڪوشش فنڪشن استعمال ڪندي ڪئي وئي آهي dlopen
، پٺئين دروازا ايڪسپورٽ افعال ڪڍي ٿو Boriry
и ChadylonV
، جيڪي ظاهري طور تي سرور سان نيٽ ورڪ رابطي لاءِ ذميوار آهن. اسان وٽ نمونن جي اصل جڳھ کان ڊراپر يا ٻيون فائلون نه آھن، تنھنڪري اسين ھن لائبريري کي پارس نٿا ڪري سگھون. ان کان علاوه، جيئن ته جزو انڪريپٽ ٿيل آهي، انهن تارن تي ٻڌل YARA قاعدو ڊسڪ تي مليل فائل سان نه ملندو.
جيئن مٿي ڏنل مضمون ۾ بيان ڪيو ويو آهي، اهو ٺاهي ٿو clientID. هي ID هيٺ ڏنل حڪمن مان هڪ جي واپسي جي قيمت جي MD5 هش آهي:
- ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformSerialNumber/ { split($0, line, """); printf("%s", line[4]); }'
- ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformUUID/ { split($0, line, """); printf("%s", line[4]); }'
- ifconfig en0 | awk '/ether /{print $2}'
(ميڪ ايڊريس حاصل ڪريو)
- نامعلوم ٽيم ("x1ex72x0a
")، جيڪو اڳئين نموني ۾ استعمال ٿيندو آهي
هش ڪرڻ کان اڳ، هڪ "0" يا "1" واپسي جي قيمت ۾ شامل ڪيو ويو آهي روٽ استحقاق ظاهر ڪرڻ لاء. هي clientID ۾ ذخيرو ٿيل /Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appex
، جيڪڏهن ڪوڊ روٽ طور هلايو وڃي يا ~/Library/SmartCardsServices/Technology/PlugIns/drivers/snippets.ecgML ٻين سڀني ڪيسن ۾. فائل عام طور تي فنڪشن استعمال ڪندي لڪيل آهي touch –t
بي ترتيب قيمت سان.
ڊيڪوڊنگ تار
جيئن اڳئين اختيارن سان، تارن کي AES-256-CBC استعمال ڪندي انڪريپ ڪيو ويو آهي (هيڪساڊيڪل ڪيچ: 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92
zeros سان padded، ۽ IV zeros سان ڀريو ويو) فنڪشن ذريعي
فنڪشن پروٽوٽائپ کي ڄاڻڻ decrypt، اسڪرپٽ هن فنڪشن لاءِ سڀئي ڪراس ريفرنس ڳولي ٿو، سڀ دليل، پوءِ ڊيٽا کي ڊيڪرپ ڪري ٿو ۽ ڪراس ريفرنس ايڊريس تي تبصري جي اندر سادي متن رکي ٿو. اسڪرپٽ جي صحيح ڪم ڪرڻ لاءِ، ان کي لازمي طور تي ترتيب ڏنل الفابيٽ تي مقرر ڪيو وڃي جيڪو بنيادي 64 ڊيڪوڊنگ فنڪشن پاران استعمال ڪيو ويو آهي، ۽ هڪ عالمي متغير کي لازمي طور تي بيان ڪيو وڃي ٿو جنهن ۾ ڪنجي جي ڊگھائي هجي (هن صورت ۾ هڪ DWORD، ڏسو شڪل 4).
شڪل 4. عالمي متغير جي تعريف key_len
فنڪشن ونڊو ۾، توهان ڊيڪرپشن فنڪشن تي صحيح ڪلڪ ڪري سگهو ٿا ۽ "دليل ڪڍيو ۽ ختم ڪريو" تي ڪلڪ ڪريو. اسڪرپٽ کي تبصرن ۾ ڊسڪ ٿيل لائينون رکڻ گهرجن، جيئن تصوير 5 ۾ ڏيکاريل آهي.
شڪل 5. ڊڪرپٽ ٿيل متن تبصرن ۾ رکيل آهي
اهڙيءَ طرح ڊيڪرپٽ ٿيل تارون آسانيءَ سان IDA ونڊو ۾ گڏ ڪيون وينديون آهن xrefs ھن فنڪشن لاءِ جيئن تصوير 6 ۾ ڏيکاريل آھي.
شڪل 6. xrefs to f_decrypt فنڪشن
فائنل اسڪرپٽ تي ڳولهي سگهجي ٿو
ٿڪل
جيئن اڳ ۾ ئي ذڪر ڪيو ويو آهي، OceanLotus مسلسل پنهنجي ٽول ڪٽ کي بهتر ۽ تازه ڪاري ڪري رهيو آهي. هن ڀيري، سائبر گروپ ميڪ استعمال ڪندڙن سان ڪم ڪرڻ لاءِ مالويئر کي بهتر ڪيو آهي. ڪوڊ گهڻو تبديل نه ٿيو آهي، پر جيئن ته ڪيترائي ميڪ استعمال ڪندڙ حفاظتي شين کي نظر انداز ڪن ٿا، مالويئر کي ڳولڻ کان بچائڻ ثانوي اهميت وارو آهي.
ESET پروڊڪٽس اڳ ۾ ئي تحقيق جي وقت هن فائل کي ڳولي رهيا هئا. ڇاڪاڻ ته نيٽ ورڪ لائبريري C&C ڪميونيڪيشن لاءِ استعمال ڪئي وئي آهي هاڻي ڊسڪ تي انڪرپٽ ٿيل آهي، حملي ڪندڙن پاران استعمال ڪيل صحيح نيٽ ورڪ پروٽوڪول اڃا تائين معلوم نه ٿي سگهيو آهي.
سمجھوتي جا اشارا
سمجھوتي جا اشارا ۽ گڏوگڏ MITER ATT ۽ CK خاصيتون پڻ دستياب آھن
جو ذريعو: www.habr.com