Ваш выхад, граф: як мы не знайшлі добры сеткавы граф і стварылі свой

Ваш выхад, граф: як мы не знайшлі добры сеткавы граф і стварылі свой

Расследуючы справы, звязаныя з фішынгам, бот-сеткамі, ашуканскімі транзакцыямі і злачыннымі хакерскімі групамі, эксперты Group-IB ужо шмат гадоў выкарыстоўваюць графавы аналіз для выяўлення рознага роду сувязяў. У розных кейсах існуюць свае масівы дадзеных, свае алгарытмы выяўлення сувязяў і інтэрфейсы, заменчаныя пад пэўныя задачы. Усе гэтыя прылады з'яўляліся ўнутранай распрацоўкай Group-IB і былі даступныя толькі нашым супрацоўнікам.

Графавы аналіз сеткавай інфраструктуры (сеткавы граф) стаў першым унутраным інструментам, які мы ўбудавалі ва ўсе публічныя прадукты кампаніі. Перш чым ствараць свой сеткавы граф, мы прааналізавалі многія падобныя распрацоўкі на рынку і не знайшлі ніводнага прадукта, які б задавальняў нашым уласным патрэбам. У гэтым артыкуле мы раскажам аб тым, як мы стваралі сеткавы граф, як яго выкарыстоўваем і з якімі цяжкасцямі сутыкнуліся.

Дзмітрый Волкаў, CTO Group-IB і кіраўнік напрамку кіберразведкі

Што ўмее сеткавы граф Group-IB?

расследавання

З моманту заснавання Group-IB у 2003 годзе і да гэтага часу ідэнтыфікацыя, дэанон і прыцягненне кіберзлачынцаў да адказнасці з'яўляюцца галоўным прыярытэтам у нашай працы. Ніводнае расследаванне кібератакі не абыходзілася без аналізу сеткавай інфраструктуры атакавалых. У самым пачатку нашага шляху гэта была даволі карпатлівая "ручная праца" па пошуку ўзаемасувязяў, якія маглі дапамагчы ў ідэнтыфікацыі злачынцаў: інфармацыя аб даменных імёнах, IP-адрасах, лічбавых адбітках сервераў і інш.

Большасць атакавалых імкнуцца дзейнічаць максімальна ананімна ў сетцы. Аднак, як і ўсе людзі, яны дапускаюць памылкі. Асноўная задача такога аналізу - знайсці "белы" або "шэры" гістарычныя праекты зламыснікаў, якія маюць скрыжавання з шкоднаснай інфраструктурай, якая выкарыстоўваецца ў актуальным інцыдэнце, які мы расследуем. Калі ўдаецца выявіць "белыя праекты", то знайсці атакавалага, як правіла, становіцца трывіяльнай задачай. У выпадку з «шэрымі» на пошук сыходзіць больш часу і намаганняў, бо іх уладальнікі імкнуцца ананімізаваць ці схаваць рэгістрацыйныя дадзеныя, аднак шанцы застаюцца дастаткова высокімі. Як правіла, у пачатку сваёй злачыннай дзейнасці атакавалыя надаюць менш увагі ўласнай бяспекі і робяць больш памылак, таму чым глыбей мы зможам пагрузіцца ў гісторыю, тым вышэй шанцы на паспяховае расследаванне. Менавіта таму сеткавы граф з добрай гісторыяй - вельмі важны элемент такога расследавання. Прасцей кажучы, чым глыбейшымі гістарычнымі дадзенымі валодае кампанія, тым больш якасна яе граф. Дапусцім, гісторыя ў 5 гадоў можа дапамагчы раскрыць, умоўна, 1-2 з 10 злачынстваў, а гісторыя за 15 гадоў дае шанцы на раскрыццё ўсіх дзесяці.

Выяўленне фішынгу і махлярства

Кожны раз, калі мы атрымліваем падазроную спасылку на фішынг, ашуканскі або пірацкі рэсурсы, мы аўтаматычна будуем граф звязаных сеткавых рэсурсаў і правяраем усе знойдзеныя хасты на наяўнасць аналагічнага кантэнту. Гэта дазваляе знаходзіць як старыя фішынгавыя сайты, якія былі актыўныя, але невядомыя, так і абсалютна новыя, якія нарыхтаваны для будучых нападаў, але яшчэ не выкарыстоўваюцца. Элементарны прыклад, які сустракаецца дастаткова часта: мы знайшлі фішынгавы сайт на серверы, дзе ўсяго 5 сайтаў. Правяраючы кожны з іх, мы знаходзім фішынгавы кантэнт і на астатніх сайтах, а значыць можам заблакаваць 5 замест 1.

Пошук бэкэндаў

Гэты працэс неабходны, каб усталяваць, дзе рэальна знаходзіцца шкоднасны сервер.
99% кардшопаў, хакерскіх форумаў, мноства фішынгавых рэсурсаў і іншых шкоднасных сервераў хаваюцца як за ўласнымі проксі-серверамі, так і за проксі легітымных сэрвісаў, напрыклад, Cloudflare. Веды аб рэальным бэкендзе вельмі важна для расследаванняў: становіцца вядомы хостынг-правайдэр, у якога можна выключыць сервер, з'яўляецца магчымасць пабудаваць сувязі з іншымі шкоднаснымі праектамі.

Напрыклад, у вас ёсць фішынгавы сайт для збору дадзеных банкаўскіх карт, які рэзалвіцца ў IP-адрас 11.11.11.11, і адрас кардшопа, які рэзалвіцца ў IP-адрас 22.22.22.22. Падчас аналізу можа высветліцца, што і ў фішынгавага сайта, і ў кардшопа агульны IP-адрас бэкенда, напрыклад, 33.33.33.33. Гэтыя веды дазваляюць пабудаваць сувязь паміж фішынгавымі нападамі і кардшопам, на якім, магчыма, прадаюць дадзеныя банкаўскіх карт.

Карэляцыя падзей

Калі ў вас ёсць дзве розныя спрацоўкі (дапусцім, на IDS) з розным шкоднасным ПЗ і рознымі серверамі для кіравання атакай, вы будзеце разглядаць іх як дзве незалежныя падзеі. Але калі ёсць добрая сувязь паміж шкоднаснымі інфраструктурамі, тое становіцца відавочна, што гэта не розныя напады, а этапы аднаго, больш складанага шматступеннага нападу. А калі адна з падзей ужо атрыбутаваная да якой-небудзь групы атакавалых, то і другая таксама можна атрыбутаваць да гэтай жа групы. Вядома, працэс атрыбуцыі значна больш складаны, таму стаўцеся да напісанага як да простага прыкладу.

Узбагачэнне індыкатараў

Не будзем надаваць гэтаму шмат увагі, паколькі гэта самы распаўсюджаны сцэнар выкарыстання графаў у кібербяспецы: даеш на ўваход адзін індыкатар, а на выхадзе атрымліваеш масіў злучаных індыкатараў.

Выяўленне патэрнаў

Выяўленне патэрнаў неабходна для эфектыўнага хантынгу. Графы дазваляюць не толькі знаходзіць злучаныя элементы, але і выяўляць агульныя ўласцівасці, якія ўласцівыя вызначанай групе хакераў. Веданне такіх унікальных прыкмет дазваляе распазнаваць інфраструктуру атакавалых яшчэ на этапе падрыхтоўкі і без сведчанняў, якія пацвярджаюць атаку, такіх як фішынгавыя лісты ці шкоднасныя праграмы.

Чаму мы стварылі свой сеткавы граф?

Паўтаруся, што мы разглядалі рашэнні ад розных пастаўшчыкоў, перш чым дашлі да высновы, што нам трэба распрацаваць уласную прыладу, які ўмее тое, чаго няма ні ў адным існым прадукце. На яго стварэнне спатрэбілася некалькі гадоў, за якія мы не раз поўнасцю яго мянялі. Але, нягледзячы на ​​працяглы тэрмін распрацоўкі, мы да гэтага часу не знайшлі ні аднаго аналага, які б задавальняў нашым патрабаванням. З дапамогай уласнага прадукта мы ў выніку змаглі вырашыць практычна ўсе выяўленыя намі праблемы ў існых сеткавых графах. Ніжэй разгледзім гэтыя праблемы дэталёва:

праблема
рашэнне

Адсутнасць пастаўшчыка з рознымі калекцыямі дадзеных: даменамі, passive DNS, passive SSL, DNS-запісамі, адкрытымі партамі, запушчанымі сэрвісамі на партах, файламі, якія ўзаемадзейнічаюць з даменнымі імёнамі і IP-адрасамі. Тлумачэнне. Звычайна пастаўшчыкі падаюць асобныя тыпы дадзеных, і, каб сабраць поўную карціну, трэба набываць падпіскі ва ўсіх. Але і пры гэтым не заўсёды атрымоўваецца атрымаць усе дадзеныя: некаторыя пастаўшчыкі passive SSL падаюць дадзеныя толькі аб сертыфікатах, выпушчаных даверанымі CA, а пакрыццё самападпісаных сертыфікатаў у іх вельмі дрэннае. Іншыя падаюць дадзеныя і па самападпісаных сертыфікатах, але збіраюць іх толькі са стандартных партоў.
Мы сабралі ўсе вышэйпаказаныя калекцыі самі. Напрыклад, для збору дадзеных аб SSL-сертыфікатах мы пісалі ўласны сэрвіс, які збірае іх і ад давераных CA, і з дапамогай сканавання ўсёй IPv4-прасторы. Сертыфікаты збіраліся не толькі з IP, але і з усіх даменаў і паддаменаў з нашай базы: калі ў вас ёсць дамен example.com і яго паддамен www.example.com і ўсе яны рэзалююцца ў IP 1.1.1.1, то пры спробе атрымання SSL-сертыфіката з порта 443 па IP, дамену і яго паддамену вы можаце атрымаць тры розных выніку. Для збору дадзеных па адчыненых партах і запушчаным сэрвісам прыйшлося рабіць сваю размеркаваную сістэму сканавання, таму што ў іншых сэрвісаў IP-адрасы якія скануюць сервераў часта знаходзіліся ў «чорных спісах». Нашы сканавальныя серверы таксама трапляюць у "чорныя спісы", але вынік выяўлення патрэбных нам сэрвісаў вышэй, чым у тых, хто проста скануе як мага больш партоў і прадае доступ да гэтых дадзеных.

Адсутнасць доступу да ўсёй базы гістарычных запісаў. Тлумачэнне. Кожны нармальны пастаўшчык мае добрую назапашаную гісторыю, але па натуральных прычынах доступ да ўсіх гістарычных дадзеных мы як кліент атрымаць не маглі. Г.зн. можна атрымаць усю гісторыю па асобным запісе, напрыклад, па дамене ці IP-адрасу, але нельга ўбачыць гісторыю ўсяго - а без гэтага нельга ўбачыць поўную карціну.
Каб сабраць як мага больш гістарычных запісаў па даменах, мы скуплялі розныя базы, парсілі мноства адкрытых рэсурсаў, якія валодалі гэтай гісторыяй (добра, што такіх было шмат), дамаўляліся з рэгістратарамі даменных імёнаў. Усе абнаўленні ў нашых уласных калекцыях, вядома ж, захоўваюцца з поўнай гісторыяй змен.

Усе існуючыя рашэнні дазваляюць будаваць граф у ручным рэжыме. Тлумачэнне. Дапушчальны, вы купілі мноства падпісак ад усіх магчымых пастаўшчыкоў дадзеных (як правіла, іх завуць «абагачальнікі»). Калі вам трэба пабудаваць граф, вы "рукамі" даяце каманду дабудаваць ад патрэбнага элемента сувязі, далей з якія з'явіліся элементаў выбіраеце патрэбныя і даяце каманду дабудаваць сувязі ад іх і гэтак далей. У гэтым выпадку адказнасць за тое, наколькі якасна будзе пабудаваны граф, поўнасцю ляжыць на чалавеку.
Мы зрабілі аўтаматычную пабудову графаў. Г.зн. калі вам трэба пабудаваць граф, то сувязі ад першага элемента будуюцца аўтаматычна, далей ад усіх наступных - таксама. Спецыяліст толькі ўказвае глыбіню, з якой трэба будаваць граф. Сам працэс аўтаматычнай дабудоўкі графаў просты, але іншыя вендары не рэалізуюць яго таму, што ён дае велізарную колькасць нерэлевантных вынікаў і гэты недахоп нам таксама прыйшлося ўлічваць (гл. ніжэй).

Мноства нерэлевантных вынікаў - гэта праблема ўсіх графаў па сеткавым элементам. Тлумачэнне. Напрыклад, "дрэнны дамен" (удзельнічаў у нападзе) звязаны з серверам, з якім за апошнія 10 гадоў звязана 500 іншых даменаў. Пры ручным даданні ці аўтаматычнай пабудове графа ўсе гэтыя 500 даменаў таксама павінны вылезці на граф, хоць не маюць дачынення да нападу. Ці, напрыклад, вы правяраеце IP-індыкатар са справаздачы вендара па бяспецы. Як правіла, такія справаздачы выходзяць са значнай затрымкай і часта ахопліваюць год і болей. Хутчэй за ўсё, у момант, калі вы праглядаеце справаздачу, сервер з гэтым IP-адрасам ужо здадзены ў арэнду іншым людзям з іншымі сувязямі, і пабудова графа прывядзе да таго, што вы зноў атрымалі нерэлевантныя вынікі.
Мы навучылі сістэму выяўляць нерэлевантныя элементы па той жа логіцы, як гэта рабілі нашыя эксперты рукамі. Напрыклад, вы правяраеце дрэнны дамен example.com, які цяпер рэзалюе ў IP 11.11.11.11, а месяц таму - у IP 22.22.22.22. З IP 11.11.11.11, акрамя дамена example.com, звязаны яшчэ example.ru, а з IP 22.22.22.22 звязана 25 іншых даменаў. Сістэма, як і чалавек, разумее, што 11.11.11.11 – гэта, хутчэй за ўсё, выдзелены сервер, а паколькі дамен example.ru падобны па напісанні з example.com, то, з вялікай верагоднасцю, яны звязаны і павінны быць на графе; а вось IP 22.22.22.22 належыць shared hosting, таму ўсе яго дамены выносіць на граф не трэба, калі няма іншых сувязяў, якія паказваюць, што нейкі з гэтых 25 тысяч даменаў таксама трэба вынесці (напрыклад, example.net). Перш чым сістэма зразумее, што сувязі трэба разарваць і не выносіць частку элементаў на граф, яна ўлічвае мноства ўласцівасцяў элементаў і кластараў, у якія гэтыя элементы аб'яднаны, а таксама трываласць бягучых сувязяў. Напрыклад, калі ў нас на графе маленькі кластар (50 элементаў), у які ўваходзіць дрэнны дамен, і яшчэ адзін вялікі кластар (5 тысяч элементаў) і абодва кластара злучаны сувяззю (лініяй) з вельмі малой трываласцю (вагай), то такая сувязь разарвецца і элементы з вялікага кластара будуць выдаленыя. Але калі сувязяў паміж маленькім і вялікім кластарамі будзе шмат і іх трываласць будзе паступова падвышацца, то ў гэтым выпадку сувязь не разарвецца і на графе застануцца патрэбныя элементы з абодвух кластараў.

Не ўлічваецца інтэрвал валодання серверам, даменам. Тлумачэнне. Тэрмін рэгістрацыі "дрэнных даменаў" рана ці позна заканчваецца, і іх зноў купляюць для шкоднасных або легітымных мэт. Нават у bulletproof-хостынгаў серверы здаюцца ў арэнду розным хакерам, таму крытычна ведаць і ўлічваць інтэрвал, калі той ці іншы дамен/сервер знаходзіліся пад кіраваннем аднаго ўладальніка. Мы часта сутыкаемся з сітуацыяй, калі сервер з IP 11.11.11.11 зараз выкарыстоўваецца як C&C для банкаўскай бота, а яшчэ 2 месяцы таму з яго кіравалі Ransomware. Калі будаваць сувязь, не ўлічваючы інтэрвалы валодання, то будзе падобна, што паміж уладальнікамі банкаўскай бот-сеткі і вымагальнікамі ёсць сувязь, хоць насамрэч яе няма. У нашай рабоце такая памылка з'яўляецца крытычнай.
Мы навучылі сістэму вызначаць інтэрвалы валодання. Для даменаў гэта адносна проста, бо ў whois часта пазначаны даты пачатку і заканчэння рэгістрацыі і, калі ёсць поўная гісторыя змен whois, вызначыць інтэрвалы лёгка. Калі ў дамена тэрмін рэгістрацыі не скончыўся, але яго кіраванне было перададзена іншым уладальнікам, таксама можна адсачыць. Для SSL-сертыфікатаў такой праблемы няма, бо ён выпускаецца адзін раз, не падаўжаецца і не перадаецца. Але ў самападпісаных сертыфікатаў нельга давяраць дат, указаным у тэрмінах дзеяння сертыфіката, таму што можна згенераваць SSL-сертыфікат сёння, а дату пачатку дзеяння сертыфіката ўказаць з 2010 года. Складаней за ўсё вызначаць інтэрвалы валодання для сервераў, бо даты і тэрміны арэнды ёсць толькі ў хостынг-правайдэраў. Каб вызначаць перыяд валодання серверам, мы пачалі выкарыстоўваць вынікі сканавання портаў і стварэнні адбіткаў запушчаных службаў на портах. Па гэтай інфармацыі мы дастаткова дакладна можам сказаць, калі ў сервера мяняўся ўладальнік.

Мала сувязяў. Тлумачэнне. Цяпер не праблема нават бясплатна атрымаць спіс даменаў, у whois якіх пазначаны пэўны адрас электроннай пошты, або даведацца ўсе дамены, якія былі звязаныя з пэўным IP-адрасам. Але, калі гаворка ідзе пра хакераў, якія робяць усё магчымае, каб іх было цяжка адсочваць, патрэбны дадатковыя «трукі», якія дазволяць знайсці новыя ўласцівасці і пабудаваць новыя сувязі.
Мы патрацілі шмат часу на даследаванне таго, як можна здабываць дадзеныя, якія недаступныя, звычайным спосабам. Апісваць тут, як гэта працуе, мы не можам па зразумелых прычынах, але пры пэўных абставінах хакеры пры рэгістрацыі даменаў або арэндзе і наладзе сервераў дапускаюць памылкі, якія дазваляюць даведацца адрасы электроннай пошты, псеўданімы хакераў, адрасы бэкэндаў. Чым больш сувязяў вы здабываеце, тым дакладней можна будаваць графы.

Як працуе наш граф

Каб пачаць выкарыстоўваць сеткавы граф, трэба ўвесці ў пошукавы радок дамен, IP-адрас, email або адбітак SSL-сертыфіката. Ёсць тры ўмовы, якімі можа кіраваць аналітык: час, глыбіня крокаў і ачыстка.

Ваш выхад, граф: як мы не знайшлі добры сеткавы граф і стварылі свой

Час

Час - дата або інтэрвал, калі шуканы элемент выкарыстоўваўся для шкоднасных мэт. Калі не ўказаць гэты параметр, то сістэма сама вызначыць апошні інтэрвал валодання гэтым рэсурсам. Напрыклад, 11 ліпеня кампанія Eset апублікавала справаздачу аб тым, як Buhtrap выкарыстоўвае для кібершпіянажу 0-day эксплоит. У канцы справаздачы ёсць 6 індыкатараў. Адзін з іх secure-telemetry[.]net быў зноўку зарэгістраваны 16 ліпеня. Таму калі вы будзеце будаваць граф пасьля 16 ліпеня, то будзеце атрымліваць нерэлевантныя вынікі. Але калі паказаць, што гэты дамен выкарыстоўваўся да гэтай даты, то на граф трапляюць 126 новых даменаў, 69 IP-адрасоў, якія не пазначаны ў справаздачы Eset:

  • ukrfreshnews[.]com
  • unian-search[.]com
  • vesti-world[.]info
  • runewsmeta[.]com
  • foxnewsmeta[.]biz
  • sobesednik-meta[.]info
  • rian-ua[.]net
  • і інш

Акрамя сеткавых індыкатараў, мы адразу знаходзім сувязі са шкоднаснымі файламі, якія мелі сувязі з гэтай інфраструктурай і тэгамі, якія падказваюць нам, што выкарыстоўваліся Meterpreter, AZORult.

Самае выдатнае, што вы атрымліваеце гэты вынік на працягу адной секунды і вам ужо не трэба марнаваць дні на аналіз дадзеных. Безумоўна, такі падыход часам у разы скарачае час на расследаванні, што часта бывае крытычным.

Ваш выхад, граф: як мы не знайшлі добры сеткавы граф і стварылі свой

Колькасць крокаў ці глыбіня рэкурсіі, з якой будзе будавацца граф

Па змаўчанні глыбіня роўная 3. Гэта азначае, што ад шуканага элемента будуць знойдзеныя ўсе наўпрост злучаныя элементы, потым гэта кожнага новага элемента будуць пабудаваны новыя сувязі да іншых элементаў, і ўжо ад новых элементаў з мінулага кроку будуць новыя элементы.

Возьмем прыклад, не злучаны з APT і 0-day эксплойтамі. Нядаўна на Хабре апісвалі цікавы кейс з махлярствам, звязаны з крыптавалютамі. У справаздачы згадваецца дамен - themcx[.]co, які выкарыстоўваецца ашуканцамі для хостынгу сайта нібы абменніка Miner Coin Exchange і phone-lookup[.]xyz, для прыцягнення трафіку.

З апісання зразумела, што схема патрабуе дастаткова вялікай інфраструктуры для прыцягнення трафіку на ашуканскія рэсурсы. Мы вырашылі паглядзець на гэтую інфраструктуру, пабудаваўшы граф у 4 крокі. На выхадзе атрымалі граф з 230 даменамі і 39 IP-адрасамі. Далей разбіваем дамены на 2 катэгорыі: тыя, што падобныя на сэрвісы працы з криптовалютами і тыя, што прызначаны для нагону трафіку праз сэрвісы праверкі тэлефонаў:

Звязаныя з крыптавалютай
Звязаны з сэрвісамі прабівання тэлефонаў

coinkeeper[.]cc
caller-record[.]site.

mcxwallet[.]co
phone-records[.]space

btcnoise[.]com
fone-uncover[.]xyz

cryptominer[.]watch
number-uncover[.]info

Ваш выхад, граф: як мы не знайшлі добры сеткавы граф і стварылі свой

ачыстка

Па змаўчанні опцыя "Ачыстка графа" уключаная і ўсе нерэлевантныя элементы будуць выдаляцца з графа. Дарэчы, яна выкарыстоўвалася і ва ўсіх папярэдніх прыкладах. Прадбачу натуральнае пытанне: а як жа зрабіць так, каб не выдалілася нешта важнае? Адкажу: для аналітыкаў, якія кахаюць будаваць графы рукамі, аўтаматызаваную ачыстку можна адключыць і абраць колькасць крокаў = 1. Далей аналітык зможа дабудоўваць граф ад патрэбных яму элементаў і выдаляць нерэлевантныя пастаўленай задачы элементы з графа.

Ужо на графе аналітыку становяцца даступнымі гісторыя змен whois, DNS, а таксама адкрытых партоў і запушчаных на іх сэрвісаў.

Ваш выхад, граф: як мы не знайшлі добры сеткавы граф і стварылі свой

Фінансавы фішынг

Мы даследавалі дзеянні адной APT-групы, якая на працягу некалькіх гадоў праводзіла фішынгавыя атакі супраць кліентаў розных банкаў у розных рэгіёнах. Характэрнай рысай гэтай групы была рэгістрацыя даменаў, вельмі падобных на назвы рэальных банкаў, а большая частка фішынгавых сайтаў мела аднолькавы дызайн, адрозненні былі толькі ў назве банкаў і іх лагатыпах.

Ваш выхад, граф: як мы не знайшлі добры сеткавы граф і стварылі свой
У дадзеным выпадку нам вельмі дапамог аўтаматызаваны графавы аналіз. Узяўшы адзін з іх даменаў — lloydsbnk-uk[.]com, мы праз некалькі секунд пабудавалі граф з глыбінёй у 3 крокі, які выявіў больш за 250 шкоднасных даменаў, якія былі скарыстаны гэтай групай з 2015 года і працягваюць выкарыстоўвацца. Некаторыя з гэтых даменаў ужо выкуплены банкамі, але па гістарычных запісах відаць, што раней яны былі зарэгістраваны на атакавалых.

Для навочнасці на малюнку паказаны граф з глыбінёй у 2 крокі.

Характэрна, што ўжо ў 2019 годзе атакавалыя некалькі змянілі тактыку і пачалі рэгістраваць не толькі дамены банкаў для хостынгу вэб-фішынгу, але і дамены розных кансалтынгавых кампаній для адпраўкі фішынгавых лістоў. Напрыклад, дамены swift-department.com, saudconsultancy.com, vbgrigoryanpartners.com.

Ваш выхад, граф: як мы не знайшлі добры сеткавы граф і стварылі свой

Cobalt gang

У снежні 2018 года хакерская група Cobalt, якая спецыялізуецца на мэтанакіраваных атаках на банкі, правяла рассылку ад імя Нацыянальнага банка Казахстана.

Ваш выхад, граф: як мы не знайшлі добры сеткавы граф і стварылі свой
У лістах былі спасылкі на hXXps://nationalbank.bz/Doc/Prikaz.doc. Спампаваны дакумент утрымоўваў макрас, які запускае powershell, які паспрабуе загрузіць і выканаць файл з hXXp://wateroilclub.com/file/dwm.exe у %Temp%einmrmdmy.exe. Файл %Temp%einmrmdmy.exe aka dwm.exe - CobInt stager, настроены на ўзаемадзеянне з серверам hXXp://admvmsopp.com/rilruietguadvtoefmuy.

Прадстаўце, што ў вас няма магчымасці атрымаць гэтыя фішынгавыя лісты і правесці поўны аналіз шкоднасных файлаў. Граф па шкоднаснаму дамену nationalbank[.]bz адразу паказвае сувязі з іншымі шкоднаснымі даменамі, атрыбутуе гэта да групы і паказвае якія файлы выкарыстоўваліся ў нападзе.

Ваш выхад, граф: як мы не знайшлі добры сеткавы граф і стварылі свой
Возьмем з гэтага графа IP-адрас 46.173.219[.]152 і пабудуем па ім граф у адзін праход і выключым ачыстку. З ім звязана 40 даменаў, напрыклад, bl0ckchain[.]ug
paypal.co.uk.qlg6[.]pw
cryptoelips[.]com

Мяркуючы па імёнах даменаў, падобна што яны выкарыстоўваюцца ў ашуканскіх схемах, але алгарытм ачысткі зразумеў, што да гэтага нападу яны не маюць дачынення і не вынес іх на граф, што моцна спрашчае працэс аналізу і атрыбуцыі.

Ваш выхад, граф: як мы не знайшлі добры сеткавы граф і стварылі свой
Калі нанова пабудаваць граф па nationalbank[.]bz, але адключыўшы алгарытм ачысткі графа, то на яго трапляе больш за 500 элементаў і большая частка з якіх не мае дачынення ні да групы Cobalt, ні да іх нападаў. Прыклад, як выглядае такі граф прыведзены ніжэй:

Ваш выхад, граф: як мы не знайшлі добры сеткавы граф і стварылі свой

Заключэнне

Пасля некалькіх гадоў тонкай налады, тэставанняў у рэальных расследаваннях, даследаванняў пагроз і палявання за атакавалымі нам удалося не толькі стварыць унікальную прыладу, але і змяніць стаўленне да яго экспертаў унутры кампаніі. Спачатку тэхнічныя эксперты жадаюць поўнага кантролю над працэсам пабудовы графа. Пераканаць іх у тым, што аўтаматычная пабудова графа зможа рабіць гэта лепш, чым чалавек са шматгадовым досведам, было вельмі складана. Усё вырашыла час і шматразовыя "ручныя" праверкі вынікаў таго, што выдаваў граф. Цяпер нашы эксперты не проста давяраюць сістэме, але і выкарыстоўваюць атрыманыя ёю вынікі ў штодзённай працы. Гэтая тэхналогія працуе ўсярэдзіне кожнай з нашых сістэм і дазваляе лепш выяўляць пагрозы любога тыпу. Інтэрфейс для ручнога аналізу графа ўбудаваны ва ўсе прадукты Group-IB і значна пашырае магчымасці для хантынгу за кіберзлачыннасцю. Гэта пацвярджаюць водгукі аналітыкаў з боку нашых кліентаў. А мы, у сваю чаргу, працягваем узбагачаць граф дадзенымі і працаваць над новымі алгарытмамі, якія выкарыстоўваюць штучны інтэлект, для максімальна дакладнага сеткавага графа.

Крыніца: habr.com

Дадаць каментар