1、system(最高权限) 2、Administrator(管理员) 3、User(普通用户)
比如用管理员启动 ftp,ftp 就获取了管理员权限
1、Administrator 2、Guest(来宾用户)
查看系统全部用户:
net user
用户组的特性:
1、组是一些用户的集合
2、为一个组添加权限后,组内成员自动获得相应的权限
3、一个用户加入组后,自动获取组的所有权限
1、Administrators 组
系统管理员组,拥有系统管理员权限
2、Guests 组
来宾用户组,普通来宾用户
3、Users 组
普通用户组
4、Power Users 组
可以创建、删除用户,创建共享文件夹等
5、Remote Desktop 组
拥有远程连接功能(Administrators 组默认拥有此权限)
6、Print Users 组
拥有操作打印机权限
net localgroup
创建用户的唯一号码
whoami /user
whoami #查看当前用户权限(最高权限:nt authority\system)
net user 用户名 #查看用户具体信息
net user 用户名 密码 /add #添加一个新用户(需要管理员权限)注意密码复杂度
query user #查询在线用户
net localgroup 组名 /add #添加一个用户组
net localgroup 组名 #查看组内成员
net localgroup 用户组 用户名 /del #将指定用户移除组
net localgroup 用户组 用户名 /add #将指定用户添加组
tasklist #查看进程
tasklist /svc #显示PID,名字,服务
taskkill /f /im 进程名 #杀死进程
TeamService.exe #远程桌面进程
ipconfig /all #查看本机IP地址(详细信息)
netstat -ano #查看本地网络信息
netstat -ano | findstr "3389" #只看3389端口信息
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f #开启3389端口
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f #关闭3389端口
#查看系统版本
ver
---------------------------
windows5.1--win2003
windows5.2--winXP
windows6.1--win7/win2008
winodws6.2--win8/win2012
windows10 --win10
systeminfo #查看windows详细信息
默认存储在windows的c:\windows\system32下的config目录下面SAM文件
存储用户名及密码(需要管理员权限)
1、lm hash
2、ntlm hash(主要)
版本:ntlm v1协议、ntlm v2协议
可以理解为 ntlm hash 的前身,不做过多概述
使用 python 可以进行类似加密操作
from passlib.hash import nthash
h = nthash.hash('admin') //得到admin的ntlm hash
在登陆过程中,一般会有一个进程专门负责加密
登录过程--winlogon.exe--接受密码(明文密码)
传递过程--传递给lsass.exe进程--将用户名和密码进行加密
认证过程--将加密后的值与SAM文件加密的值进行对比
以后可以通过 lsass.exe 抓取 windows 明文密码
windwos2000 -- lm hash(基本上见不到)
windows2003 -- ntlm hash
windows7 -- ntlm v2
UAC 虚拟化:User Account Cortrol(用户账户控制)虚拟化,通常见于 Windows 系统下的 Vista 和 7 及以上
主要防止敏感操作,在应用造操作需要管理员权限时会触发 UAC 效果
(1)windows 更新
(2)增加或删除用户
(3)更改账户类型
(4)安装或删除程序
(5)安装驱动
(6)设置家长控制
(~)等等
ASR:攻击面缩减(Attack Surface Reduction),现在主要用于防御
版本要求:windows 10 – 1709版本、windows server 2016 及之后版本
作用:通过配置规则减少系统被恶意软件攻击
(1)office 钓鱼攻击
(2)usb 攻击
(3)驱动下载攻击
(4)apk 攻击
ASR 位置:
打开组策略编辑器:gpedit.msc (注册表)
管理模板(Administrative Templates)-- Windows 组件(Windows Components)-- Windows Defender Antivirus – Windows Defender Exploit Guard – 攻击面减少(Attack Surface Reduction)
(1)未配置:禁用 --> 0
(2)阻止:启用 --> 1
(3)审核:评估 ASR 规则在启用后对组织的影响 --> 2
(4)警告:启用规则,但允许最终用户绕过块
一般使用 PowerShell 进行相关操作
ADD-MpPreference -AttackSurfaceReductionOnlyExclusions "规则"
设置规则一般都是由微软官方定义的一些规则
GUID 矩阵的 ASR 规则:
规则名称 规则 GUID
阻止滥用被利用的易受攻击的签名驱动程序 56a863a9-875e-4185-98a7-b882c64b5ce5
阻止 Adobe Reader 创建子进程 7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c
阻止所有 Office 应用程序创建子进程 d4f940ab-401b-4efc-aadc-ad5f3c50688a
阻止从 Windows 本地安全机构子系统 (lsass.exe) 窃取凭据 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2
阻止电子邮件客户端和 Webmail 中的可执行内容 be9ba2d9-53ea-4cdc-84e5-9b1eeee46550
阻止可执行文件运行,除非它们满足普遍性、年龄或受信任的列表条件 01443614-cd74-433a-b99e-2ecdc07bfc25
阻止执行可能混淆的脚本 5beb7efe-fd9a-4556-801d-275e5ffc04cc
阻止 JavaScript 或 VBScript 启动下载的可执行内容 d3e037e1-3eb8-44c8-a917-57927947596d
阻止 Office 应用程序创建可执行内容 3b576869-a4ec-4529-8536-b80a7769e899
阻止 Office 应用程序将代码注入其他进程 75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84
阻止 Office 通信应用程序创建子进程 26190899-1602-49e8-8b27-eb1d0a1ce869
通过 WMI 事件订阅阻止持久性* 不支持文件和文件夹排除项 e6db77e5-3df2-4cf1-b95a-636979351e5b
阻止源自 PSExec 和 WMI 命令的进程创建 d1e49aac-8f56-4280-b9ba-993a6d77406c
阻止从 USB 运行的不受信任和未签名的进程 b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4
阻止来自 Office 宏的 Win32 API 调用 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b
对勒索软件使用高级保护 c1db55ab-c21a-4637-bb3f-a12568109d35
查看规则效果:
事件查看器
cmd中运行 eventvwr.msc
应用程序控制策略:AppLocker,是Windows 7系统中新增加的一项安全功能
包含三部分功能:
(1)可执行程序控制
(2)安装程序控制
(3)脚本控制
默认为未开启,需要启用
services.msc中启用application identity(应用隔离)才会出现这个功能
进入注册表即可查看 applocker
gpedit.msc -- windows 设置 -- 安全设置 -- 应用程序控制策略 -- Applocker
打开本地安全策略
secpol.msc -- 应用程序控制(Applocation Control Pollcies)-- Applocker
Applocker 阻止的文件:
(1)可执行文件:exe
、com
(2)脚本:ps1
(powershell脚本)、bat
(批处理脚本)、vbs
(Visual Basic的脚本)
(3)安装文件:msi
(4)dll
文件
(1)发布者 – 数字签名标识
(2)路径
(3)文件 hash
访问令牌,用来描述进程或线程安全的对象,不用的用户登录都会生成一个对应的访问令牌,这个令牌在用户创建进程或线程会被使用进行拷贝。当使用这个令牌时,会获得这个令牌的所有权限
用户的 SID、用户组的 SID、用户登陆信息的状态 SID、等等
一种脚本语言(可迭代),能够执行一些命令,后缀为.ps1
(1)win7 之后默认集成
(2)内存执行,不会在系统上写入任何文件,具有一定的隐蔽性
(3)易于绕过一些杀毒软件
查看版本 Get-Host
win7 -- powershell 2.0
win8 -- powershell 3.0
win8.1/2012 -- powershell 4.0
win10/11 -- powershell 5.0
能不能运行用户所编写的脚本的功能
(1)禁止任何脚本运行(Restricted:禁止一切运行
)
(2)仅允许本地脚本运行(RemoteSigned:本地运行,远程不行
)
(3)仅拥有签名的脚本程序可以运行(AllSigned
)
(4)允许一切脚本运行(Unrestricted
)
Get-ExecutionPolicy //查看策略
Set-ExecutionPolicy //执行策略
正常运行脚本,报错
.\xxx.ps1
绕过方式
powershell.exe -ep Bypass -File .\xxx.ps1
powershell.exe -ep Bypass -WindowsStyle Hidden -Nologo -Nointeractive -Noprofile -File .\xxx.ps1
powersplit
nishang
empire
powercat
域控:Domain Controller 简称DC(公司老总级别)
一台计算机
域管理员:Appliance Domain 简称AD
提供与服务的组件
DNS服务器:域名与IP转换的服务(53端口)
可以依靠DNS服务器定位域控
域管理组 Domain Admins(高权限)
组用户组 Domain Users
企业系统管理组 Enterprise Admins(高权限)
架构管理员组 Schema Admins(高权限)
查看网络具体信息
ipconfig
ipconfig /all
查看用户在域内的详细信息
net user 用户名 /domain
查看域内时间(通过实践定位域控)可以得到域控主机名称
net time /domain
查看域内有多少台机器
net view /domain:域名
查看当前在线用户
query user || qwinsta
查看域内所有用户组(需要权限)
net group /domain
查看域内成员列表
net group "domain computers" /domain
nltest /DClIST:域名
查看域控组
net group "domain controllers" /domain
net user /domain
dsquery user (需要高版本操作系统)
net localgroup 用户组名 /domain
PowerSploit脚本中的PowerView
需要先导入脚本
Import-Module .\PowerView.ps1
Get-NetUser #返回域内用户
Get-NetDomainController #获取域控
Get-NetComputer #获取域内机器