Adversaries may use Valid Accounts to remotely control machines using Virtual Network Computing (VNC). VNC is a platform-independent desktop sharing system that uses the RFB ("remote framebuffer") protocol to enable users to remotely control another computer’s display by relaying the screen, mouse, and keyboard inputs over the network.[1]
VNC differs from Remote Desktop Protocol as VNC is screen-sharing software rather than resource-sharing software. By default, VNC uses the system's authentication, but it can be configured to use credentials specific to VNC.[2][3]
Adversaries may abuse VNC to perform malicious actions as the logged-on user such as opening documents, downloading files, and running arbitrary commands. An adversary could use VNC to remotely control and monitor a system to collect data and information to pivot to other systems within the network. Specific VNC libraries/implementations have also been susceptible to brute force attacks and memory usage exploitation.[4][5][6][7][8][9]
| ID | Name | Description | 
|---|---|---|
| S0484 | Carberp | Carberp can start a remote VNC session by downloading a new plugin.[10] | 
| S1014 | DanBot | DanBot can use VNC for remote access to targeted systems.[11] | 
| G0046 | FIN7 | |
| G0117 | Fox Kitten | Fox Kitten has installed TightVNC server and client on compromised servers and endpoints for lateral movement.[13] | 
| G0047 | Gamaredon Group | Gamaredon Group has used VNC tools, including UltraVNC, to remotely interact with compromised hosts.[14][15][16] | 
| G0036 | GCMAN | |
| S1160 | Latrodectus | Latrodectus has routed C2 traffic using Keyhole VNC.[18] | 
| S0279 | Proton | |
| S0266 | TrickBot | TrickBot has used a VNC module to monitor the victim and collect information to pivot to valuable systems on the network [20][21] | 
| S0670 | WarzoneRAT | WarzoneRAT has the ability of performing remote desktop access via a VNC console.[22] | 
| S0412 | ZxShell | 
| ID | Mitigation | Description | 
|---|---|---|
| M1047 | Audit | Inventory workstations for unauthorized VNC server software. | 
| M1042 | Disable or Remove Feature or Program | Uninstall any VNC server software where not required. | 
| M1037 | Filter Network Traffic | VNC defaults to TCP ports 5900 for the server, 5800 for browser access, and 5500 for a viewer in listening mode. Filtering or blocking these ports will inhibit VNC traffic utilizing default ports. | 
| M1033 | Limit Software Installation | Restrict software installation to user groups that require it. A VNC server must be manually installed by the user or adversary. | 
| ID | Name | Analytic ID | Analytic Description | 
|---|---|---|---|
| DET0178 | Behavioral Detection of Unauthorized VNC Remote Control Sessions | AN0504 | Detection of VNC service or executable starting unexpectedly, followed by user session creation and interactive desktop activity (mouse/keyboard simulation). | 
| AN0505 | Spawning of VNC-related processes (e.g.,  | ||
| AN0506 | Detection of VNC-based remote control via  |