Гэтым артыкулам мы пачынаем серыю публікацый аб няўлоўных Малвары. Праграмы для ўзлому, не якія пакідаюць слядоў нападу, вядомыя таксама як fileless («бесцялесныя», нябачныя, безфайлавыя), як правіла, выкарыстаюць PowerShell на сістэмах Windows, каб утойліва выконваць каманды для пошуку і вымання каштоўнага кантэнту. Выявіць хакерскую дзейнасць без шкоднасных файлаў - складана выканальная задача, т. да. антывірусы і многія іншыя сістэмы выяўлення працуюць на аснове сігнатурнага аналізу. Але добрая навіна складаецца ў тым, што такое ПЗ усё ж існуе. Напрыклад,
Калі я ўпершыню пачаў вывучаць тэму крутых хакераў,
Вялікі і жудасны PowerShell
Я пісаў аб некаторых з гэтых ідэй раней у
Апроч саміх узораў на сайце можна ўбачыць, што ж робяць гэтыя праграмы. Гібрыдны аналіз запускае шкоднаснае ПА ва ўласнай пясочніцы і адсочвае сістэмныя выклікі, запушчаныя працэсы і дзеянні ў сетцы, а таксама здабывае падазроныя тэкставыя радкі. Для двайковых файлаў і іншых выкананых файлаў, г.зн. там, дзе вы нават не можаце паглядзець на фактычны код высокага ўзроўню, гібрыдны аналіз вырашае, ці з'яўляецца ПЗ шкоднасным або проста падазроным на аснове яго актыўнасці падчас выканання. І пасля гэтага ўжо ацэньваецца ўзор.
У выпадку з PowerShell і іншымі ўзорамі сцэнараў (Visual Basic, JavaScript і т. д.), я змог убачыць і сам код. Напрыклад, я натыкнуўся на такі PowerShell асобнік:
Вы таксама можаце запусціць PowerShell у кадоўцы base64, каб пазбегнуць выяўлення. Звярніце ўвагу на выкарыстанне Noninteractive і Hidden параметраў.
Калі вы прачыталі мае запісы па абфускацыі, тыя вы ведаеце, што параметр -e паказвае на тое, што змесціва кадуецца ў base64. Дарэчы, гібрыдны аналіз дапамагае таксама і з гэтым, дэкадуючы ўсё зваротна. Калі вы захочаце паспрабаваць дэкадаваць base64 PowerShell (далей - PS) самастойна, трэба выканаць гэтую каманду:
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))
Унікай глыбей
Я дэкадаваў наш PS-сцэнар з дапамогай гэтага метаду, ніжэй прадстаўлены тэкст праграмы, праўда злёгку мной мадыфікаваны:
Заўважце, што рыпанне было прывязана да даты 4 верасня 2017 г. і перадаваў сесійныя cookies.
Я пісаў аб гэтым стылі атакі ў
Для чаго гэта трэба?
Для праграмнага забеспячэння бяспекі, сканавальнага часопісы падзей Windows або фаерволла, кадоўка base64 прадухіляе выяўленне радка «WebClient» па простым тэкставым шаблоне ў мэтах абароны ад выканання такога вэб-запыту. І бо ўсё "зло" шкоднаснага ПА затым загружаецца і перадаецца ў наш PowerShell, гэты падыход такім чынам дазваляе цалкам ухіляцца ад выяўлення. Дакладней, гэта я так думаў спачатку.
Аказваецца, з уключэннем прасунутага лагавання часопіса Windows PowerShell (гл. мой артыкул) вы зможаце ўбачыць загружаны радок у часопісе падзей. Я (як
Дададзім дадатковыя сцэнары
Хакеры спрытна хаваюць напад PowerShell у макрасах Microsoft Office, напісаных на Visual Basic і на іншых скрыптовых мовах. Ідэя заключаецца ў тым, што ахвяра атрымлівае паведамленне, напрыклад, ад службы дастаўкі, з укладзенай справаздачай у фармаце .doc. Вы адчыняеце гэты дакумент, які ўтрымоўвае макрас, і ў канчатковым выніку ён сам запускае шкоднасны PowerShell.
Часта сам сцэнар Visual Basic обфусцируется так, што ён вольна ўхіляецца ад антывірусаў і іншых сканараў шкоднасных праграм. У духу ўжо выкладзенага, я вырашыў у якасці практыкавання закадаваць прыведзены вышэй PowerShell у JavaScript. Ніжэй вынікі маёй працы:
Абфуцаваны JavaScript, які хавае наш PowerShell. Рэальныя хакеры робяць гэта на раз-два.
Гэта яшчэ адна з тэхнік, якую я сустрэў на абшарах сеткі: выкарыстанне абалонкі Wscript.Shell для запуску кадаванага PowerShell. Дарэчы, JavaScript сам па сабе з'яўляецца
У нашым выпадку, шкоднасны скрыпт JS укладзены як файл c.doc.js пашырэннем. Windows, як правіла, паказвае толькі першы суфікс, таму ён будзе адлюстроўвацца ахвяры як дакумент Word.
Значок JS адлюстроўваецца толькі ў абразку ў выглядзе скрутка. Нядзіўна, што многія людзі будуць адкрываць гэтае ўкладанне, думаючы, што гэта Word-дакумент.
У маім прыкладзе я змяніў прыведзены вышэй PowerShell, каб загрузіць сцэнар з майго вэб-сайта. Выдалены сцэнар PS проста друкуе "Evil Malware". Як бачыце, ён зусім не злы. Вядома, рэальныя хакеры зацікаўлены ў атрыманні доступу да наўтбука або серверу, скажам, праз камандую абалонку. У наступным артыкуле я пакажу, як гэта зрабіць, выкарыстоўваючы PowerShell Empire.
Спадзяюся, што для першага азнаямленчага артыкула мы не надта глыбока пагрузіліся ў тэму. Цяпер я дазволю вам перавесці дух, і ў наступны раз мы пачнем разбіраць рэальныя прыклады нападаў з выкарыстаннем fileless-малвары без лішніх уступных слоў і падрыхтоўкі.
Крыніца: habr.com