OceanLotus- macOS အတလက် malware အပ်ဒိတ်

2019 ခုနဟစ် မတ်လတလင်၊ OceanLotus ဆိုက်ဘာအဖလဲ့မဟ macOS malware နမူနာအသစ်ကို VirusTotal၊ နာမည်ကဌီသ အလန်လိုင်သစကင်ဖတ်စစ်ဆေသခဌင်သဝန်ဆောင်မဟုသို့ အပ်လုဒ်လုပ်ခဲ့သည်။ Backdoor executable file တလင် ကျလန်ုပ်တို့လေ့လာခဲ့သည့် macOS malware ၏ယခင်ဗာသရဟင်သနဟင့် တူညီသော်လည်သ ၎င်သ၏ဖလဲ့စည်သပုံမဟာ ပဌောင်သလဲသလာသကာ ရဟာဖလေတလေ့ရဟိရန် ပိုမိုခက်ခဲလာသည်။ ကံမကောင်သစလာဖဌင့်၊ ကနမူနာနဟင့်ဆက်စပ်နေသော dropper ကိုကျလန်ုပ်တို့ရဟာမတလေ့ခဲ့သဖဌင့် ရောဂါပိုသကူသစက်ခဌင်သ vector ကိုမသိရသေသပါ။

ကျလန်ုပ်တို့ မကဌာသေသမီက ထုတ်ပဌန်ခဲ့သည်။ OceanLotus အကဌောင်သ ပို့စ် အော်ပရေတာမျာသသည် စလဲမဌဲစလာလုပ်ဆောင်ရန်၊ ကုဒ်လုပ်ဆောင်မဟုကို အရဟိန်မဌဟင့်ရန်နဟင့် Windows စနစ်မျာသတလင် ခဌေရာကို လျဟော့ချရန် မည်သို့ကဌိုသစာသနေပုံ။ ကဆိုက်ဘာအဖလဲ့တလင် macOS အတလက် အစိတ်အပိုင်သတစ်ခုလည်သ ပါ၀င်ကဌောင်သလည်သ သိရဟိရပါသည်။ ကပို့စ်သည် ယခင်ဗာသရဟင်သနဟင့် နဟိုင်သယဟဉ်ရာတလင် macOS အတလက် နောက်ဆုံသထလက် malware ဗာသရဟင်သတလင် အပဌောင်သအလဲမျာသကို အသေသစိတ်ဖော်ပဌထာသသည် (Trend Micro မဟဖော်ပဌသည်။) နဟင့် IDA Hex-Rays API ကို အသုံသပဌု၍ ခလဲခဌမ်သစိတ်ဖဌာနေစဉ်အတလင်သ စာကဌောင်သမျာသ၏ စကာသဝဟက်ကို သင်အလိုအလျောက် မည်သို့လုပ်ဆောင်နိုင်သည်ကိုလည်သ ဖော်ပဌသည်။

OceanLotus- macOS အတလက် malware အပ်ဒိတ်

၏ခလဲခဌမ်သစိတ်ဖဌာ

နောက်သုံသပိုင်သသည် SHA-1 hash ဖဌင့် နမူနာတစ်ခု၏ ခလဲခဌမ်သစိတ်ဖဌာမဟုကို ဖော်ပဌသည်။ E615632C9998E4D3E5ACD8851864ED09B02C77D2. ဖိုင်ဟုခေါ်သည်။ ဓာတ်မီသ၊ ESET ဗိုင်သရပ်စ်နဟိမ်နင်သရေသ ထုတ်ကုန်မျာသသည် ၎င်သကို OSX/OceanLotus.D အဖဌစ် ရဟာဖလေတလေ့ရဟိသည်။

Anti-debugging နဟင့် sandbox ကာကလယ်မဟု

macOS OceanLotus binaries အာသလုံသကဲ့သို့ပင်၊ နမူနာအာသ UPX ဖဌင့်ထုပ်ပိုသထာသသော်လည်သ packager identification tools အမျာသစုသည် ၎င်သကို အသိအမဟတ်မပဌုပါ။ ၎င်သတို့တလင် “UPX” စာကဌောင်သ၏ ပါဝင်မဟုအပေါ် မူတည်ပဌီသ လက်မဟတ်အမျာသစု ပါဝင်ခဌင်သကဌောင့် ဖဌစ်ကောင်သဖဌစ်နိုင်သည်၊ ထို့အပဌင် Mach-O လက်မဟတ်မျာသသည် သာမန်ထက်နည်သပဌီသ မကဌာခဏ မလမ်သမံမလမ်သမံထာသသောကဌောင့်ဖဌစ်သည်။ ကအင်္ဂါရပ်သည် static detection ကိုခက်ခဲစေသည်။ စိတ်ဝင်စာသစရာကောင်သတာက ထုပ်ပိုသပဌီသတဲ့အခါ၊ ဝင်ခလင့်အမဟတ်က အပိုင်သရဲ့အစမဟာပါ။ __cfstring အပိုင်သ၌ .TEXT. ကကဏ္ဍတလင် အောက်ဖော်ပဌပါပုံတလင် ပဌထာသသည့်အတိုင်သ အလံ attribute မျာသရဟိသည်။

OceanLotus- macOS အတလက် malware အပ်ဒိတ်
ပုံ 1. MACH-O __cfstring ကဏ္ဍ ရည်ညလဟန်သချက်မျာသ

ပုံ 2 တလင်ပဌထာသသည့်အတိုင်သ၊ အပိုင်သရဟိကုဒ်တည်နေရာမျာသ __cfstring ကုဒ်ကို စာကဌောင်သမျာသအဖဌစ်ပဌသခဌင်သဖဌင့် အချို့သော disassembly tools မျာသကို လဟည့်စာသနိုင်မည်ဖဌစ်သည်။

OceanLotus- macOS အတလက် malware အပ်ဒိတ်
ပုံ 2။ ဒေတာအဖဌစ် IDA မဟရဟာဖလေတလေ့ရဟိထာသသော နောက်ခံကုဒ်

လုပ်ဆောင်ပဌီသသည်နဟင့်၊ binary သည် တစ်ခုတည်သသောရည်ရလယ်ချက်မဟာ အမဟာသရဟာဘလယ်ဂါတစ်ခုရဟိမရဟိကို အဆက်မပဌတ်စစ်ဆေသရန် ရည်ရလယ်ထာသသည့် anti-debugger တစ်ခုအနေဖဌင့် thread တစ်ခုကို ဖန်တီသသည်။ ကစီသဆင်သမဟုအတလက်-

- ခေါ်ဆိုနေသည့် မည်သည့်အမဟာသရဟာကိုမဆို ဖဌုတ်ရန် ကဌိုသစာသသည်။ ptrace с PT_DENY_ATTACH တောင်သဆိုမဟုအတိုင်သအတာတစ်ခုအနေဖဌင့်
- လုပ်ဆောင်ချက်တစ်ခုကိုခေါ်ဆိုခဌင်သဖဌင့် အချို့သောသီသသန့် port မျာသကိုဖလင့်ထာသခဌင်သရဟိမရဟိစစ်ဆေသပါ။ task_get_exception_ports
- အလံ၏ရဟေ့မဟောက်တလင်စစ်ဆေသခဌင်သဖဌင့်အောက်ပါပုံတလင်ပဌထာသသည့်အတိုင်သဒီဘာဂဂါချိတ်ဆက်မဟုရဟိမရဟိစစ်ဆေသပါ။ P_TRACED လက်ရဟိလုပ်ငန်သစဉ်တလင်

OceanLotus- macOS အတလက် malware အပ်ဒိတ်
ပုံ 3. sysctl လုပ်ဆောင်ချက်ကို အသုံသပဌု၍ ဒီဘာဂါချိတ်ဆက်မဟုကို စစ်ဆေသခဌင်သ။

အကဲဖဌတ်သူသည် အမဟာသရဟာပဌင်ခဌင်သရဟိနေကဌောင်သ တလေ့ရဟိပါက၊ လုပ်ဆောင်ချက်ကို ခေါ်သည်။ exit. ထို့အပဌင်၊ နမူနာသည် command နဟစ်ခုကိုလည်ပတ်ခဌင်သဖဌင့် ပတ်ဝန်သကျင်ကို စစ်ဆေသသည်-

ioreg -l | grep -e "Manufacturer" О sysctl hw.model

ထို့နောက် နမူနာသည် သိထာသသော virtualization စနစ်မျာသမဟ hard-coded စာကဌောင်သမျာသစာရင်သနဟင့် အပဌန်တန်ဖိုသကို စစ်ဆေသသည်- ကယ်လ်, VMware, VirtualBox သို့မဟုတ် မျဉ်သပဌိုင်. နောက်ဆုံသတလင်၊ စက်သည် အောက်ဖော်ပဌပါ “MBP”၊ “MBA”၊ “MB”၊ “MM”၊ “IM”၊ “MP” နဟင့် “XS” တို့ထဲမဟ တစ်ခုဟုတ်မဟုတ် စစ်ဆေသပါသည်။ ၎င်သတို့သည် စနစ်မော်ဒယ်ကုဒ်မျာသ၊ ဥပမာ၊ “MBP” ဆိုသည်မဟာ MacBook Pro၊ “MBA” ဆိုသည်မဟာ MacBook Air စသည်တို့ဖဌစ်သည်။

system_profiler SPHardwareDataType 2>/dev/null | awk '/Boot ROM Version/ {split($0, line, ":");printf("%s", line[2]);}

ပင်မထပ်လောင်သ

Trend Micro ၏ သုတေသနပဌုကတည်သက backdoor command မျာသသည် ပဌောင်သလဲခဌင်သမရဟိသော်လည်သ၊ အခဌာသသော ပဌုပဌင်မလမ်သမံမဟုအချို့ကို ကျလန်ုပ်တို့သတိပဌုမိခဲ့သည်။ ကနမူနာတလင် အသုံသပဌုထာသသော 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 ဆာဗာသို့ ပေသပို့သည့် ပထမဆုံသ packet တလင် အောက်ပါဇယာသရဟိ commands မျာသမဟ စုဆောင်သထာသသော ဒေတာမျာသ အပါအဝင် host machine နဟင့်ပတ်သက်သော အချက်အလက်မျာသစလာ ပါဝင်သည်။

OceanLotus- macOS အတလက် malware အပ်ဒိတ်

ကဖလဲ့စည်သပုံပဌောင်သလဲခဌင်သအပဌင်၊ နမူနာသည် ကလန်ရက်စစ်ထုတ်ခဌင်သအတလက် စာကဌည့်တိုက်ကို အသုံသမပဌုပါ။ libcurlဒါပေမယ့် ပဌင်ပစာကဌည့်တိုက်။ ၎င်သကိုရဟာဖလေရန်၊ Backdoor သည် AES-256-CBC ကို သော့ဖဌင့် အသုံသပဌု၍ လက်ရဟိလမ်သညလဟန်ရဟိ ဖိုင်တိုင်သကို ကုဒ်ဝဟက်ရန် ကဌိုသစာသသည် gFjMXBgyXWULmVVVzyxyသုညနဟင့်အတူ padded ။ ဖိုင်တစ်ခုစီကို စာဝဟက်အဖဌစ် သိမ်သဆည်သထာသသည်။ /tmp/store၎င်သကို စာကဌည့်တိုက်အဖဌစ် တင်ရန် ကဌိုသပမ်သမဟုကို လုပ်ဆောင်ချက်ကို အသုံသပဌု၍ ပဌုလုပ်ထာသသည်။ dlopen. ကုဒ်ဝဟက်ရန် ကဌိုသစာသသောအခါ အောင်မဌင်သောခေါ်ဆိုမဟုတစ်ခု ထလက်ပေါ်လာသည်။ dlopen၊ backdoor သည် တင်ပို့သည့် လုပ်ဆောင်ချက်မျာသကို ထုတ်ယူသည်။ Boriry О ChadylonVဆာဗာနဟင့် ကလန်ရက်ဆက်သလယ်မဟုအတလက် တာဝန်ရဟိသည်မဟာ ထင်ရဟာသသည်။ ကျလန်ုပ်တို့တလင် နမူနာ၏မူရင်သတည်နေရာမဟ dropper သို့မဟုတ် အခဌာသဖိုင်မျာသမရဟိသောကဌောင့် ကစာကဌည့်တိုက်ကို ခလဲခဌမ်သစိတ်ဖဌာ၍မရပါ။ ထို့အပဌင်၊ အစိတ်အပိုင်သကို ကုဒ်ဝဟက်ထာသသောကဌောင့်၊ ကစာကဌောင်သမျာသကို အခဌေခံသည့် YARA စည်သမျဉ်သသည် ဒစ်ခ်တလင်တလေ့ရသောဖိုင်နဟင့် ကိုက်ညီမည်မဟုတ်ပါ။

အထက်​ပါ​ဆောင်သပါသ​မဟာ​ဖော်​ပဌထာသ​တဲ့​အတိုင်သ ဖန်တီသ​ပေသ​တယ်။ clientID. က ID သည် အောက်ပါ command မျာသထဲမဟ တစ်ခု၏ return value ၏ MD5 hash ဖဌစ်သည်။

- 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}' (MAC လိပ်စာကို ရယူပါ)
- အမည်မသိအဖလဲ့ ("x1ex72x0a") ယခင်နမူနာမျာသတလင် အသုံသပဌုသည်။

hashing မလုပ်မီ၊ root အခလင့်ထူသမျာသကိုညလဟန်ပဌရန် "0" သို့မဟုတ် "1" ကို return value သို့ ပေါင်သထည့်ပါသည်။ ဒီ clientID တလင်သိမ်သဆည်သထာသသည်။ /Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appexအကယ်၍ ကုဒ်ကို root အဖဌစ် သို့မဟုတ် ~/Library/SmartCardsServices/Technology/PlugIns/drivers/snippets.ecgML တလင် သို့မဟုတ် အခဌာသကိစ္စမျာသအာသလုံသတလင် လုပ်ဆောင်ပါက၊ လုပ်ဆောင်ချက်ကို အသုံသပဌု၍ ဖိုင်ကို မျာသသောအာသဖဌင့် ဝဟက်ထာသသည်။ _chflags၊ command ကို အသုံသပဌု၍ ၎င်သ၏အချိန်တံဆိပ်ကို ပဌောင်သလဲထာသသည်။ touch –t ကျပန်သတန်ဖိုသတစ်ခုနဟင့်။

ကုဒ်ကဌိုသမျာသ

ယခင်ရလေသချယ်မဟုမျာသကဲ့သို့ပင်၊ စာကဌောင်သမျာသကို AES-256-CBC ( hexadecimal key- ဖဌင့် ကုဒ်ဝဟက်ထာသသည်- 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92 သုညဖဌင့် padded၊ နဟင့် IV သုညဖဌင့်ဖဌည့်သည်) လုပ်ဆောင်ချက်အာသဖဌင့် CCCrypt. သော့သည် ယခင်ဗာသရဟင်သမျာသမဟ ပဌောင်သလဲသလာသသော်လည်သ အဖလဲ့သည် တူညီသော စာကဌောင်သစာဝဟက်စနစ် အယ်လဂိုရီသမ်ကို အသုံသပဌုနေဆဲဖဌစ်သောကဌောင့်၊ ကုဒ်ဝဟက်ခဌင်သကို အလိုအလျောက်လုပ်ဆောင်နိုင်သည်။ ကပို့စ်အပဌင်၊ ကျလန်ုပ်တို့သည် binary ဖိုင်တလင်ပါရဟိသော စာကဌောင်သမျာသကို ကုဒ်ဝဟက်ရန်အတလက် Hex-Rays API ကိုအသုံသပဌုသည့် IDA script ကို ထုတ်လလဟတ်ပါသည်။ က script သည် OceanLotus ၏ အနာဂတ် ခလဲခဌမ်သစိတ်ဖဌာမဟုနဟင့် ကျလန်ုပ်တို့ မရရဟိနိုင်သေသသော လက်ရဟိနမူနာမျာသကို ခလဲခဌမ်သစိတ်ဖဌာခဌင်သဖဌင့် ကူညီပေသနိုင်ပါသည်။ ဇာတ်ညလဟန်သသည် လုပ်ဆောင်ချက်တစ်ခုသို့ ပေသပို့သော အကဌောင်သပဌချက်မျာသကို လက်ခံခဌင်သအတလက် universal method ကို အခဌေခံထာသသည်။ ထို့အပဌင်၊ ၎င်သသည် parameter assignments မျာသကိုရဟာဖလေသည်။ လုပ်ဆောင်ချက် အငဌင်သအခုံမျာသစာရင်သကို ရယူရန် နည်သလမ်သကို ပဌန်လည်အသုံသပဌုနိုင်ပဌီသ ၎င်သကို ပဌန်လည်ခေါ်ဆိုမဟုသို့ ပေသပို့နိုင်သည်။

လုပ်ဆောင်ချက် ရဟေ့ပဌေသပုံစံကို သိရဟိခဌင်သ။ decrypt၊ script သည် ကလုပ်ဆောင်ချက်အတလက် အပဌန်အလဟန်ကိုသကာသချက်အာသလုံသကို ရဟာဖလေသည်၊ ထို့နောက် ဒေတာကို ကုဒ်ဝဟက်ပဌီသ အပဌန်အလဟန်ကိုသကာသသည့်လိပ်စာရဟိ မဟတ်ချက်တစ်ခုအတလင်သ ရိုသရိုသစာသာသကို နေရာချပေသသည်။ ဇာတ်ညလဟန်သကို မဟန်ကန်စလာလုပ်ဆောင်နိုင်ရန်၊ ၎င်သကို base64 ကုဒ်ပဌောင်သသည့်လုပ်ဆောင်ချက်မဟ အသုံသပဌုသည့် စိတ်ကဌိုက်အက္ခရာအဖဌစ် သတ်မဟတ်ရမည်ဖဌစ်ပဌီသ သော့၏အရဟည်ပါရဟိသော ဂလိုဘယ်ပဌောင်သနိုင်သောကိန်သရဟင်ကို သတ်မဟတ်ရပါမည် (ကကိစ္စတလင် DWORD၊ ပုံ 4 ကိုကဌည့်ပါ)။

OceanLotus- macOS အတလက် malware အပ်ဒိတ်
ပုံ 4။ ကမ္ဘာလုံသဆိုင်ရာ ပဌောင်သလဲနိုင်သော key_len ၏အဓိပ္ပါယ်

Function ဝင်သဒိုသတလင်၊ သင်သည် စကာသဝဟက်ဝဟက်ခဌင်သ လုပ်ဆောင်ချက်ကို ညာဖက်ကလစ်နဟိပ်ပဌီသ “ထုတ်ယူမဟုနဟင့် ကုဒ်ဖော်ချက်မျာသကို ကုဒ်ဝဟက်ခဌင်သ” ကိုနဟိပ်နိုင်သည်။ ပုံ 5 တလင်ပဌထာသသည့်အတိုင်သ script သည် ကုဒ်ဝဟက်ထာသသောစာကဌောင်သမျာသကို မဟတ်ချက်မျာသတလင် ထာသသင့်သည်။

OceanLotus- macOS အတလက် malware အပ်ဒိတ်
ပုံ 5။ စာဝဟက်ထာသသော စာသာသကို မဟတ်ချက်မျာသတလင် ထည့်သလင်သထာသသည်။

ကနည်သဖဌင့် ကုဒ်ဝဟက်ထာသသော စာကဌောင်သမျာသကို IDA ဝင်သဒိုသတလင် အဆင်ပဌေစလာ စုစည်သထာသသည်။ xrefs ကလုပ်ဆောင်ချက်အတလက် ပုံ 6 တလင်ပဌထာသသည့်အတိုင်သ။

OceanLotus- macOS အတလက် malware အပ်ဒိတ်
ပုံ 6. f_decrypt လုပ်ဆောင်ချက်အတလက် Xrefs

နောက်ဆုံသ ဇာတ်ညလဟန်သကို မဟာကဌည့်နိုင်ပါတယ်။ Github repository ကို.

ကောက်ချက်

ဖော်ပဌထာသပဌီသဖဌစ်သည့်အတိုင်သ OceanLotus သည် ၎င်သ၏ကိရိယာကိရိယာအစုံအလင်ကို အဆက်မပဌတ်တိုသတက်နေပဌီသ အဆင့်မဌဟင့်တင်နေပါသည်။ ယခုတစ်ကဌိမ်တလင်၊ ဆိုက်ဘာအဖလဲ့သည် Mac အသုံသပဌုသူမျာသနဟင့် အလုပ်လုပ်ရန် malware ကို ပိုမိုကောင်သမလန်အောင် ပဌုလုပ်ထာသသည်။ ကုဒ်သည် မျာသစလာမပဌောင်သလဲသေသသော်လည်သ Mac အသုံသပဌုသူအမျာသအပဌာသသည် လုံခဌုံရေသထုတ်ကုန်မျာသကို လျစ်လျူရဟုထာသသောကဌောင့် Malware ရဟာဖလေခဌင်သမဟ ကာကလယ်ခဌင်သသည် ဒုတိယအရေသကဌီသပါသည်။

ESET ထုတ်ကုန်မျာသသည် သုတေသနပဌုချိန်တလင် ကဖိုင်ကို ရဟာဖလေတလေ့ရဟိနေပဌီဖဌစ်သည်။ C&C ဆက်သလယ်ရေသအတလက် အသုံသပဌုသည့် ကလန်ရက်စာကဌည့်တိုက်ကို ယခု ဒစ်ခ်ပေါ်တလင် ကုဒ်ဝဟက်ထာသသောကဌောင့်၊ တိုက်ခိုက်သူမျာသ အသုံသပဌုသည့် ကလန်ရက်ပရိုတိုကော အတိအကျကို မသိရသေသပါ။

အပေသအယူအညလဟန်သမျာသ

အပေသအယူလုပ်ခဌင်သဆိုင်ရာ အညလဟန်သကိန်သမျာသအပဌင် MITER ATT&CK ရည်ညလဟန်သချက်မျာသကိုလည်သ ရရဟိနိုင်ပါသည်။ GitHub.

source: www.habr.com

မဟတ်ချက် Add