Command and Scripting Interpreter: Visual Basic
- ID
- T1059.005
- Tactics
- TA0002 Execution
- Sub-technique of
- T1059 Command and Scripting Interpreter
- Platforms
- Linux, macOS, Windows
- Data sources
- Process Creation, Module Load, Script Execution, Command Execution
- Source
- attack.mitre.org
- MITRE last modified
- 12 May 2026
Adversaries may abuse Visual Basic (VB) for execution. VB is a programming language created by Microsoft with interoperability with many Windows technologies such as Component Object Model and the Native API through the Windows API. Although tagged as legacy with no planned future evolutions, VB is integrated and supported in the .NET Framework and cross-platform .NET Core.[3][4]
Derivative languages based on VB have also been created, such as Visual Basic for Applications (VBA) and VBScript. VBA is an event-driven programming language built into Microsoft Office, as well as several third-party applications.[5][6] VBA enables documents to contain macros used to automate the execution of tasks and other functionality on the host. VBScript is a default scripting language on Windows hosts and can also be used in place of JavaScript on HTML Application (HTA) webpages served to Internet Explorer (though most modern browsers do not come with VBScript support).[7]
Adversaries may use VB payloads to execute malicious commands. Common malicious usage includes automating execution of behaviors with VBScript or embedding VBA content into Spearphishing Attachment payloads (which may also involve Mark-of-the-Web Bypass to enable execution).[1]
Detection
- DET0076 Behavioral Detection of Visual Basic Execution (VBS/VBA/VBScript)
Data components: Process Creation, Module Load, Script Execution, Command Execution
Mitigations (5)
- M1021 Restrict Web-Based Content
Script blocking extensions can help prevent the execution of scripts and HTA files that may commonly be used during the exploitation process. For malicious code served up through ads, adblockers can help prevent that code from executing in the first place.
- M1038 Execution Prevention
Use application control where appropriate. VBA macros obtained from the Internet, based on the file's Mark of the Web (MOTW) attribute, may be blocked from executing in Office applications (ex: Access, Excel, PowerPoint, Visio, and Word) by default starting in Windows Version 2203.[1]
- M1040 Behavior Prevention on Endpoint
On Windows 10, enable Attack Surface Reduction (ASR) rules to prevent Visual Basic scripts from executing potentially malicious downloaded content [2].
- M1042 Disable or Remove Feature or Program
Turn off or restrict access to unneeded VB components.
- M1049 Antivirus/Antimalware
Anti-virus can be used to automatically quarantine suspicious files.
Groups (46)
- G0010 Turla
- G0021 Molerats
- G0032 Lazarus Group
- G0034 Sandworm Team
- G0040 Patchwork
- G0046 FIN7
- G0047 Gamaredon Group
- G0049 OilRig
- G0050 APT32
- G0059 Magic Hound
- G0060 BRONZE BUTLER
- G0062 TA459
- G0064 APT33
- G0065 Leviathan
- G0067 APT37
- G0069 MuddyWater
- G0075 Rancor
- G0078 Gorgon Group
- G0080 Cobalt Group
- G0082 APT38
- G0085 FIN4
- G0087 APT39
- G0090 WIRTE
- G0091 Silence
- G0092 TA505
- G0094 Kimsuky
- G0095 Machete
- G0099 APT-C-36
- G0100 Inception
- G0112 Windshift
- G0121 Sidewinder
- G0126 Higaisa
- G0129 Mustang Panda
- G0134 Transparent Tribe
- G0140 LazyScripter
- G0142 Confucius
- G1001 HEXANE
- G1006 Earth Lusca
- G1008 SideCopy
- G1016 FIN13
- G1018 TA2541
- G1026 Malteiro
- G1039 RedCurl
- G1044 APT42
- G1052 Contagious Interview
- G1054 MirrorFace
Software (69)
- S0147 Pteranodon
- S0154 Cobalt Strike
- S0170 Helminth
- S0198 NETWIRE
- S0223 POWERSTATS
- S0226 Smoke Loader
- S0228 NanHaiShu
- S0234 Bandook
- S0240 ROKRAT
- S0244 Comnie
- S0250 Koadic
- S0263 TYPEFRAME
- S0264 OopsIE
- S0268 Bisonal
- S0269 QUADAGENT
- S0283 jRAT
- S0332 Remcos
- S0336 NanoCore
- S0341 Xbash
- S0343 Exaramel for Windows
- S0352 OSX_OCEANLOTUS.D
- S0367 Emotet
- S0373 Astaroth
- S0375 Remexi
- S0380 StoneDrill
- S0386 Ursnif
- S0387 KeyBoy
- S0389 JCry
- S0414 BabyShark
- S0428 PoetRAT
- S0441 PowerShower
- S0442 VBShower
- S0447 Lokibot
- S0455 Metamorfo
- S0458 Ramsay
- S0475 BackConfig
- S0477 Goopy
- S0483 IcedID
- S0496 REvil
- S0528 Javali
- S0530 Melcoz
- S0531 Grandoreiro
- S0559 SUNBURST
- S0582 LookBack
- S0585 Kerrdown
- S0589 Sibot
- S0631 Chaes
- S0648 JSS Loader
- S0650 QakBot
- S0669 KOCTOPUS
- S0679 Ferocious
- S0689 WhisperGate
- S0695 Donut
- S0696 Flagpro
- S1014 DanBot
- S1018 Saint Bot
- S1030 Squirrelwaffle
- S1037 STARWHALE
- S1039 Bumblebee
- S1064 SVCReady
Showing 60 of 69. Full list on attack.mitre.org.
References
- Default VBS macros Blocking
- win10_asr
- VB .NET Mar 2020
- VB Microsoft
- Microsoft VBA
- Wikipedia VBA
- Microsoft VBScript
