ATTCK-T1078-001-默认账户

news2024/9/23 17:15:42

0x01基础信息

具体信息详情
ATT&CK编号T1078-001
所属战术阶段初始访问
操作系统windows 7 旗舰版 SP1
创建时间2022年11月10日
监测平台火绒安全、火绒剑、sysmon

0x02技术原理

攻击者可能会获取和滥用默认帐户的凭据,以作为获得初始访问、持久性、特权升级或防御规避的手段。默认帐户是操作系统内置的帐户,例如 Windows 系统上的访客或管理员帐户。默认帐户还包括其他类型的系统、软件或设备上的默认工厂/供应商设置帐户,包括 AWS 中的根用户帐户和 Kubernetes 中的默认服务帐户。(引用:Microsoft 本地帐户 2019 年 2 月)(引用:AWS 根用户)(引用:Kubernetes 的威胁矩阵)

默认账户不限于客户端机器,还包括为网络设备和计算机应用程序等设备预设的账户,无论它们是内部的、开源的还是商业的。预设用户名和密码组合的设备对安装后不更改的组织构成严重威胁,因为它们很容易成为攻击者的目标。同样,攻击者也可能利用公开披露或窃取的私钥或凭证材料通过远程服务合法地连接到远程环境。(引用:Metasploit SSH 模块)

0x03复现环境

工具列表相关链接
sysmon日志记录工具https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon
sysmon默认规则文件https://github.com/SwiftOnSecurity/sysmon-config/blob/master/sysmonconfig-export.xml
sysmon安装命令sysmon64.exe -accepteula -i sysmonconfig-export.xml
攻击条件已经获取管理员权限的shell

0x04前置知识Windows用户和用户组

1.用户管理

1.1用户概述
  • 每一个用户登录系统之后,拥有不同的操作权限

  • 每个账户拥有自己唯一的SID(安全标识符),就和身份证号一样

  • 用户的SID:500【S-1-5-21-1789165401-4187849794-3313424159-500】

  • 系统的SID:【S-1-5-21-1789165401-4187849794-3313424159】

  • Windows系统管理员Administrator的UID为500

  • 普通用户的UID是从1000开始的

在这里插入图片描述

查看当前用户的sid值:whoami  /user
查看所有用户的sid值:wmic useraccount get name,sid
账户和密码默认存储位置:c:\windows\system32\config\SAM
Windows系统中,默认密码最长有效期42天

由此可见,用户的SID=系统的SID+用户的UID,不同的用户拥有不同的权限,为不同的账户赋权限,其实就是为不同账户的SID赋权限!

1.2内置用户
  • 给人使用的账户
    • administrator #管理员账户
    • Guest #来宾用户
  • 计算机服务组件相关的系统账号
    • system #系统账号==权限至高无上
    • local services #本地服务账号==权限等于普通用户
    • network services #网络服务账户==权限等于普通用户
1.3配置文件

每个用户都有自己的配置文件【家目录】,在用户第一次登录时自动产生,路径是

  • win7/2008 -------------------------------> c:\用户\
  • win xp/2003-----------------------------> c:\Documents and Settings\
1.4用户管理命令
命令作用
net user查看用户列表
net user 用户名查看用户详细信息
net user 用户名 新密码修改密码
net user 用户名 密码 /add创建一个新用户
net user 用户名 /del删除一个用户
net user 用户名 /active:yes/no激活或者禁用账户

2.组管理

2.1组的概述

一组用户的集合,组中所有的用户,具备所属组的权限,作用就是简化权限的赋予。

赋权限方式:

  • 【1】用户—组—赋权限
  • 【2】用户—赋权限
2.2内置组

内置组的权限默认已经被系统赋予,以下列举的仅为Windows常见组名和作用,通常情况下不仅限于此

组名作用
【1】Administrators管理员组,管理员对计算机/域有不受限制的完全访问权
【2】Guests来宾组,跟用户组拥有同等访问权限,但来宾账户限制更多
【3】Users普通用户组,默认新建的用户都属于该组 ,防止用户进行有意或无意的更改,可以运行大部分应用程序
【4】Network Configuration Operators网络配置组,此组中的成员有部分管理权限来管理网络功能的配置
【5】Print Operators打印机组,权限低于管理员组
【6】Remote Desktop Users远程桌面组,此组中的成员被授予远程登录的权限

在这里插入图片描述

2.3组管理命令
命令作用
net localgroup查看组列表
net localgroup 组名查看该组的成员
net localgroup 组名 /add创建新的组
net localgroup 组名 用户名 /add添加用户到该组
net localgroup 组名 用户名 /del从组中移除该用户
net localgroup 组名 /del删除组

0x05复现过程

【启用具有 RDP 功能和管理员权限的访客帐户】

  • 了解远程桌面注册表项对应的功能
  • 远程桌面注册表路径“HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server”
  • fDenyTSConnections控制远程桌面开启/关闭对应的选项,0x0为远程桌面为开启状态,0x1为远程桌面为关闭状态
  • fSingleSessionPerUser允许单用户登录限制
  • fEnableWinStation:远程桌面会话主机配置中RDP-TCP启用/禁用连接选项【只在server端才有用】
  • PortNumber子路径\WinStations\RDP-Tcp是远程桌面运行的端口,值为16进制
  • AllowTSConnections设置以允许RDP会话
  • 了解远程桌面所使用的方法
  • SetAllowTSConnections方法:这是远程桌面**Win32_TerminalServiceSetting **类的一个方法,允许或拒绝新的远程桌面连接。 此方法将相应地修改类的 AllowTSConnections 属性。
  • AllowTSConnections指定是否允许新的远程桌面连接,1为允许连接,0为不允许连接,所以这个值要设置为1

执行以下命令后,默认访客账户将启用【活跃】并添加到管理员和远程桌面用户组,并且桌面将允许多个RDP连接

命令作用
net user Guest /active:yes激活来宾用户
net user Guest password修改来宾用户的密码,有时候系统会限制空密码的远程访问
net localgroup Administrators Guest /add把来宾用户加入到管理员组
net localgroup Remote Desktop Users Guest /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注册表允许RDP会话访问

激活来宾用户

在这里插入图片描述

修改密码为password

在这里插入图片描述

把来宾用户加入到管理员组,此时的权限也很高了,可以不必再加入到远程桌面组中去

在这里插入图片描述

Guest用户权限也是在管理员组里面

在这里插入图片描述

开启远程桌面有以下两种通用姿势

  • 第一种姿势通过注册表修改

通过注册表项查询当前fDenyTSConnections的值为0x1,这个值代表远程桌面功能是关闭的

在这里插入图片描述

通过注册表启用远程桌面功能就是把fDenyTSConnections的值设置为0x0

在这里插入图片描述

设置完成之后,再次查看远程桌面的启用状态,这个时候发现fDenyTSConnections的值已经从0x1改成了0x0说明远程桌面功能已经启用

在这里插入图片描述

通过mstsc连接出现凭证验证的页面,即可证明能够远程桌面访问了

在这里插入图片描述

  • 第二种姿势通过wmi进行修改,其本质上还是把fDenyTSConnections的值置为0x0,指令如下

    wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1   开启远程登录
    wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 0   关闭远程登录
    

    目前远程桌面是禁用的状态

在这里插入图片描述

Win32_TerminalServiceSetting WMI 类表示远程桌面会话主机 (RD 会话主机) 服务器的配置

SetAllowTSConnections 方法允许或拒绝新的远程桌面连接, 此方法将相应地修改类的 AllowTSConnections 属性;来允许或拒绝远程桌面的连接。

在这里插入图片描述

执行完命令后,重新查询下fDenyTSConnections的值重置为0,也是可以启用远程桌面功能的

在这里插入图片描述

如果遇到连接不上的情况,可尝试添加防火墙例外策略

netsh advfirewall firewall add rule name="remote Desktop" protocol=TCP dir=in localport=3389 action=allow

在这里插入图片描述

0x06 检测方法

1.日志特征

Process Create:
RuleName: -
UtcTime: 2022-11-11 09:57:28.999
ProcessGuid: {366efb63-0000-0000-2898-bf0000000000}
ProcessId: 3656
Image: C:\Windows\System32\wbem\WMIC.exe
FileVersion: 6.1.7600.16385 (win7_rtm.090713-1255)
Description: WMI Commandline Utility
Product: Microsoft® Windows® Operating System
Company: Microsoft Corporation
OriginalFileName: wmic.exe
CommandLine: wmic  RDTOGGLE WHERE ServerName='SWORDHEART' call SetAllowTSConnections 1
CurrentDirectory: C:\Users\Administrator\
User: SWORDHEART\Administrator
LogonGuid: {366efb63-0000-0000-0272-080000000000}
LogonId: 0x87202
TerminalSessionId: 1
IntegrityLevel: High
Hashes: MD5=FD902835DEAEF4091799287736F3A028,SHA256=DA3AD32583644BD20116F0479C178F7C7C0B730728F4C02A438C0D19378C83D9,IMPHASH=15585CB74052B4739A900FCB332F06EA
ParentProcessGuid: {366efb63-0000-0000-5bf1-bd0000000000}
ParentProcessId: 2316
ParentImage: C:\Windows\System32\cmd.exe
ParentCommandLine: "C:\Windows\system32\cmd.exe" 
ParentUser: SWORDHEART\Administrator

在这里插入图片描述

Process Create:
RuleName: -
UtcTime: 2022-11-11 10:01:54.074
ProcessGuid: {366efb63-0000-0000-4852-c00000000000}
ProcessId: 660
Image: C:\Windows\System32\reg.exe
FileVersion: 6.1.7600.16385 (win7_rtm.090713-1255)
Description: Registry Console Tool
Product: Microsoft® Windows® Operating System
Company: Microsoft Corporation
OriginalFileName: reg.exe
CommandLine: REG  query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
CurrentDirectory: C:\Users\Administrator\
User: SWORDHEART\Administrator
LogonGuid: {366efb63-0000-0000-0272-080000000000}
LogonId: 0x87202
TerminalSessionId: 1
IntegrityLevel: High
Hashes: MD5=9D0B3066FE3D1FD345E86BC7BCCED9E4,SHA256=4E66B857B7010DB8D4E4E28D73EB81A99BD6915350BB9A63CD86671051B22F0E,IMPHASH=85C854CD51885B4B1E99BD14B33472B9
ParentProcessGuid: {366efb63-0000-0000-5bf1-bd0000000000}
ParentProcessId: 2316
ParentImage: C:\Windows\System32\cmd.exe
ParentCommandLine: "C:\Windows\system32\cmd.exe" 
ParentUser: SWORDHEART\Administrator

在这里插入图片描述

2.攻击特征

本次实验火绒在激活guest用户的时候不会产生拦截的告警,只有当使用cmd设置guest密码的时候会进行告警拦截,在操作注册表的时候,火绒没有任何告警

在这里插入图片描述

0x07处置方法与规则编写

1.处置方法:

限制通过cmd对用户进行命令操作,限制通过cmd对注册表进行命令操作,来拦截此类攻击。

在这里插入图片描述

2.火绒监测规则编写

{
    "ver":"5.0",
    "tag":"hipsuser",
    "data":[
        {
            "id":1,
            "power":1,
            "name":"T1078-001-默认帐户",
            "procname":"C:\\Windows\\System32\\cmd.exe",
            "treatment":1,
            "policies":[
                {
                    "montype":0,
                    "action_type":16,
                    "res_path":"C:\\Windows\\system32\\net.exe"
                },
                {
                    "montype":0,
                    "action_type":16,
                    "res_path":"C:\\Windows\\system32\\net1.exe"
                },
                {
                    "montype":1,
                    "action_type":15,
                    "res_path":"C:\\Windows\\system32\\net.exe"
                },
                {
                    "montype":1,
                    "action_type":15,
                    "res_path":"C:\\Windows\\system32\\net1.exe"
                },
                {
                    "montype":0,
                    "action_type":16,
                    "res_path":"C:\\Windows\\system32\\reg.exe"
                },
                {
                    "montype":1,
                    "action_type":15,
                    "res_path":"C:\\Windows\\system32\\reg.exe"
                },
                {
                    "montype":2,
                    "action_type":15,
                    "res_path":"HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\*"
                },
                {
                    "montype":1,
                    "action_type":15,
                    "res_path":"C:\\Windows\\system32\\wbem\\WMIC.exe"
                },
                {
                    "montype":0,
                    "action_type":16,
                    "res_path":"C:\\Windows\\system32\\wbem\\WMIC.exe"
                }
            ]
        }
    ]
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以看到定义的规则可以严格的对激活用户,对远程桌面注册表进行限制,起到了拦截的作用

在这里插入图片描述

0x08 总结

通过本次实验得出如下结论,获取shell的前提下,可以通过默认激活默认用户,添加到管理员组,手动启用远程桌面的形式,获取远程桌面的权限,火绒基本上不会触发告警机制,基本上都需要添加自定义规则才能进行防护,所以可以通过这种方式绕过火绒获取远程桌面的权限。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68935.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python用一行代码,截取图片

前言 本文是该专栏的第3篇,后面会持续分享python的各种黑科技知识,值得关注。 在工作上,有些时候可能需要用到代码来进行自动截图,比如说需要图文识别,进行数据信息抽取的时候,能自动定位截图无疑是很好的办法。 对python而言,截图方法其实有很多,但笔者下面要介绍的…

活动明天见 | DataFunSummit 2022 AI基础软件架构峰会圆桌会

11月16日晚 19:30-21:00,第四范式技术副总裁、OpenMLDB 项目发起人郑曌受邀主持DataFunSummit 2022 AI基础软件架构峰会圆桌会,将与各位资深专家在线上做深度的交流分享,欢迎大家届时收看。 开源机器学习数据库 OpenMLDB **活动时…

全国产三防加固计算机

国产三防加固计算机,本文指的是CPU为国产飞腾D2000处理器、操作系统为国产麒麟V10 SP1系统,整机方案采用全国产化设计。 达梦数据库是由武汉达梦数据库股份有限公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理…

“辣条一哥”卫龙冲击港股IPO,我又吃出一家上市公司

一、公司简介 卫龙作为国内领先的辣味休闲食品企业,是目前国内辣味食品当之无愧的第一品牌。据2021年零售销售额计,公司在辣味休闲食品企业中排名第一,市场份额达到了6.2%,是一款备受年轻消费者喜爱的休闲食品品牌。天眼查App显示…

vue3之实现响应式数据ref和reactive

用途 ref、reactive都是vue3提供实现响应式数据的方法 ref() 接受一个内部值,返回一个响应式的、可更改的ref对象,此对象只有一个指向其内部的属性.value ref可以说是简化版的reactive,与reactive的区别则是 ref是对某一个数据类型的单独…

测试工程师面试题

很多软件测试工程师在面试的时候都会遇到考官给的各种各样的面试题,这也反应了测试工程师对企业的重要性,面试通常分为以下几个方面,由于篇幅有限,在这里就只给大家分享一些比较常见的问题。 01 自我介绍 这里我不分享如何自我介…

js 网格卡片交换动画

关键技术:animate(keyframes, options) keyframes 关键帧对象数组,或一个关键帧对象(其属性为可迭代值的数组) 代表动画持续时间的整数(以毫秒为单位),或者一个包含一个或多个时间属性 参考传送…

C# 学习之路(类的基本概念)

C# 学习之路(类的基本概念) 类的概述 类是一种活动的数据结构 程序的数据和功能被组织为逻辑上相关的数据项和函数封装的集合,并称为类 类包含数据成员和函数成员: 数据成员:存储与类或类的实例相关的数据&#xff08…

Linux条件变量

一、条件变量函数 1,条件变量 条件变量:用来描述某种临界资源是否就绪的一种数据化描述。通常要配合mutex一起使用。 2,初始化 pthread_connd_init: 同样有一个静态的和一个动态的。 其中cond是需要初始化的条件变量,attr传…

在线书法培训迎来新风口

随着社会教育水平的不断提高,书法不再是独属于某个年龄层的爱好,开始被越来越多人欣赏和重视。 写一手好字,对每一个人来说都是一个加分“外挂”。在考场上,一手好字无疑可以让阅卷老师在心中自然加分;在职场中&#…

源码深度解析之 Spring IOC

1. 基础知识 1.1 什么是 Spring IOC ? IOC 不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。 传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与…

Vue--》自定义指令的使用讲解

目录 自定义指令 自定义指令的分类 私有自定义指令: 全局自定义指令: 总结 自定义指令 vue官方提供了v-text、v-for、v-model、v-if等常用的指令,还允许开发者自定义指令。 自定义指令的分类 私有自定义指令: 在每个vue组…

[附源码]计算机毕业设计框架的食品安全监督平台的设计与实现Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

u-BOOT启动流程

1、u-boot入口:入口即第一行程序,程序的链接是由链接脚本决定的,编译uboot之后,可以在根目录下生成u-boot.lds文件 打开lds文件可以看到代码当前入口点: :_start,_start后面就是中断向量表&…

[附源码]Python计算机毕业设计Django演唱会门票售卖系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

股票接口怎样获取数据方便?

目前很多交易者对股票数据行情查询相关使用的系统也是很普遍,就比如说你查询A股的大秦铁路可以使用实时股票数据接口来获取它的实时股价,成交量,成交金额等情况。那么在这个过程中,股票接口是如何获取数据更方便呢?小编…

化工厂人员定位系统:聚焦化工安全问题,提升智慧管理水平

化工厂人员定位系统,以人员定位技术为核心,整合访客管理、出入口控制、地图、人脸识别、视频监控数据采集等各种管控技术,提供精准实时定位、轨迹查询、货物跟踪等功能,又称“智能化二道门人员管理系统”。 12月1日,鞍…

[附源码]计算机毕业设计剧本杀交流分享平台Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Spring进阶(二十一)之循环Bean详解

目录 什么是循环依赖 检测是否存在循环依赖 Spring底层是如何解决循环依赖的问题 循环依赖无法解决的情况 为什么需要用3级缓存 问题 原因 案例 单例bean解决了循环依赖,还存在什么问题 什么是循环依赖 这个很好理解,多个bean之间相互依赖&#…

Python制作进度条,原来有这么多方法

如果你之前没用过进度条,八成是觉得它会增加不必要的复杂性或者很难维护,其实不然。要加一个进度条其实只需要几行代码。 在这几行代码中,我们可以看看如何在命令行脚本以及 PySimpleGUI UI 中添加进度条。 下文将介绍 4 个常用的 Python 进度…