
morphHTA - تحويل evil.HTA الخاص بـ Cobalt Strike
كالمعتاد، لا ينبغي استخدام هذا الكود والأداة لأغراض ضارة.
كتبه فينسنت يو من فريق ActiveBreach التابع لـ MDSec Consulting. يُسمح بتعديل الكود مع نسب العمل للمؤلف.
البحث في Explorer و SWBemLocator COM Moniker من قِبل @enigma0x3
الاستخدام:
usage: morph-hta.py [-h] [--in <input_file>] [--out <output_file>]
[--maxstrlen <default: 1000>] [--maxvarlen <default: 40>]
[--maxnumsplit <default: 10>]
optional arguments:
-h, --help show this help message and exit
--in <input_file> File to input Cobalt Strike PowerShell HTA
--out <output_file> File to output the morphed HTA to
--maxstrlen <default: 1000>
Max length of randomly generated strings
--maxvarlen <default: 40>
Max length of randomly generated variable names
--maxnumsplit <default: 10>
Max number of times values should be split in chr
obfuscation
/morphHTA# python morph-hta.py
███╗ ███╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗ ██╗ ██╗████████╗ █████╗
████╗ ████║██╔═══██╗██╔══██╗██╔══██╗██║ ██║ ██║ ██║╚══██╔══╝██╔══██╗
██╔████╔██║██║ ██║██████╔╝██████╔╝███████║█████╗███████║ ██║ ███████║
██║╚██╔╝██║██║ ██║██╔══██╗██╔═══╝ ██╔══██║╚════╝██╔══██║ ██║ ██╔══██║
██║ ╚═╝ ██║╚██████╔╝██║ ██║██║ ██║ ██║ ██║ ██║ ██║ ██║ ██║
╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝
Morphing Evil.HTA from Cobalt Strike
Author: Vincent Yiu (@vysec, @vysecurity)
[*] morphHTA initiated
[+] Writing payload to morph.hta
[+] Payload written
تم تقليل أقصى طول لاسم المتغير وطول السلسلة العشوائية لتقليل الحجم الإجمالي لمخرجات HTA:
/morphHTA# python morph-hta.py --maxstrlen 4 --maxvarlen 4
أقصى تقسيم في تشويش chr()، مما يقلل عدد الإضافات التي نقوم بها لتقليل الطول:
/morphHTA# python morph-hta.py --maxnumsplit 4
تغيير ملف الإدخال وملفات الإخراج:
/morphHTA# python morph-hta.py --in advert.hta --out advert-morph.hta
https://www.youtube.com/watch?v=X4S2aQ4o_jA
أقترح عدم رفعه إلى VT:
