
Бул макала Fileless зыяндуу программалар сериясынын бир бөлүгү болуп саналат. Сериянын бардык башка бөлүктөрү:
- Күтүлбөгөн кесепеттүү программанын укмуштуу окуялары, IV бөлүм: DDE жана Word документ талаалары (биз бул жердебиз)
Бул макалада мен системага кадоо менен андан да татаал көп баскычтуу файлсыз чабуул сценарийине кирмек болдум. Бирок кийин мен укмуштуудай жөнөкөй, кодсуз чабуулга туш болдум — эч кандай Word же Excel макростору талап кылынбайт! Бул макалалардын сериясынын негизинде жаткан менин баштапкы гипотезамды алда канча натыйжалуу далилдейт: кандайдыр бир уюмдун сырткы периметрин бузуу эч кандай кыйын иш эмес.
Мен сүрөттөп бере турган биринчи чабуул, ага негизделген Microsoft Word кемчилигин колдонот эскирген (DDE). Ал буга чейин эле . Экинчиси Microsoft COM жана объектти өткөрүп берүү мүмкүнчүлүктөрүндөгү бир кыйла жалпы кемчиликти пайдаланат.
DDE менен келечекке кайтуу
Дагы кимдир бирөө DDE эсиндеби? Балким, көп эмес. Бул биринчилердин бири болгон тиркемелерге жана түзмөктөргө маалыматтарды өткөрүүгө мүмкүндүк берген процесстер аралык байланыш протоколдору.
Телеком жабдыктарын текшерип, сынап жүргөндүктөн, мен аны менен бир аз таанышмын. Ошол учурда, DDE, мисалы, чалуу борборунун операторлоруна чалуучунун идентификаторун CRM тиркемесине өткөрүп берүүгө уруксат берди, ал акырында кардар картасын ачты. Бул үчүн, сиз телефонуңуз менен компьютериңиздин ортосунда RS-232 кабелин туташтырышыңыз керек болчу. Ошол күндөр болгон!
Көрсө, Microsoft Word дагы эле DDE.
Бул чабуулду кодсуз эффективдүү кылган нерсе, сиз DDE протоколуна кире аласыз түздөн-түз Word документиндеги автоматтык талаалардан (SensePost үчүн шляпалар бул жөнүндө).
Талаа коддору документиңизге динамикалык текстти жана бир аз программалоону кошууга мүмкүндүк берген дагы бир байыркы MS Word өзгөчөлүгү. Эң айкын мисал - {PAGE *MERGEFORMAT} маанисин колдонуу менен төмөнкү колонтитулга киргизилиши мүмкүн болгон беттин номери талаасы. Бул барак номерлерин автоматтык түрдө түзүүгө мүмкүндүк берет.

Ишара: Талаа менюсун Кыстаруу астынан таба аласыз.
Эсимде, мен Word'тун бул өзгөчөлүгүн биринчи жолу тапканымда, мен таң калдым. Жана патч аны өчүрмөйүнчө, Word дагы DDE талаалары опциясын колдоду. Идея DDE Word программасына тиркеме менен түздөн-түз байланышууга мүмкүндүк берет, ошондо ал программанын жыйынтыгын документке өткөрө алат. Бул ошол кезде абдан жаш технология болгон - тышкы тиркемелер менен маалымат алмашууну колдоо. Кийинчерээк ал COM технологиясына иштелип чыккан, биз аны төмөндө карап чыгабыз.
Акыр-аягы, хакерлер бул DDE тиркемеси командалык кабык болушу мүмкүн экенин түшүнүштү, ал албетте PowerShellди ишке киргизди жана ал жерден хакерлер каалаганын кыла алат.
Төмөндөгү скриншот бул жашыруун ыкманы кантип колдонгонумду көрсөтөт: DDE талаасынан кичинекей PowerShell скрипти (мындан ары PS) чабуулдун экинчи фазасын ишке киргизген башка PS скриптин жүктөйт.

Камтылган DDEAUTO талаасы жашыруун түрдө кабыкты баштоого аракет кылып жатат деген калкыма эскертүү үчүн Windows'ка рахмат
Аялуулукту колдонуунун артыкчылыктуу ыкмасы - скриптти автоматтык түрдө иштеткен DDEAUTO талаасы бар вариантты колдонуу. ачылышында Word документи.
Келгиле, бул жөнүндө эмне кыла аларыбызды ойлонуп көрөлү.
Жаңы баштаган хакер катары, мисалы, сиз Федералдык Салык Кызматынан экениңизди көрсөтүп фишинг электрондук катын жөнөтө аласыз жана биринчи этап үчүн DDEAUTO талаасын PS скрипти менен (негизинен тамчылаткыч) кыстара аласыз. Жана мага окшоп макростордун чыныгы коддоосун жасоонун кереги жок
Жабырлануучу документиңизди ачат, камтылган скрипт иштетилет жана хакер компьютердин ичинде болот. Менин учурда, алыскы PS скрипти жөн гана билдирүү басып чыгарат, бирок ал PS Empire кардарын оңой эле ишке киргизиши мүмкүн, ал алыстан кабыкчага жетүүнү камсыз кылат.
Ал эми жабырлануучу бир нерсе деп айта электе, хакерлер айылдагы эң бай өспүрүмдөр болуп чыгат.

Снаряд кичине эле коддолбостон учурулган. Жада калса бала да жасай алат!
DDE жана талаалар
Microsoft кийинчерээк Word'те DDEди өчүрүп койгон, бирок компания бул функция жөн эле туура эмес колдонулганын айтканга чейин эмес. Алардын эч нерсени өзгөртүүнү каалабаганы түшүнүктүү. Мен өзүмдүн тажрыйбамда документти ачууда талааларды жаңыртуу иштетилген, бирок Word макростору IT тарабынан өчүрүлгөн (бирок эскертмени көрсөтүү) мисалын көрдүм. Айтмакчы, тиешелүү орнотууларды Word жөндөөлөр бөлүмүнөн таба аласыз.
Бирок, талааны жаңыртуу иштетилген күндө да, Microsoft Word, жогорудагы DDE менен болгон сыяктуу, талаа өчүрүлгөн маалыматтарга кирүүнү суранганда колдонуучуга кошумча кабарлайт. Microsoft чындап эле эскертип жатат.
Бирок, кыязы, колдонуучулар дагы эле бул эскертүүгө көңүл бурушпайт жана Word'те талааларды жаңыртышат. Бул кооптуу DDE функциясын өчүргөндүгү үчүн Microsoftко ыраазычылык билдирүү үчүн сейрек мүмкүнчүлүктөрдүн бири.
Бүгүнкү күндө жаңыланбаган Windows тутумун табуу канчалык кыйын?
Бул тестирлөө үчүн мен виртуалдык иш тактага кирүү үчүн AWS Workspaces колдондум. Ошентип, мен DDEAUTO талаасын киргизүүгө мүмкүндүк берген жаңыланбаган MS Office виртуалдык машинасын алдым. Ушул сыяктуу жол менен сиз керектүү коопсуздук тактарын орното элек башка компанияларды таба аласыз деп күмөн санабайм.
Объекттердин сыры
Эгер сиз бул патчты орноткон болсоңуз да, MS Office'те хакерлерге Word менен жасаган ишибизге окшош нерсени жасоого мүмкүндүк берген башка коопсуздук тешиктери бар. Кийинки сценарийде биз үйрөнөбүз эч кандай код жазбастан эле Excelди фишингдик чабуул үчүн жем катары колдонуңуз.
Бул сценарийди түшүнүү үчүн, келгиле, Microsoft Component Object Model, же кыскача эстеп көрөлү COM (компонент объектинин модели).
COM 1990-жылдардан бери иштеп келе жатат жана RPC аралыктан процедуралык чакырууларга негизделген "тилге-нейтралдуу, объектиге багытталган компонент модели" катары аныкталган. COM терминологиясын жалпы түшүнүү үчүн, окуңуз StackOverflow боюнча.
Негизинен, сиз COM тиркемесин Excel же Word аткарылуучу файлы же башка экилик файл деп ойлосоңуз болот.
COM тиркемесин да иштете алат экен кол шрифти — JavaScript же VBScript. Техникалык жактан ал деп аталат скрипт. Сиз Windows'тагы файлдар үчүн .sct кеңейтүүсүн көргөн болушуңуз мүмкүн - бул скрипттердин расмий кеңейтүүсү. Негизинен, алар XML орогучка оролгон скрипт коду:
<?XML version="1.0"?>
<scriptlet>
<registration
description="test"
progid="test"
version="1.00"
classid="{BBBB4444-0000-0000-0000-0000FAADACDC}"
remotable="true">
</registration>
<script language="JScript">
<![CDATA[
var r = new ActiveXObject("WScript.Shell").Run("cmd /k powershell -c Write-Host You have been scripted!");
]]>
</script>
</scriptlet>
Хакерлер жана пентестер Windowsта COM объектилерин жана ошого жараша скрипттерди да кабыл алган өзүнчө утилиталар жана тиркемелер бар экенин аныкташты.
Мен скриптти pubprn деп аталган VBSде жазылган Windows утилитасына бере алам. Ал C: Windowssystem32Printing_Admin_Scripts тереңдигинде жайгашкан. Айтмакчы, объекттерди параметр катары кабыл алган башка Windows утилиталары бар. Адегенде бул мисалды карап көрөлү.

Кабакты басып чыгаруу скриптинен да ишке киргизүүгө боло тургандыгы табигый нерсе. Microsoft!
Сыноо катары мен жөнөкөй алыскы скрипт түздүм, ал кабыкты ишке киргизип, “Сиз жаңы эле сценарий түздүңүз!” деген күлкүлүү билдирүүнү басып чыгардым. Негизи, pubprn скрипт объектисин жаратып, VBScript кодун орогучту иштетүүгө мүмкүндүк берет. Бул ыкма сиздин тутумуңузга жашыруун кирип, жашынууну каалаган хакерлерге ачык артыкчылык берет.
Кийинки билдирүүдө мен COM скрипттерин Excel электрондук жадыбалдарын колдонуп хакерлерге кантип колдонсо болорун түшүндүрөм.
Үй тапшырмаңыз үчүн, карап көрүңүз Дербикон 2016дан, анда хакерлер скрипттерди кантип колдонушканын так түшүндүрөт. Жана да оку скрипттер жана кандайдыр бир лакаптар жөнүндө.
Source: www.habr.com
