Skip to content

Word Macros

reversing macros

Zararlı Office belgeleri VBA/XLM ile ikinci stage indirir veya PowerShell çalıştırır. Statik dump çoğu zaman dinamik çalıştırmadan önce yeter.

  1. Dosya tipini ayır: .doc OLE vs .docm OOXML.

  2. olevba / oledump ile makro ve stream’leri listele.

  3. AutoOpen/Document_Open ve obfuscated string’leri çöz.

  4. İnen URL / komutu izole et; gerekirse sandbox’ta ikinci stage al.

Terminal window
file challenge.doc challenge.docm
Terminal window
olevba challenge.docm
Terminal window
olevba -c challenge.docm
Terminal window
oledump.py challenge.doc
Terminal window
oledump.py -s A -v challenge.doc
Terminal window
unzip -l challenge.docm | rg vba
Terminal window
pcodedmp challenge.doc
Terminal window
xlmdeobfuscator --file challenge.xls
Terminal window
olevba challenge.xls | rg -i 'auto_open|exec|url'
Terminal window
ssview challenge.xls
Chr()/ChrW() zinciri → python ile eval benzeri decode
# örnek: Chr(80)&Chr(111)... → Po...
s='Chr(80)&Chr(111)&Chr(119)'
import re
print(''.join(chr(int(x)) for x in re.findall(r'Chr\((\d+)\)',s)))
Terminal window
# PowerShell IEX payload'ı çıkar
olevba -c challenge.docm | rg -i 'powershell|IEX|DownloadString|FromBase64'
Terminal window
base64 -d payload.b64 | gzip -d 2>/dev/null || base64 -d payload.b64
[ ] olevba/oledump alındı
[ ] auto-exec noktası bulundu
[ ] string obfuscation çözüldü
[ ] URL/komut/ikinci stage çıkarıldı