Саргузаштҳои нармафзори зараровар, Қисми IV: Майдонҳои ҳуҷҷати DDE ва Word (мо дар ин ҷо ҳастем)
Дар ин мақола, ман мехостам ба як сенарияи боз ҳам мураккабтари ҳамлаи бидуни файли бисёрмарҳила бо пайвастшавӣ дар система ғарқ шавам. Аммо баъд ман бо ҳамлаи бениҳоят содда ва бидуни код дучор шудам - ҳеҷ макросҳои Word ё Excel лозим нест! Ва ин фарзияи аслии маро дар асоси ин силсила мақолаҳо хеле муассиртар исбот мекунад: шикастани периметри берунии ягон созмон кори душвор нест.
Аввалин ҳамлае, ки ман тавсиф мекунам, осебпазирии Microsoft Word-ро истифода мебарад, ки ба он асос ёфтааст кӯҳна шудааст протоколи мубодилаи маълумот динамикӣ (DDE). Вай аллакай буд собит. Дуюм осебпазирии умумиро дар Microsoft COM ва қобилияти интиқоли объектҳо истифода мебарад.
Бозгашт ба оянда бо DDE
Ягон каси дигар DDE-ро дар хотир дорад? Шояд бисьёр набошад. Ин яке аз аввалинхо буд протоколҳои иртиботӣ байни равандҳо, ки ба барномаҳо ва дастгоҳҳо имкон доданд, ки маълумотро интиқол диҳанд.
Ман худам бо он каме шиносам, зеро ман таҷҳизоти телекоммуникатсионӣро тафтиш ва озмоиш мекардам. Дар он вақт, DDE, масалан, ба операторони маркази тамос иҷозат дод, ки ID-и зангзанандаро ба замимаи CRM интиқол диҳанд, ки дар ниҳоят корти муштариро мекушояд. Барои ин, шумо бояд сими RS-232-ро байни телефон ва компютери худ пайваст кунед. Он рӯзҳо буданд!
Тавре маълум мешавад, Microsoft Word ҳанӯз ҳам ҳаст дастгирӣ мекунад DDE.
Он чизе, ки ин ҳамларо бе код самаранок мегардонад, он аст, ки шумо метавонед ба протоколи DDE дастрасӣ пайдо кунед бевосита аз майдонҳои автоматӣ дар ҳуҷҷати Word (шапоҳҳо ба SensePost барои тадқиқот ва нашрияҳо дар бораи он).
Рамзҳои майдон Боз як хусусияти қадимии MS Word мебошад, ки ба шумо имкон медиҳад ба ҳуҷҷати худ матни динамикӣ ва каме барномасозӣ илова кунед. Намунаи равшантарин майдони рақами саҳифа мебошад, ки онро метавон ба поён бо истифода аз арзиши {PAGE *MERGEFORMAT} ворид кард. Ин имкон медиҳад, ки рақамҳои саҳифа ба таври худкор тавлид карда шаванд.
Маълум мешавад, ки замимаи COM низ метавонад кор кунад скрипка — JavaScript ё VBScript. Аз ҷиҳати техникӣ номида мешавад скрипт. Шумо шояд васеъшавии .sct-ро барои файлҳо дар Windows дидаед - ин васеъшавии расмии скриптҳо мебошад. Аслан, онҳо рамзи скрипт дар печи 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 ва мувофиқан скриптҳоро низ қабул мекунанд.
Ман метавонам скриптро ба утилитаи Windows гузаронам, ки дар VBS бо номи pubprn навишта шудааст. Он дар умқи C: Windowssystem32Printing_Admin_Scripts ҷойгир аст. Дар омади гап, дигар утилитаҳои Windows мавҷуданд, ки объектҳоро ҳамчун параметр қабул мекунанд. Биёед аввал ин мисолро дида бароем.
Ин комилан табиист, ки ҷабҳаро ҳатто аз скрипти чопӣ оғоз кардан мумкин аст. Ба Microsoft равед!
Ҳамчун санҷиш, ман як скрипти оддии дурдастеро сохтам, ки ҷабҳаро оғоз мекунад ва паёми хандоварро чоп мекунад: "Шумо навакак скрипт шудаед!" Аслан, pubprn объекти скриптро эҷод мекунад ва ба рамзи VBScript имкон медиҳад, ки парпечро иҷро кунад. Ин усул барои ҳакерҳо, ки мехоҳанд дар системаи шумо пинҳон шаванд ва пинҳон шаванд, бартарии равшан медиҳад.
Дар мақолаи навбатӣ ман мефаҳмонам, ки чӣ тавр скриптҳои COM-ро ҳакерҳо бо истифода аз ҷадвалҳои Excel истифода бурдан мумкин аст.
Барои вазифаи хонагии худ, як назар кунед ин видео аз Derbycon 2016, ки дақиқ мефаҳмонад, ки чӣ тавр ҳакерҳо скриптҳоро истифода кардаанд. Ва инчунин хонед Ин мақола дар бораи скриптҳо ва як навъ лақаби.