የሲሰምን ስጋት ትንተና መመሪያ፣ ክፍል 1

የሲሰምን ስጋት ትንተና መመሪያ፣ ክፍል 1

ይህ መጣጥፍ የሳይሞን ስጋቶችን ለመተንተን የተከታታዩ የመጀመሪያ ክፍል ነው። ሁሉም የተከታታዩ ክፍሎች፡-

ክፍል 1. የ Sysmon ምዝግብ ማስታወሻዎችን ለመተንተን መግቢያ (እዚህ ነን)
ክፍል 2. አደጋዎችን ለመለየት ከSysmon Events የተገኘውን መረጃ መጠቀም
ክፍል 3፡ ከግራፎች ጋር የጥልቅ ሲሰምን ስጋት ትንተና

በመረጃ ደኅንነት ውስጥ ከተሳተፉ፣ ምንአልባት ቀጣይነት ያለውን ጥቃት መረዳት አለቦት። ቀደም ሲል የሰለጠነ አይን ካለህ በ "ጥሬ" ጥሬ ምዝግብ ማስታወሻዎች ውስጥ መደበኛ ያልሆነ እንቅስቃሴ መፈለግ ትችላለህ - በለው፣ የPowerShell ስክሪፕት እየሰራ ነው። የማውረድ ሕብረቁምፊ ትዕዛዝ ወይም በዊንዶውስ የክስተት ምዝግብ ማስታወሻ ውስጥ ያለውን የቅርብ ጊዜ እንቅስቃሴ በማሸብለል ብቻ የ Word ፋይል መስሎ የVBS ስክሪፕት። ግን በጣም ትልቅ ራስ ምታት ነው። እንደ እድል ሆኖ, Microsoft Sysmon ን ፈጥሯል, ይህም የጥቃት ትንታኔን በጣም ቀላል ያደርገዋል.

በSysmon መዝገብ ውስጥ ከሚታዩት ማስፈራሪያዎች በስተጀርባ ያሉትን መሰረታዊ ሀሳቦች መረዳት ይፈልጋሉ? መመሪያችንን ያውርዱ የ WMI ክስተቶች እንደ የስለላ ዘዴ እና የውስጥ ሰዎች እንዴት ሌሎች ሰራተኞችን በድብቅ ለመሰለል እንደሚችሉ ይገነዘባሉ። ከዊንዶውስ ክስተት ምዝግብ ማስታወሻ ጋር አብሮ የመሥራት ዋናው ችግር ስለ ወላጅ ሂደቶች መረጃ አለመኖር ነው, ማለትም. ከእሱ የሂደቶችን ተዋረድ ለመረዳት የማይቻል ነው. የSysmon ሎግ ግቤቶች በሌላ በኩል የወላጅ ሂደት መታወቂያ፣ ስሙ እና እየሄደ ያለውን የትእዛዝ መስመር ይይዛሉ። ማይክሮሶፍት እናመሰግናለን።

በተከታታዮቻችን የመጀመሪያ ክፍል ከSysmon በመሰረታዊ መረጃ ምን ማድረግ እንደምንችል እናያለን። በክፍል ሁለት፣ የማስፈራሪያ ግራፎች በመባል የሚታወቁትን ይበልጥ የተወሳሰቡ የተጣጣሙ አወቃቀሮችን ለመፍጠር የወላጅ ሂደት መረጃን ሙሉ በሙሉ እንጠቀማለን። በሶስተኛው ክፍል የግራፉን "ክብደት" በመተንተን መደበኛ ያልሆነ እንቅስቃሴን የማስፈራሪያውን ግራፍ የሚቃኝ ቀላል ስልተ ቀመር እንመለከታለን. እና በመጨረሻ ፣ እንደ ሽልማት ፣ ማስፈራሪያዎችን ለመለየት ንፁህ (እና ለመረዳት የሚቻል) ፕሮባቢሊቲካዊ ዘዴ ያገኛሉ።

ክፍል 1፡ የሲሞን ሎግ ትንታኔን ማስተዋወቅ

የዝግጅቱን መዝገብ ውስብስብነት ለመረዳት ምን ይረዳል? በመጨረሻ ፣ SIEM ክስተቶችን መደበኛ ያደርገዋል እና ተከታይ ትንታኔቸውን ቀላል ያደርገዋል. ግን ያን ያህል ርቀት መሄድ የለብንም ቢያንስ በመጀመሪያ። በመጀመሪያ ፣ የ SIEM መርሆዎችን ለመረዳት ፣ አስደናቂውን የ Sysmon መገልገያ መሞከር በቂ ይሆናል። እና ከእሷ ጋር ለመስራት በሚያስደንቅ ሁኔታ ቀላል ነች። ቀጥልበት ማይክሮሶፍት!

የSysmon ገጽታዎች ምንድ ናቸው?

በአጭሩ ጠቃሚ እና ሊነበብ የሚችል መረጃ ስለ ሂደቶች (ከዚህ በታች ያሉትን ስዕሎች ይመልከቱ). በዊንዶውስ የክስተት ምዝግብ ማስታወሻ ውስጥ የሌሉ ብዙ ጠቃሚ ዝርዝሮችን ያገኛሉ ነገር ግን በጣም አስፈላጊዎቹ የሚከተሉት መስኮች ናቸው፡

  • የሂደት መታወቂያ (በአስርዮሽ እንጂ ሄክስ አይደለም!)
  • የወላጅ ሂደት መታወቂያ
  • የትእዛዝ መስመርን ያሂዱ
  • የወላጅ ሂደት ትዕዛዝ መሾመር
  • የፋይል ምስል hash
  • የፋይል ምስል ስሞች

Sysmon እንደ መሳሪያ ነጂ እና አገልግሎት በተመሳሳይ ጊዜ ተጭኗል - የበለጠ ይወቁ እዚህ. የእሱ ቁልፍ ጥቅም የምዝግብ ማስታወሻዎችን የመተንተን ችሎታ ነው ብዙ ምንጮች ፣ የመረጃ ትስስር እና የውጤት ዋጋዎች በአንድ የክስተት ምዝግብ ማስታወሻ አቃፊ ውስጥ ፣ በመንገዱ ላይ ይገኛል ማይክሮሶፍት -> ዊንዶውስ -> Sysmon -> ተግባራዊ. በዊንዶውስ ሎግ ላይ በራሴ የፀጉር ማጎልበት ምርመራዎች ፣ በPowerShell ምዝግብ ማስታወሻዎች አቃፊ እና በሴኪዩሪቲ ማህደር መካከል መቀያየር ነበረብኝ ። ይህ በጭራሽ ቀላል ስራ አይደለም, እና በኋላ እንደተረዳሁት, ወዲያውኑ አስፕሪን ማከማቸት የተሻለ ነበር.

በሌላ በኩል፣ Sysmon መሰረታዊ ሂደቶችን ለመረዳት ጠቃሚ (ወይም ሻጮች እንደሚሉት፣ ተግባራዊ ሊሆን የሚችል) መረጃ በማቅረብ የጥራት ዝላይን ወደፊት ይወስዳል። ለምሳሌ, እኔ የተደበቀ ክፍለ ጊዜ ጀመርኩ wmiexecበኔትወርኩ ውስጥ የስማርት የውስጥ እንቅስቃሴን የሚያስመስል። በWindows Event Log ውስጥ የሚያዩት ነገር ይኸውና፡

የሲሰምን ስጋት ትንተና መመሪያ፣ ክፍል 1

ስለ ሂደቱ አንዳንድ መረጃዎች በዊንዶውስ መዝገብ ውስጥ ይታያሉ, ግን ብዙም ጥቅም የለውም. የፕላስ ሂደት መታወቂያዎች በሄክስ ???

ስለጠለፋ መሰረታዊ ነገሮች ግንዛቤ ላለው ባለሙያ የአይቲ ባለሙያ የትእዛዝ መስመሩ አጠራጣሪ መሆን አለበት። cmd.exe ን በመጠቀም ውፅዓት ወደ እንግዳ ስም ወደ ፋይል የሚመራውን ሌላ ትዕዛዝ ለማስኬድ - ይህ ከሶፍትዌር ቁጥጥር እና አስተዳደር ድርጊቶች ጋር ተመሳሳይ ነው ። ትዕዛዝ-እና-ቁጥጥር (C2)በዚህ መንገድ የWMI አገልግሎቶችን በመጠቀም የውሸት ሼል ይፈጠራል።
አሁን ምን ያህል ተጨማሪ መረጃ እንደሚሰጠን በመመልከት የSysmon መግቢያን አቻ እንይ፡-

የሲሰምን ስጋት ትንተና መመሪያ፣ ክፍል 1

Sysmon ባህሪያት በአንድ ቅጽበታዊ ገጽ እይታ፡ ስለ ሂደቱ ዝርዝር መረጃ በሚነበብ መልኩ

የትእዛዝ መስመሩን ብቻ ሳይሆን የፋይሉን ስም ፣ ወደ ተፈፃሚው መተግበሪያ የሚወስደውን መንገድ ፣ ዊንዶውስ ስለ እሱ የሚያውቀውን (“የዊንዶውስ ትዕዛዝ ፕሮሰሰር”) ፣ መለያውን ይመልከቱ ። የወላጅነት ሂደት, ትዕዛዝ መስመር ወላጅየ cmd ሼል ያስጀመረው እና እንዲሁም የወላጅ ሂደት ትክክለኛ የፋይል ስም። ሁሉም በአንድ ቦታ, በመጨረሻ!
ከSysmon log, በከፍተኛ ደረጃ ይህ በ "ጥሬ" ምዝግብ ማስታወሻዎች ውስጥ ያየነው አጠራጣሪ የትእዛዝ መስመር የሰራተኛው መደበኛ ስራ ውጤት አይደለም ብለን መደምደም እንችላለን. ይልቁንም፣ ቀደም ሲል እንደገለጽኩት በ C2 መሰል ሂደት - wmiexec - እና በቀጥታ በአገልግሎቱ WMI ሂደት (WmiPrvSe) የተፈጠረ ነው። አሁን የርቀት አጥቂ ወይም ውስጣዊ አካል ለጥርስ የኮርፖሬት መሠረተ ልማት እየሞከረ እንደሆነ አመልካች አለን።

Get-Sysmonlogsን በማስተዋወቅ ላይ

በእርግጥ Sysmon አንድ ቦታ ላይ ምዝግብ ማስታወሻዎች ሲኖረው በጣም ጥሩ ነው። ግን ምናልባት የግለሰብ የምዝግብ ማስታወሻዎችን በፕሮግራም ማግኘት ብንችል የተሻለ ሊሆን ይችላል - ለምሳሌ በPowerShell ትዕዛዞች። በዚህ አጋጣሚ፣ ሊከሰቱ የሚችሉ ስጋቶችን ፍለጋ በራስ ሰር የሚሰራ ትንሽ የPowerShell ስክሪፕት መጻፍ ይቻል ነበር።
ይህን ሃሳብ ለማግኘት የመጀመሪያው አይደለሁም። እና በአንዳንድ የመድረክ ጽሁፎች እና GitHub ውስጥ ጥሩ ነው ፕሮጀክቶች የSysmon ሎግ ለመተንተን እንዴት PowerShellን መጠቀም እንደሚቻል ቀደም ሲል ተብራርቷል። በእኔ ሁኔታ፣ ለእያንዳንዱ የሳይሞን መስክ የተለየ የትንታኔ ስክሪፕት ከመጻፍ መቆጠብ እፈልግ ነበር። እናም የሰነፍ ሰው መርህ ተጠቀምኩኝ እና በዚህ ምክንያት አንድ አስደሳች ነገር ያመጣሁ ይመስለኛል።
የመጀመሪያው አስፈላጊ ነጥብ የትዕዛዝ ችሎታ ነው ያግኙ-WinEvent የSysmon ሎግዎችን ያንብቡ ፣ አስፈላጊዎቹን ክስተቶች ያጣሩ እና ውጤቱን በ PS ተለዋዋጭ ውስጥ ያሳዩ ፣ እንደዚህ ያለ

$events = Get-WinEvent  -LogName "Microsoft-Windows-Sysmon/Operational" | where { $_.id -eq 1 -or $_.id -eq 11}

ትዕዛዙን እራስዎ መሞከር ከፈለጉ፣ ይዘቱን በ$events array የመጀመሪያ ክፍል፣ $events[0] ውስጥ በማሳየት፣ ተከታታይ የጽሑፍ ሕብረቁምፊዎችን በጣም ቀላል በሆነ ቅርጸት ማውጣት ይችላሉ፡ የSysmon ስም መስክ, ኮሎን, እና ከዚያም እሴቱ ራሱ.

የሲሰምን ስጋት ትንተና መመሪያ፣ ክፍል 1

ሆሬ! የSysmon ሎግ ውፅዓት በJSON-ዝግጁ ቅርጸት

እንደኔ እያሰብክ ነው? ትንሽ ተጨማሪ ጥረት ካደረግህ ውጤቱን ወደ JSON-የተሰራ ሕብረቁምፊ መቀየር እና ከዛ ኃይለኛ ትዕዛዝ ጋር በቀጥታ ወደ PS ነገር መጫን ትችላለህ ከጄሰን ቀይር .
ለለውጡ የPowerShell ኮድ አሳይሻለሁ - በጣም ቀላል ነው - በሚቀጥለው ክፍል። ለአሁኑ፣ እንደ PS ሞጁል የጫንኩት ጌት-sysmonlogs የተባለው አዲሱ ትእዛዝ ምን ሊያደርግ እንደሚችል እንይ።
በአስደናቂው የክስተት ምዝግብ ማስታወሻ በይነገጽ ውስጥ በጥልቀት ከመቆፈር ይልቅ የተጨማሪ እንቅስቃሴን በቀጥታ ከPowerShell ክፍለ ጊዜ መፈለግ እና እንዲሁም የ PS ትዕዛዙን መጠቀም እንችላለን የት (ተለዋዋጭ - "?") የፍለጋ ውጤቶቹን ለማሳጠር:

የሲሰምን ስጋት ትንተና መመሪያ፣ ክፍል 1

በWMI በኩል የተጀመሩ የcmd ዛጎሎች ዝርዝር። የዛቻ ትንተና ርካሽ ከራሳችን የጌት-ሲይሞሎግስ ቡድን ጋር

ድንቅ! እንደ ዳታቤዝ አይነት የሲስሞን ሎግ ምርጫ መሳሪያ ፈጠርኩ። በእኛ ጽሑፍ ውስጥ ስለ ኢ.ኪ.ኤል. ምንም እንኳን በመደበኛነት በእውነተኛ SQL-እንደ በይነገጽ በኩል ይህ ተግባር የሚከናወነው በውስጡ በተገለጸው አሪፍ መገልገያ ነው። አዎ፣ ኢ.ሲ.ኤል ግርማ ሞገስ ያለውግን በሶስተኛው ክፍል እንነካዋለን.

የሲሞና እና የግራፍ ትንተና

አሁን የፈጠርነውን ረቂቅ እናስብ። በመሰረቱ፣ አሁን በPowerShell በኩል ተደራሽ የሆነ የዊንዶውስ ክስተት ዳታቤዝ አለን። ቀደም ብዬ እንደገለጽኩት፣ በመዝገቦች መካከል ግንኙነቶች ወይም ግንኙነቶች አሉ - በParentProcessId በኩል - ስለዚህ የተሟላ የሂደት ተዋረድ ማግኘት ይችላሉ።

ተከታታዩን ካነበቡ "የማላቫሪ ጀብዱዎች" ከዚያ ጠላፊዎች እያንዳንዱ ሂደት ትንሽ ሚናውን የሚጫወትበት እና ለቀጣዩ ደረጃ የፀደይ ሰሌዳ የሚያዘጋጅበት ውስብስብ ባለብዙ ደረጃ ጥቃቶችን መፍጠር እንደሚወዱ ያውቃሉ። እንደነዚህ ያሉ ነገሮች ከ "ጥሬ" ምዝግብ ማስታወሻ ብቻ ለመያዝ እጅግ በጣም አስቸጋሪ ናቸው.
ነገር ግን በእኔ Get-Sysmonlogs ትዕዛዝ እና ተጨማሪ የዳታ መዋቅር በኋላ በጽሁፉ ውስጥ የምንመለከተው (በእርግጥ ግራፍ)፣ ማስፈራሪያዎችን የምንለይበት ተግባራዊ መንገድ አለን።
እንደ ሁልጊዜው በDYI ብሎግ ፕሮጄክቶቻችን ውስጥ፣ የአስጊዎችን ዝርዝር ሁኔታ በትንሽ መጠን በመተንተን ላይ በሰራህ ቁጥር፣ በድርጅት ደረጃ ስጋቶችን መለየት ምን ያህል ከባድ እንደሆነ የበለጠ ትገነዘባለህ። እና ይህ ግንዛቤ እጅግ በጣም ጥሩ ነው። አስፈላጊ ነጥብ.

በአንቀጹ ሁለተኛ ክፍል ውስጥ የመጀመሪያዎቹን አስደሳች ውስብስብ ነገሮች እናያለን ፣እዚያም የሲሲሞን ክስተቶችን እርስ በእርስ ወደ በጣም ውስብስብ መዋቅሮች ማገናኘት እንጀምራለን ።

ምንጭ: hab.com

አስተያየት ያክሉ