በዚህ ጽሑፍ አማካኝነት ተንኮል አዘል ሶፍትዌሮችን ለመተንተን የተሰጡ ተከታታይ ህትመቶችን እናጠናቅቃለን. ውስጥ
ዛሬ Ilya Pomerantsev, CERT ቡድን-IB ላይ ማልዌር ትንተና ውስጥ ስፔሻሊስት, ስለ ማልዌር ትንተና የመጀመሪያ ደረጃ ይናገራል - የ CERT ቡድን-IB ስፔሻሊስቶች ልምምድ ሦስት ሚኒ ጉዳዮች ምሳሌ በመጠቀም AgentTesla ናሙናዎች ከፊል-አውቶማቲክ መፍታት.
በተለምዶ በተንኮል አዘል ዌር ትንተና ውስጥ የመጀመሪያው ደረጃ ጥበቃን በፓኬር, ክሪፕቶር, ተከላካይ ወይም ጫኝ መልክ ማስወገድ ነው. በአብዛኛዎቹ ሁኔታዎች, ይህ ችግር ማልዌርን በማስኬድ እና ቆሻሻን በማከናወን ሊፈታ ይችላል, ነገር ግን ይህ ዘዴ የማይስማማባቸው ሁኔታዎች አሉ. ለምሳሌ፣ ማልዌር ኢንክሪፕተር ከሆነ፣ የማህደረ ትውስታ ክልሎቹ እንዳይጣሉ የሚከላከል ከሆነ፣ ኮዱ የቨርቹዋል ማሽን መፈለጊያ ዘዴዎችን ከያዘ ወይም ማልዌሩ ከጀመረ በኋላ ወዲያውኑ እንደገና ቢነሳ። በእንደዚህ ዓይነት ሁኔታዎች ውስጥ "ከፊል-አውቶማቲክ" ማራገፊያ ተብሎ የሚጠራው ጥቅም ላይ ይውላል, ማለትም, ተመራማሪው ሂደቱን ሙሉ በሙሉ ይቆጣጠራል እና በማንኛውም ጊዜ ጣልቃ መግባት ይችላል. ይህንን አሰራር እንደ ምሳሌ የAgentTesla ቤተሰብ ሶስት ናሙናዎችን በመጠቀም እንመልከተው። የአውታረ መረብ መዳረሻን ካሰናከሉ ይህ በአንጻራዊነት ምንም ጉዳት የሌለው ማልዌር ነው።
ናሙና ቁጥር 1
የምንጭ ፋይሉ ተጋላጭነቱን CVE-2017-11882 የሚጠቀም የMS Word ሰነድ ነው።
በዚህ ምክንያት ክፍያው ይወርዳል እና ይጀምራል.
የሂደቱ ዛፍ እና የባህርይ ጠቋሚዎች ትንተና በሂደቱ ውስጥ መርፌን ያሳያል RegAsm.exe.
የAgentTesla ባህሪይ ምልክቶች አሉ።
የወረደው ናሙና ሊተገበር የሚችል ነው .NET- ፋይል በጠባቂ የተጠበቀ NET Reactor.
በመገልገያው ውስጥ እንከፍተው dnSpy x86 እና ወደ መግቢያው ነጥብ ይሂዱ.
ወደ ተግባር በመሄድ DateTimeOffset, ለአዲሱ የመነሻ ኮድ እናገኛለን .NET- ሞጁል. እናስቀምጠው breakpoint እኛ ፍላጎት ባለን መስመር ላይ ፋይሉን እናስኬዳለን።
ከተመለሱት ቋቶች በአንዱ የMZ ፊርማ ማየት ይችላሉ (0x4D 0x5A). እናድነው።
የተጣለ ተፈጻሚ ፋይል ጫኚ የሆነ ተለዋዋጭ ቤተ-መጽሐፍት ነው, ማለትም. ክፍያውን ከመርጃው ክፍል አውጥቶ ያስጀምረዋል።
በተመሳሳይ ጊዜ አስፈላጊዎቹ ሀብቶች እራሳቸው በቆሻሻ ማጠራቀሚያ ውስጥ አይገኙም. በወላጅ ናሙና ውስጥ ናቸው.
መገልገያ dnSpy ከሁለት ተዛማጅ ፋይሎች "Frankenstein" በፍጥነት እንድንፈጥር የሚረዱን ሁለት በጣም ጠቃሚ ተግባራት አሉት።
- የመጀመሪያው ተለዋዋጭ ቤተ-መጽሐፍትን በወላጅ ናሙና ውስጥ "እንዲለጥፉ" ይፈቅድልዎታል.
- ሁለተኛው የተግባር ኮድ በመግቢያ ነጥቡ ላይ እንደገና መፃፍ እና የተፈለገውን ተለዋዋጭ ቤተ-መጽሐፍት ለመጥራት ነው።
የእኛን "Frankenstein" እናስቀምጣለን, አዘጋጅ breakpoint በመስመሩ ላይ ቋት ከዲክሪፕትድ ሀብቶች ጋር በመመለስ እና ካለፈው ደረጃ ጋር በማመሳሰል ቆሻሻን ያመርቱ።
ሁለተኛው መጣያ ተጽፏል VB.NET ለእኛ በሚያውቁት ተከላካይ የተጠበቀ ሊተገበር የሚችል ፋይል ConfuserEx.
ተከላካዩን ካስወገድን በኋላ ቀደም ብለን የተፃፉትን የYARA ህጎች እንጠቀማለን እና ያልታሸገው ማልዌር በእውነት AgentTesla መሆኑን እናረጋግጣለን።
ናሙና ቁጥር 2
የምንጭ ፋይል የ MS Excel ሰነድ ነው። አብሮ የተሰራ ማክሮ ተንኮል አዘል ኮድ እንዲፈፀም ያደርጋል።
በውጤቱም, የ PowerShell ስክሪፕት ተጀምሯል.
ስክሪፕቱ የC# ኮድ ዲክሪፕት አድርጎ መቆጣጠሪያውን ወደ እሱ ያስተላልፋል። ከማጠሪያው ዘገባ እንደሚታየው ኮዱ ራሱ ቡት ጫኝ ነው።
የሚከፈለው ጭነት ተፈጻሚ ነው። .NET- ፋይል.
ውስጥ ፋይሉን በመክፈት ላይ dnSpy x86, የተደበቀ መሆኑን ማየት ይችላሉ. መገልገያውን በመጠቀም መደበቅን ማስወገድ de4dot እና ወደ ትንተና ይመለሱ.
ኮዱን ስትመረምር የሚከተለውን ተግባር ልታገኝ ትችላለህ፡-
ኮድ የተደረገባቸው መስመሮች በጣም አስደናቂ ናቸው። የመግቢያ ነጥብ и ይደውሉ ፡፡. አስቀመጥን breakpoint ወደ መጀመሪያው መስመር ያሂዱ እና የቋት እሴቱን ያስቀምጡ ባይት_0.
የቆሻሻ መጣያው እንደገና በ ላይ መተግበሪያ ነው። .NET እና የተጠበቀ ConfuserEx.
በመጠቀም መደበቅን እናስወግዳለን። de4dot እና ወደ ላይ ይስቀሉ dnSpy. ከፋይል መግለጫው እንደተጋፈጥን እንረዳለን። CyaX-Sharp ጫኚ.
ይህ ጫኝ ሰፊ የፀረ-ትንተና ተግባር አለው።
ይህ ተግባር አብሮ የተሰሩ የዊንዶውስ ጥበቃ ስርዓቶችን ማለፍ፣ ዊንዶውስ ተከላካይን ማሰናከል፣ እንዲሁም ማጠሪያ እና ምናባዊ ማሽንን ማወቂያ ዘዴዎችን ያጠቃልላል። ክፍያውን ከአውታረ መረቡ ላይ መጫን ወይም በንብረት ክፍል ውስጥ ማከማቸት ይቻላል. ማስጀመር የሚከናወነው በራሱ ሂደት፣ ወደ የራሱ ሂደት ብዜት ወይም ወደ ሂደቶች በመርፌ ነው። MSBuild.exe, vbc.exe и RegSvcs.exe በአጥቂው በተመረጠው መለኪያ ላይ በመመስረት.
ሆኖም፣ ለእኛ ከነሱ ያነሱ ጉልህ ናቸው። AntiDump- የሚጨምር ተግባር ConfuserEx. የእሱ ምንጭ ኮድ በ ላይ ይገኛል።
ጥበቃን ለማሰናከል, እድሉን እንጠቀማለን dnSpy, ይህም እንዲያርትዑ ያስችልዎታል IL-ኮድ።
አስቀምጥ እና ጫን breakpoint የደመወዝ ጭነት ዲክሪፕት ተግባርን ወደ ጥሪ መስመር። በዋናው ክፍል ገንቢ ውስጥ ይገኛል.
ጭነቱን አስነሳን እና እንጥላለን። ከዚህ ቀደም የተፃፉትን የYARA ደንቦችን በመጠቀም፣ ይህ AgentTesla መሆኑን እናረጋግጣለን።
ናሙና ቁጥር 3
የምንጭ ፋይሉ ተፈጻሚ ነው። ቪቢ ቤተኛ PE32- ፋይል.
የኢንትሮፒ ትንታኔ ትልቅ የተመሰጠረ መረጃ መኖሩን ያሳያል።
የማመልከቻ ቅጹን በ ውስጥ ሲተነተን ቪቢ ማጠናከሪያ እንግዳ የሆነ ፒክስል ያለው ዳራ ሊያስተውሉ ይችላሉ።
ኢንትሮፒ ግራፍ bmp-image ከዋናው ፋይል ኢንትሮፒ ግራፍ ጋር ተመሳሳይ ነው፣ እና መጠኑ ከፋይሉ መጠን 85% ነው።
የምስሉ አጠቃላይ ገጽታ ስቴጋኖግራፊን መጠቀምን ያመለክታል.
ለሂደቱ ዛፍ ገጽታ ትኩረት እንስጥ, እንዲሁም የክትባት ምልክት መኖሩን እንይ.
ይህ ማሸግ በሂደት ላይ መሆኑን ያሳያል። ለ Visual Basic ጫኚዎች (aka VBKrypt ወይም ቪቢንጀክተር) የተለመደ አጠቃቀም የሼል ኮድ ክፍያውን ለመጀመር, እንዲሁም መርፌውን በራሱ ለማከናወን.
ውስጥ ትንተና ቪቢ ማጠናከሪያ አንድ ክስተት መኖሩን አሳይቷል ሸክም በቅጹ ላይ FegatassocAirballoon2.
እንሂድ ወደ IDA ፕሮ ወደተገለጸው አድራሻ እና ተግባሩን አጥኑ. ኮዱ በጣም የተደበቀ ነው። እኛን የሚያስደስተን ቁርጥራጭ ከዚህ በታች ቀርቧል.
እዚህ የሂደቱ አድራሻ ቦታ ለፊርማ ይቃኛል። ይህ አካሄድ እጅግ በጣም አጠራጣሪ ነው።
በመጀመሪያ ፣ የፍተሻ ጅምር አድራሻ 0x400100. ይህ ዋጋ የማይንቀሳቀስ ነው እና መሰረቱ ሲቀየር አይስተካከልም። ተስማሚ በሆነ የግሪን ሃውስ ሁኔታዎች መጨረሻውን ያመለክታል PE- የሚተገበረው ፋይል ራስጌ። ሆኖም የውሂብ ጎታው ቋሚ አይደለም፣ እሴቱ ሊለወጥ ይችላል፣ እና የሚፈለገውን ፊርማ ትክክለኛ አድራሻ መፈለግ፣ ምንም እንኳን ተለዋዋጭ የትርፍ ፍሰትን ባያመጣም፣ በጣም ረጅም ጊዜ ሊወስድ ይችላል።
በሁለተኛ ደረጃ, የፊርማው ትርጉም iWGK. እኔ እንደማስበው 4 ባይት ልዩነቱን ለማረጋገጥ በጣም ትንሽ እንደሆነ ግልጽ ነው። እና የመጀመሪያውን ነጥብ ከግምት ውስጥ ካስገቡ, ስህተት የመሥራት እድሉ በጣም ከፍተኛ ነው.
እንደ እውነቱ ከሆነ, አስፈላጊው ክፍልፋይ ቀደም ሲል ከተገኘው ጫፍ ጋር ተያይዟል bmp- ስዕሎች በማካካሻ 0xA1D0D.
መገደል። ሼልኮድ በሁለት ደረጃዎች ተከናውኗል. የመጀመሪያው ዋናውን አካል ይፈታዋል. በዚህ ሁኔታ, ቁልፉ የሚወሰነው በጉልበት ኃይል ነው.
ዲክሪፕት የተደረገውን ይጥሉት ሼልኮድ እና መስመሮቹን ይመልከቱ.
በመጀመሪያ፣ የልጅ ሂደትን የመፍጠር ተግባር አሁን እናውቃለን፡- የውስጣዊ ሂደት መፍጠር.
በሁለተኛ ደረጃ, በስርዓቱ ውስጥ የመጠገን ዘዴን አውቀናል.
ወደ መጀመሪያው ሂደት እንመለስ። እናስቀምጠው breakpoint ላይ የውስጣዊ ሂደት መፍጠር እና መፈጸሙን ይቀጥሉ. በመቀጠል ግንኙነቱን እናያለን NtGetContextThread/NtSetContextThread, ይህም የማስፈጸሚያ ጅምር አድራሻን ወደ አድራሻው ይለውጣል የሼል ኮድ.
ከተፈጠረው ሂደት ጋር ከአራሚ ጋር እናገናኘዋለን እና ክስተቱን እናነቃለን። በቤተመፃህፍት ጫን/ማውረድ ላይ ተንጠልጥሏል።, ሂደቱን ይቀጥሉ እና ለመጫን ይጠብቁ .NET- ቤተ መጻሕፍት.
ተጨማሪ በመጠቀም ProcessHacker ያልታሸጉ የቆሻሻ መጣያ ክልሎች .NET- መተግበሪያ.
ሁሉንም ሂደቶች እናቆማለን እና በስርዓቱ ውስጥ የገባውን የማልዌር ቅጂ እንሰርዛለን።
የተጣለው ፋይል በተከላካዩ የተጠበቀ ነው። NET Reactor, መገልገያ በመጠቀም በቀላሉ ሊወገድ የሚችል de4dot.
ቀደም ሲል የተፃፉትን የYARA ህጎች በመጠቀም፣ ይህ AgentTesla መሆኑን እናረጋግጣለን።
ማጠቃለል
ስለዚህ፣ ከፊል አውቶማቲክ ናሙና የማሸግ ሂደትን እንደ ምሳሌ ሶስት ሚኒ-ኬዝ በመጠቀም በዝርዝር አሳይተናል፣ እንዲሁም ማልዌርን በተሟላ ጉዳይ ላይ ተመስርተን በጥናት ላይ ያለው ናሙና AgentTesla መሆኑን በማወቃችን ተግባራዊነቱን እና ሀ የተሟላ የስምምነት አመልካቾች ዝርዝር።
እኛ ያደረግነውን ተንኮል-አዘል ነገር ትንተና ብዙ ጊዜ እና ጥረት ይጠይቃል, እና ይህ ስራ በድርጅቱ ውስጥ በልዩ ሰራተኛ መከናወን አለበት, ነገር ግን ሁሉም ኩባንያዎች ተንታኝ ለመቅጠር ዝግጁ አይደሉም.
በቡድን-IB የኮምፒውተር ፎረንሲክስ እና ተንኮል አዘል ኮድ ትንተና ከሚሰጡት አገልግሎቶች አንዱ ለሳይበር አደጋዎች ምላሽ ነው። እና ደንበኞች ሰነዶችን በማፅደቅ እና በሳይበር ጥቃት መካከል ለመወያየት ጊዜ እንዳያባክን ግሩፕ-IB ጀምሯል። የክስተት ምላሽ ማቆያ፣ የቅድመ-ደንበኝነት ምዝገባ የአደጋ ምላሽ አገልግሎት እንዲሁም የማልዌር ትንተና ደረጃን ያካትታል። ስለዚህ ጉዳይ የበለጠ መረጃ ማግኘት ይቻላል
የAgentTesla ናሙናዎች እንዴት እንደሚፈቱ እንደገና ለማጥናት እና የ CERT ቡድን-IB ስፔሻሊስት እንዴት እንደሚሰራ ለማየት ከፈለጉ በዚህ ርዕስ ላይ የዌቢናር ቅጂውን ማውረድ ይችላሉ
ምንጭ: hab.com