У гэтай серыі артыкулаў мы вывучаем метады нападаў, якія мяркуюць мінімальныя намаганні з боку хакераў. У мінулым артыкуле мы разгледзелі, што можна ўставіць сам код у карысную нагрузку аўтаматычнага поля DDE у Microsoft Word. Адкрыўшы такі дакумент, укладзены ў фішынгавы ліст, неасцярожны карыстач сам дазволіць зламысніку замацавацца на сваім кампутары. Аднак у канцы 2017 гады Microsoft закрыла дадзеную шчыліну для нападаў на DDE.
Выпраўленне дадае запіс рэестра, якая адключае функцыі DDE у Word. Калі ж вам усё ж патрэбна дадзеная функцыянальнасць, тыя вы можаце вярнуць гэты параметр, улучыўшы старыя магчымасці DDE.
Аднак арыгінальны патч ахапляў толькі Microsoft Word. Ці існуюць гэтыя DDE-уразлівасці ў іншых прадуктах Microsoft Office, якія таксама можна было б выкарыстоўваць у нападах без лішняга кода? Так, вядома. Напрыклад, вы таксама можаце знайсці іх у Excel.
Ноч жывых DDE
Я памятаю, што ў мінулы раз я спыніўся на апісанні скрыптлетаў COM. Абяцаю, што яшчэ дабяруся да іх у гэтым артыкуле.
А пакуль давайце разбяромся з чарговым злым бокам DDE у версіі для Excel. Гэтак жа, як і ў Word, некаторыя скрытыя магчымасці DDE у Excel дазваляюць вам выканаць код без асаблівых намаганняў. Як які вырас на Word карыстач, я быў знаёмы з палямі, але зусім не ведаў аб функцыях у DDE.
Я быў уражаны, даведаўшыся, што ў Excel я магу выклікаць камандную абалонку з ячэйкі, як паказана ніжэй:
Вы ведалі, што так можна было? Асабіста я - не
Гэтая магчымасць запусціць абалонку Windows ласкава прадстаўлена нам DDE. Можна прыдумаць шмат іншых пр
інвестыцый, да якіх вы можаце падлучыцца з дапамогай убудаваных у Excel функцый DDE.
Вы думаеце аб тым жа, пра што і я?
Няхай наша каманда ў вочку запускае сеанс PowerShell, які затым загружае і выконвае спасылку - гэта прыём, які мы з вамі ўжо выкарыстоўвалі раней. Глядзіце ніжэй:
Проста ўставіць крыху PowerShell для загрузкі і выканання выдаленага кода ў Excel
Але ёсць нюанс: вы павінны відавочна ўвесці гэтыя дадзеныя ў вочка, каб гэтая формула выканалася ў Excel. Як жа хакер зможа выканаць гэтую каманду DDE выдалена? Справа ў тым, што калі табліца Excel адчыненая, то Excel паспрабуе абнавіць усе спасылкі ў DDE. У наладах Trust Center ужо даўно ёсць магчымасць адключыць гэта ці папярэджваць пры абнаўленні спасылак на вонкавыя крыніцы дадзеных.
Нават без апошніх патчаў можна адключыць аўтаматычнае абнаўленне спасылак у DDE
Microsoft першапачаткова сам раіў кампаніям у 2017 годзе адключыць аўтаматычныя абнаўлення спасылак, каб прадухіліць уразлівасці DDE у Word і Excel. У студзені 2018-га Microsoft выпусціў патчы для Excel 2007, 2010 і 2013, якія па змаўчанні адключаюць DDE. Гэтая артыкул у Computerworld малюе ўсе дэталі патча.
Ну а што ж часопісы падзей?
Microsoft усё ж адмовілася ад DDE для MS Word і Excel, прызнаўшы тым самым, нарэшце, што DDE больш падобны на баг, чым на функцыянальнасць. Калі ж вы па якой-небудзь прычыне яшчэ не ўсталявалі гэтыя выпраўленні, тыя вы ўсё роўна можаце паменшыць рызыку нападу на DDE, адключыўшы аўтаматычнае абнаўленне спасылак і ўлучыўшы параметры, якія запытваюць карыстачоў аб абнаўленні спасылак пры адкрыцці дакументаў і электронных табліц.
А зараз пытанне на мільён: калі вы сталі ахвярай дадзенага нападу, ці будуць сеансы PowerShell, запушчаныя з палёў Word або вочкі Excel, адлюстроўвацца ў часопісе?
Пытанне: ці лагуюцца сеансы PowerShell запушчаныя праз DDE? Адказ: так
Калі вы запускаеце сеансы PowerShell непасрэдна з вочка Excel, а не як макрас, Windows будзе рэгістраваць гэтыя падзеі (гл. вышэй). Пры гэтым я не бяруся сцвярджаць, што службе бяспекі будзе лёгка потым злучыць усе кропкі паміж сеансам PowerShell, дакументам Excel і паштовым паведамленнем і зразумець, дзе ж быў пачатак нападу. Я яшчэ вярнуся да гэтага ў апошнім артыкуле маёй бясконцай серыі аб няўлоўнай малвары.
Як там наш COM?
У папярэдняй артыкуле я закранаў тэму скрыплетаў COM. Самі па сабе яны з'яўляюцца зручнай тэхналогіяй, Якая дазваляе перадаваць код, скажам, JScript, проста як аб'ект COM. Але затым скрыптлеты выявілі хакеры, і гэта дазволіла ім замацоўвацца на кампутары ахвяры без выкарыстання лішніх прылад. Гэта відэа з канферэнцыі Derbycon дэманструе ўбудаваныя прылады Windows, напрыклад, regsrv32 і rundll32, якія прымаюць выдаленыя скрыптлеты ў якасці аргументаў, і хакеры, у сутнасці, праводзяць свой напад без дапамогі шкоднасных праграм. Як я паказваў у мінулы раз, вы можаце лёгка запускаць каманды PowerShell з дапамогай скрыптлета на JScript.
Высветлілася, што адзін вельмі кемлівы даследчык знайшоў спосаб запуску скрыплету COM в дакуменце Excel. Ён выявіў, што пры спробе ўставіць у вочка спасылку на дакумент або малюнак, у яе ўстаўляецца нейкі пакет. І гэты пакет спакойна прымае на ўваход выдалены scriptlet (гл. ніжэй).
Бум! Яшчэ адзін утойлівы бясшумны метад для запуску абалонкі з дапамогай скрыптлетаў COM
Пасля нізкаўзроўневай інспекцыі кода даследчык высветліў, што гэта насамрэч памылка у праграмным забеспячэнні пакета. Ён не прызначаўся для запуску скрыплетаў COM, а толькі для спасылак на файлы. Я не ўпэўнены, ці існуе ўжо патч для гэтай уразлівасці. У маім уласным даследаванні на віртуальным працоўным стале Amazon WorkSpaces з прадусталяваным пакетам Office 2010 я змог прайграць яго вынікі. Аднак, калі я крыху пазней паспрабаваў зноў, у мяне ўжо не атрымалася.
Я вельмі спадзяюся, што распавёў вам шмат цікавага і ў той жа час паказаў, што хакеры могуць пракрасціся такім ці іншым падобным спосабам і ў вашу кампанію. Нават калі вы ўсталёўваеце ўсе апошнія патчы Microsoft у хакераў па-ранейшаму шмат прылад для замацавання ў сістэме: пачынальна ад макрасаў VBA, з якіх я пачынаў гэтую серыю, і аж да шкоднаснай нагрузкі ў Word ці Excel.
У апошнім (я абяцаю) артыкуле гэтай сагі, я раскажу пра тое, як забяспечыць разумную абарону.