OceanLotus: የማልዌር ማሻሻያ ለ macOS

እ.ኤ.አ. በማርች 2019፣ አዲስ የማክኦኤስ ማልዌር ናሙና ከሳይበር ቡድን OceanLotus ወደ VirusTotal ታዋቂ የመስመር ላይ ቅኝት አገልግሎት ተሰቅሏል። የኋለኛው በር ተፈፃሚ የሆነው ፋይል ከቀደመው የማክሮስ ማልዌር ስሪት ጋር ተመሳሳይ አቅም አለው፣ ነገር ግን አወቃቀሩ ተቀይሯል እና ለመለየት አስቸጋሪ ሆኗል። እንደ አለመታደል ሆኖ፣ ከዚህ ናሙና ጋር የተያያዘ ጠብታ ማግኘት አልቻልንም፣ ስለዚህ ኢንፌክሽኑን እስካሁን አናውቅም።

በቅርቡ አሳትመናል። ስለ OceanLotus ይለጥፉ እና ኦፕሬተሮች ጽናትን ለማቅረብ፣የኮድ አፈጻጸምን ለማፋጠን እና በዊንዶውስ ሲስተሞች ላይ አሻራን ለመቀነስ እንዴት እየሞከሩ ነው። በተጨማሪም ይህ የሳይበር ቡድን ለማክኦኤስ አካል እንዳለውም ይታወቃል። ይህ ልጥፍ ከቀዳሚው ስሪት ጋር በማነፃፀር በአዲሱ የማክሮ ማልዌር ስሪት ላይ የተደረጉ ለውጦችን በዝርዝር ይዘረዝራል።በ Trend Micro ተገልጿል), እና እንዲሁም IDA Hex-Rays APIን በመጠቀም በመተንተን ወቅት የሕብረቁምፊዎችን ዲክሪፕት እንዴት በራስ-ሰር ማድረግ እንደሚችሉ ይገልጻል።

OceanLotus: የማልዌር ማሻሻያ ለ macOS

ትንታኔ

የሚቀጥሉት ሶስት ክፍሎች የናሙናውን ትንተና በSHA-1 ሃሽ ይገልፃሉ። E615632C9998E4D3E5ACD8851864ED09B02C77D2. ፋይሉ ተጠርቷል የእጅ ባትሪ፣ ESET የፀረ-ቫይረስ ምርቶች እንደ OSX/OceanLotus.D ያገኙታል።

ፀረ-ማረሚያ እና ማጠሪያ ጥበቃ

ልክ እንደ ሁሉም የማክሮ ኦሴን ሎተስ ሁለትዮሾች፣ ናሙናው በUPX የታሸገ ነው፣ ነገር ግን አብዛኛው የጥቅል መታወቂያ መሳሪያዎች እንደዚሁ አያውቁትም። ይህ ምናልባት በአብዛኛው በ "UPX" ሕብረቁምፊ መኖር ላይ የተመሰረተ ፊርማ ስለያዙ ነው, በተጨማሪም, የማቻ-ኦ ፊርማዎች ብዙም ያልተለመዱ እና ብዙ ጊዜ የማይዘመኑ ናቸው. ይህ ባህሪ የማይንቀሳቀስ ማወቅን አስቸጋሪ ያደርገዋል። የሚገርመው, ከማሸጊያው በኋላ, የመግቢያ ነጥቡ በክፍሉ መጀመሪያ ላይ ነው __cfstring በክፍል ውስጥ .TEXT. ከታች በምስሉ ላይ እንደሚታየው ይህ ክፍል የሰንደቅ ዓላማዎች አሉት።

OceanLotus: የማልዌር ማሻሻያ ለ macOS
ምስል 1. MACH-O __cfstring ክፍል ባህሪያት

በስእል 2 እንደሚታየው በክፍሉ ውስጥ ያሉት የኮድ ቦታዎች __cfstring ኮድን እንደ ሕብረቁምፊዎች በማሳየት አንዳንድ የመፍቻ መሳሪያዎችን እንዲያታልሉ ያስችልዎታል።

OceanLotus: የማልዌር ማሻሻያ ለ macOS
ምስል 2. በ IDA የጀርባ ኮድ እንደ ውሂብ ተገኝቷል

አንዴ ከተሰራ፣ ሁለትዮሽ እንደ ጸረ-አራሚ ክር ይፈጥራል ብቸኛው አላማው የአራሚ መኖሩን ያለማቋረጥ ማረጋገጥ ነው። ለዚህ ፍሰት፡-

- ማንኛውንም አራሚ ለመንቀል ይሞክራል፣ ይደውሉ ptrace с PT_DENY_ATTACH እንደ ጥያቄ መለኪያ
- ተግባርን በመጥራት አንዳንድ ልዩ ወደቦች ክፍት መሆናቸውን ያረጋግጣል task_get_exception_ports
- ባንዲራውን መኖሩን በማጣራት ከዚህ በታች ባለው ስእል እንደሚታየው አራሚው መገናኘቱን ያረጋግጣል P_TRACED አሁን ባለው ሂደት

OceanLotus: የማልዌር ማሻሻያ ለ macOS
ምስል 3. የ sysctl ተግባርን በመጠቀም የአራሚውን ግንኙነት ማረጋገጥ

ጠባቂው አራሚ መኖሩን ካወቀ, ተግባሩ ይባላል exit. በተጨማሪም ናሙናው ሁለት ትዕዛዞችን በማስኬድ አካባቢውን ይፈትሻል፡

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

ናሙናው የመመለሻ እሴቱን ከታወቁ ቨርቹዋልላይዜሽን ስርዓቶች በጠንካራ ኮድ ከተቀመጡ የሕብረቁምፊዎች ዝርዝር ጋር ይፈትሻል፡ acle, vmware, ምናባዊ ሳጥን ወይም ትይዩዎች. በመጨረሻም የሚቀጥለው ትዕዛዝ ማሽኑ ከሚከተሉት "MBP", "MBA", "MB", "MM", "IM", "MP" እና "XS" አንዱ መሆኑን ያረጋግጣል. እነዚህ የስርዓት ሞዴል ኮዶች ናቸው፣ ለምሳሌ “MBP” ማለት MacBook Pro፣ “MBA” ማለት ማክቡክ አየር፣ ወዘተ ማለት ነው።

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

ዋና ተጨማሪዎች

ከTrend Micro ጥናት በኋላ የኋለኛው በር ትእዛዞች ባይቀየሩም፣ ሌሎች ጥቂት ማሻሻያዎችን አስተውለናል። በዚህ ናሙና ውስጥ ጥቅም ላይ የዋሉት C&C አገልጋዮች በትክክል አዲስ ናቸው እና የተፈጠሩት በ22.10.2018/XNUMX/XNUMX ነው።

- daff.faybilodeau[.] ኮም
- sarc.onteagleroad[.] ኮም
- au.charlineopkesston[.] ኮም

የንብረት ዩአርኤል ወደ ተቀይሯል። /dp/B074WC4NHW/ref=gbps_img_m-9_62c3_750e6b35.
ወደ C&C አገልጋይ የተላከው የመጀመሪያው ፓኬት ስለ አስተናጋጅ ማሽን ተጨማሪ መረጃ ይዟል፣ ከዚህ በታች ባለው ሠንጠረዥ ውስጥ በትእዛዞች የተሰበሰቡትን መረጃዎች ሁሉ ያካትታል።

OceanLotus: የማልዌር ማሻሻያ ለ macOS

ከዚህ የውቅረት ለውጥ በተጨማሪ ናሙናው ለኔትወርክ ማጣሪያ ቤተመፃህፍት አይጠቀምም። libcurlውጫዊ ቤተ መጻሕፍት እንጂ። እሱን ለማግኘት የኋለኛው በር AES-256-CBCን ከቁልፉ ጋር በመጠቀም አሁን ባለው ዳይሬክቶሬት ውስጥ ያሉትን ፋይሎች በሙሉ ዲክሪፕት ለማድረግ ይሞክራል። gFjMXBgyXWULmVVVzyxy፣ በዜሮዎች የተሞላ። እያንዳንዱ ፋይል ዲክሪፕት ተደርጎ ተቀምጧል /tmp/store, እና ተግባሩን በመጠቀም እንደ ቤተ-መጽሐፍት ለመጫን ሙከራ ይደረጋል ድሎፕን. ዲክሪፕት የማድረግ ሙከራ ስኬታማ ጥሪን ሲያመጣ dlopen፣ የኋለኛው በር ወደ ውጭ የሚላኩ ተግባራትን ያወጣል። Boriry и ChadylonVከአገልጋዩ ጋር ለአውታረ መረብ ግንኙነት ተጠያቂ የሆኑ ይመስላል። የናሙናውን የመጀመሪያ ቦታ ጠብታ ወይም ሌላ ፋይሎች የለንም፣ ስለዚህ ይህን ቤተ-መጽሐፍት መተንተን አንችልም። በተጨማሪም ፣ ክፍሉ የተመሰጠረ ስለሆነ በእነዚህ ሕብረቁምፊዎች ላይ የተመሠረተ የYARA ደንብ በዲስክ ላይ ካለው ፋይል ጋር አይዛመድም።

ከላይ ባለው ጽሑፍ ላይ እንደተገለፀው, ይፈጥራል ደንበኛ መታወቂያ. ይህ መታወቂያ ከሚከተሉት ትእዛዞች የአንዱ መመለሻ ዋጋ 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" ወደ መመለሻ እሴት ይታከላል። ይህ ደንበኛ መታወቂያ ውስጥ ተከማችቷል /Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appex, ኮዱ እንደ ስር ወይም በ ~/Library/SmartCardServices/Technology/PlugIns/drivers/snippets.ecgML በሌሎች በሁሉም ጉዳዮች ላይ የሚሰራ ከሆነ። ፋይሉ ብዙውን ጊዜ ተግባሩን በመጠቀም ተደብቋል _ቻንዲራዎች, የእሱ የጊዜ ማህተም ትዕዛዙን በመጠቀም ይቀየራል touch –t በዘፈቀደ ዋጋ.

ሕብረቁምፊዎችን መፍታት

እንደቀደሙት አማራጮች፣ ሕብረቁምፊዎቹ AES-256-CBC (ሄክሳዴሲማል ቁልፍ፡) በመጠቀም የተመሰጠሩ ናቸው። 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92 በዜሮዎች የተሸፈነ, እና IV በዜሮዎች የተሞላ) በተግባሩ ሲሲሲሪፕት. ቁልፉ ከቀደምት ስሪቶች ተቀይሯል ፣ ግን ቡድኑ አሁንም ተመሳሳይ የሕብረቁምፊ ምስጠራ አልጎሪዝም ስለሚጠቀም ዲክሪፕት በራስ-ሰር ሊሠራ ይችላል። ከዚህ ልጥፍ በተጨማሪ፣ በሁለትዮሽ ፋይሉ ውስጥ የሚገኙትን ሕብረቁምፊዎች ለመፍታት የሄክስ-ሬይ ኤፒአይን የሚጠቀም የ IDA ስክሪፕት እየለቀቅን ነው። ይህ ስክሪፕት ወደፊት ስለ OceanLotus ትንተና እና እስካሁን ልናገኛቸው ያልቻልናቸው የነባር ናሙናዎች ትንተና ሊረዳ ይችላል። ስክሪፕቱ ለአንድ ተግባር የተላለፉ ክርክሮችን ለመቀበል በአለምአቀፍ ዘዴ ላይ የተመሰረተ ነው. በተጨማሪም፣ የመለኪያ ስራዎችን ይመለከታል። የተግባር ነጋሪ እሴቶችን ዝርዝር ለማግኘት ዘዴው እንደገና ጥቅም ላይ ሊውል ይችላል እና ከዚያ ወደ መልሶ ጥሪው ለማስተላለፍ።

የተግባርን ምሳሌ ማወቅ ዲክሪፕት, ስክሪፕቱ የዚህን ተግባር ሁሉንም ማመሳከሪያዎች, ሁሉንም ክርክሮች ያገኛል, ከዚያም ውሂቡን ዲክሪፕት በማድረግ እና በአስተያየቱ ውስጥ ግልጽ የሆነ ጽሑፍ በማጣቀሻ አድራሻ ውስጥ ያስቀምጣል. ስክሪፕቱ በትክክል እንዲሰራ በቤዝ64 ዲኮዲንግ ተግባር ወደ ሚገለገለው ብጁ ፊደላት መቀናበር አለበት እና የአለምአቀፍ ተለዋዋጭ የቁልፉን ርዝመት የያዘ መሆን አለበት (በዚህ ሁኔታ DWORD ፣ ምስል 4 ይመልከቱ)።

OceanLotus: የማልዌር ማሻሻያ ለ macOS
ምስል 4. የአለምአቀፍ ተለዋዋጭ key_len ፍቺ

በተግባር መስኮቱ ውስጥ የዲክሪፕት ተግባሩን ቀኝ-ጠቅ ማድረግ እና "Extract እና Decrypt ክርክሮችን" ን ጠቅ ማድረግ ይችላሉ. በስእል 5 ላይ እንደሚታየው ስክሪፕቱ ዲክሪፕት የተደረጉትን መስመሮች በአስተያየቶች ውስጥ ማስቀመጥ አለበት።

OceanLotus: የማልዌር ማሻሻያ ለ macOS
ምስል 5. ዲክሪፕት የተደረገው ጽሑፍ በአስተያየቶቹ ውስጥ ተቀምጧል

በዚህ መንገድ ዲክሪፕት የተደረጉ ሕብረቁምፊዎች በ IDA መስኮት ውስጥ በአንድ ላይ እንዲቀመጡ ይደረጋል xrefs ለዚህ ተግባር በስእል 6 እንደሚታየው.

OceanLotus: የማልዌር ማሻሻያ ለ macOS
ምስል 6. Xrefs ወደ f_decrypt ተግባር

የመጨረሻው ስክሪፕት በ Github repository.

መደምደሚያ

ቀደም ሲል እንደተጠቀሰው፣ OceanLotus የመሳሪያውን ስብስብ በየጊዜው በማሻሻል እና በማዘመን ላይ ነው። በዚህ ጊዜ፣ የሳይበር ቡድኑ ከማክ ተጠቃሚዎች ጋር ለመስራት ማልዌርን አሻሽሏል። ኮዱ ብዙም አልተቀየረም፣ ነገር ግን ብዙ የማክ ተጠቃሚዎች የደህንነት ምርቶችን ችላ ስለሚሉ፣ ማልዌር እንዳይታወቅ መከላከል ሁለተኛ ደረጃ ነው።

የESET ምርቶች በጥናት ወቅት ይህን ፋይል አስቀድመው ፈልገው ነበር። ለC&C ግንኙነት ጥቅም ላይ የዋለው የአውታረ መረብ ቤተ-መጽሐፍት አሁን በዲስክ ላይ የተመሰጠረ ስለሆነ፣ አጥቂዎቹ የሚጠቀሙበት ትክክለኛው የአውታረ መረብ ፕሮቶኮል እስካሁን አልታወቀም።

የስምምነት አመልካቾች

የስምምነት አመላካቾች እንዲሁም የ MITER ATT&CK ባህሪያት በ ላይ ይገኛሉ የፊልሙ.

ምንጭ: hab.com

አስተያየት ያክሉ