Прыгоды няўлоўнай малвары, частка I

Прыгоды няўлоўнай малвары, частка I

Гэтым артыкулам мы пачынаем серыю публікацый аб няўлоўных Малвары. Праграмы для ўзлому, не якія пакідаюць слядоў нападу, вядомыя таксама як fileless («бесцялесныя», нябачныя, безфайлавыя), як правіла, выкарыстаюць PowerShell на сістэмах Windows, каб утойліва выконваць каманды для пошуку і вымання каштоўнага кантэнту. Выявіць хакерскую дзейнасць без шкоднасных файлаў - складана выканальная задача, т. да. антывірусы і многія іншыя сістэмы выяўлення працуюць на аснове сігнатурнага аналізу. Але добрая навіна складаецца ў тым, што такое ПЗ усё ж існуе. Напрыклад, UBA-сістэмы, здольныя выявіць шкоднасную актыўнасць у файлавых сістэмах.

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

Вялікі і жудасны PowerShell

Я пісаў аб некаторых з гэтых ідэй раней у серыі абфускацыі PowerShell, але больш зыходзячы з тэарэтычнага ўяўлення. Пазней я натыкнуўся на сайт для гібрыднага аналізу, дзе можна знайсці ўзоры малвары, "адлоўленай" у дзікай прыродзе. Я вырашыў паспрабаваць выкарыстоўваць гэты сайт для пошуку узораў fileless-шкоданосаў. І мне гэта ўдалося. Дарэчы, калі вы захочаце адправіцца ў сваю ўласную экспедыцыю па пошуку шкоднасных праграм, вам давядзецца прайсці праверку на гэтым сайце, каб яны ведалі, што вы робіце працу як white hat спецыяліст. Як блогер, які піша аб бяспецы, я прайшоў яе без пытанняў. Я ўпэўнены, вы таксама зможаце.

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

У выпадку з PowerShell і іншымі ўзорамі сцэнараў (Visual Basic, JavaScript і т. д.), я змог убачыць і сам код. Напрыклад, я натыкнуўся на такі PowerShell асобнік:

Прыгоды няўлоўнай малвары, частка I

Вы таксама можаце запусціць PowerShell у кадоўцы base64, каб пазбегнуць выяўлення. Звярніце ўвагу на выкарыстанне Noninteractive і Hidden параметраў.

Калі вы прачыталі мае запісы па абфускацыі, тыя вы ведаеце, што параметр -e паказвае на тое, што змесціва кадуецца ў base64. Дарэчы, гібрыдны аналіз дапамагае таксама і з гэтым, дэкадуючы ўсё зваротна. Калі вы захочаце паспрабаваць дэкадаваць base64 PowerShell (далей - PS) самастойна, трэба выканаць гэтую каманду:

 [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

Унікай глыбей

Я дэкадаваў наш PS-сцэнар з дапамогай гэтага метаду, ніжэй прадстаўлены тэкст праграмы, праўда злёгку мной мадыфікаваны:

Прыгоды няўлоўнай малвары, частка I

Заўважце, што рыпанне было прывязана да даты 4 верасня 2017 г. і перадаваў сесійныя cookies.

Я пісаў аб гэтым стылі атакі ў серыі па абфускацыі PS, у якой кадаваны ў base64 скрыпт сам загружае адсутнічаюць шкоднасныя праграмы з іншага сайта, задзейнічаючы з бібліятэкі. Net Framework аб'ект WebClient, каб зрабіць усю цяжкую працу.

Для чаго гэта трэба?

Для праграмнага забеспячэння бяспекі, сканавальнага часопісы падзей Windows або фаерволла, кадоўка base64 прадухіляе выяўленне радка «WebClient» па простым тэкставым шаблоне ў мэтах абароны ад выканання такога вэб-запыту. І бо ўсё "зло" шкоднаснага ПА затым загружаецца і перадаецца ў наш PowerShell, гэты падыход такім чынам дазваляе цалкам ухіляцца ад выяўлення. Дакладней, гэта я так думаў спачатку.

Аказваецца, з уключэннем прасунутага лагавання часопіса Windows PowerShell (гл. мой артыкул) вы зможаце ўбачыць загружаны радок у часопісе падзей. Я (як і іншыя ) лічу, што Microsoft варта ўключыць дадзены ўзровень вядзення часопіса па змаўчанні. Таму пры ўключаным пашыраным лагаванні мы ўбачым у часопісе падзей Windows выкананы запыт загрузкі з PS скрыпту па прыкладзе, які мы разабралі вышэй. Таму мае сэнс яго актываваць, згодны?

Дададзім дадатковыя сцэнары

Хакеры спрытна хаваюць напад PowerShell у макрасах Microsoft Office, напісаных на Visual Basic і на іншых скрыптовых мовах. Ідэя заключаецца ў тым, што ахвяра атрымлівае паведамленне, напрыклад, ад службы дастаўкі, з укладзенай справаздачай у фармаце .doc. Вы адчыняеце гэты дакумент, які ўтрымоўвае макрас, і ў канчатковым выніку ён сам запускае шкоднасны PowerShell.

Часта сам сцэнар Visual Basic обфусцируется так, што ён вольна ўхіляецца ад антывірусаў і іншых сканараў шкоднасных праграм. У духу ўжо выкладзенага, я вырашыў у якасці практыкавання закадаваць прыведзены вышэй PowerShell у JavaScript. Ніжэй вынікі маёй працы:

Прыгоды няўлоўнай малвары, частка I

Абфуцаваны JavaScript, які хавае наш PowerShell. Рэальныя хакеры робяць гэта на раз-два.

Гэта яшчэ адна з тэхнік, якую я сустрэў на абшарах сеткі: выкарыстанне абалонкі Wscript.Shell для запуску кадаванага PowerShell. Дарэчы, JavaScript сам па сабе з'яўляецца сродкам дастаўкі шкоднасных праграм. Многія версіі Windows маюць убудаваны Хост сцэнарыяў Windows, які сам умее запускаць JS.
У нашым выпадку, шкоднасны скрыпт JS укладзены як файл c.doc.js пашырэннем. Windows, як правіла, паказвае толькі першы суфікс, таму ён будзе адлюстроўвацца ахвяры як дакумент Word.

Прыгоды няўлоўнай малвары, частка I

Значок JS адлюстроўваецца толькі ў абразку ў выглядзе скрутка. Нядзіўна, што многія людзі будуць адкрываць гэтае ўкладанне, думаючы, што гэта Word-дакумент.

У маім прыкладзе я змяніў прыведзены вышэй PowerShell, каб загрузіць сцэнар з майго вэб-сайта. Выдалены сцэнар PS проста друкуе "Evil Malware". Як бачыце, ён зусім не злы. Вядома, рэальныя хакеры зацікаўлены ў атрыманні доступу да наўтбука або серверу, скажам, праз камандую абалонку. У наступным артыкуле я пакажу, як гэта зрабіць, выкарыстоўваючы PowerShell Empire.

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

Крыніца: habr.com

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