DOSfuscation
A Securonix kutatói már foglalkoztak azzal, hogy a kiberszereplők hogyan használják ki a PowerShellt, és hogyan lehet a kódot elfedni a felderítés elkerülése érdekében. A Securonix fenyegetéskutató csapata az utóbbi időben figyelemmel kíséri a batch (DOS) fuscation vagy DOSfuscation néven ismert tendenciát, amelynek során a rosszindulatú szoftverek egyre több mintája használ batch vagy DOS-alapú szkriptekbe foglalt, obfuszkált kódot.
Ez a tendencia valószínűleg akkor alakult ki, amikor a Microsoft úgy döntött, hogy alapértelmezés szerint letiltja a makrófuttatást az Office termékekben. Azóta megnőtt az archivált e-mail mellékletekből származó parancsikon alapú (.lnk fájl) futtatások száma. Természetesen a CMD obfuszkálás a természetes út, mivel a parancsikonfájlba átadott parancssor valószínűleg elsősorban a cmd.exe mint kezdeti folyamat segítségével kerül végrehajtásra.
De miért a cmd.exe, amikor sokkal robusztusabb kódfuttatási platformok is léteznek? Az egyik válasz oka az lehet, hogy a Windows Antimalware Scan Interface (AMSI) több szkriptmotor, köztük a PowerShell, a JavaScript és a VBScript natív támogatása. Az AMSI azonban nem támogatja közvetlenül a kötegelt szkripteket (.bat fájlok) vagy a cmd.exe segítségével végrehajtott parancsokat. Ez részben azért van így, mert a kötegelt fájlok sokkal régebbi technológia, és általában korlátozottabb funkcionalitásúak a PowerShell szkriptekhez képest, amelyek komplex műveletek széles skáláját képesek végrehajtani, beleértve a Windows API-val való közvetlen interakciókat, így ez a módszer könnyű győzelmet jelent a támadók számára, akik a kezdeti kódfuttatás során csökkenteni szeretnék a víruskereső (AV) találat valószínűségét.
Hasonlóan a PowerShell vagy bármely más szkriptnyelv obfuszkálási módszereihez, az obfuszkáló parancs célja egyszerűen a felismerés elkerülése; akár az észlelési módszer az antivírus szoftver, akár az emberi alapú észlelés, például egy SOC elemző megkerülése, a cél ugyanaz.