内网渗透之 windows 基础

内网渗透 windows 基础

1、认识用户

1.1、用户权限划分

1、system(最高权限) 2、Administrator(管理员) 3、User(普通用户)

1.2、权限继承

比如用管理员启动 ftp,ftp 就获取了管理员权限

1.3、默认用户

1、Administrator 2、Guest(来宾用户)

查看系统全部用户:

net user

2、认识组

2.1、用户组

用户组的特性:

1、组是一些用户的集合

2、为一个组添加权限后,组内成员自动获得相应的权限

3、一个用户加入组后,自动获取组的所有权限

2.2、特殊的组

1、Administrators 组

系统管理员组,拥有系统管理员权限

2、Guests 组

来宾用户组,普通来宾用户

3、Users 组

普通用户组

4、Power Users 组

可以创建、删除用户,创建共享文件夹等

5、Remote Desktop 组

拥有远程连接功能(Administrators 组默认拥有此权限)

6、Print Users 组

拥有操作打印机权限

2.3、查看用户组

net localgroup

3、SID(安全标识符)

创建用户的唯一号码

3.1、查看用户 SID

whoami /user

4、基本命令

4.1、用户命令

whoami					   #查看当前用户权限(最高权限:nt authority\system)
net user 用户名	   		 #查看用户具体信息
net user 用户名 密码 /add 	#添加一个新用户(需要管理员权限)注意密码复杂度
query user 				   #查询在线用户

4.2、用户组命令

net localgroup 组名 /add 		#添加一个用户组
net localgroup 组名		    #查看组内成员
net localgroup 用户组 用户名 /del		#将指定用户移除组
net localgroup 用户组 用户名 /add		#将指定用户添加组

4.3、进程命令

tasklist					#查看进程
tasklist /svc				#显示PID,名字,服务
taskkill /f /im	进程名		  #杀死进程
TeamService.exe				#远程桌面进程

4.4、网络命令

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端口

4.5、系统命令

#查看系统版本
ver
---------------------------
windows5.1--win2003
windows5.2--winXP
windows6.1--win7/win2008
winodws6.2--win8/win2012
windows10 --win10
systeminfo		#查看windows详细信息

5、windows 认证及密码

5.1、密码存储文件 sam

默认存储在windows的c:\windows\system32下的config目录下面SAM文件

存储用户名及密码(需要管理员权限)

5.2、密码加密类型

1、lm hash
2、ntlm hash(主要)
版本:ntlm v1协议、ntlm v2协议
5.2.1、lm hash

可以理解为 ntlm hash 的前身,不做过多概述

5.2.2、ntlm hash

使用 python 可以进行类似加密操作

from passlib.hash import nthash
h = nthash.hash('admin')		//得到admin的ntlm hash

在登陆过程中,一般会有一个进程专门负责加密

登录过程--winlogon.exe--接受密码(明文密码)
传递过程--传递给lsass.exe进程--将用户名和密码进行加密
认证过程--将加密后的值与SAM文件加密的值进行对比

以后可以通过 lsass.exe 抓取 windows 明文密码

5.3、win 版本 && 密码版本

windwos2000 -- lm hash(基本上见不到)
windows2003 -- ntlm hash
windows7 -- ntlm v2

6、认识 windows UAC

6.1、UAC 概述

UAC 虚拟化:User Account Cortrol(用户账户控制)虚拟化,通常见于 Windows 系统下的 Vista 和 7 及以上

主要防止敏感操作,在应用造操作需要管理员权限时会触发 UAC 效果

内网渗透之 windows 基础_第1张图片

6.2、触发 UAC 的操作

(1)windows 更新

(2)增加或删除用户

(3)更改账户类型

(4)安装或删除程序

(5)安装驱动

(6)设置家长控制

(~)等等

7、认识 windows ASR

7.1、ASR 概述

ASR:攻击面缩减(Attack Surface Reduction),现在主要用于防御

版本要求:windows 10 – 1709版本、windows server 2016 及之后版本

7.2、ASR 的作用

作用:通过配置规则减少系统被恶意软件攻击

(1)office 钓鱼攻击

(2)usb 攻击

(3)驱动下载攻击

(4)apk 攻击

7.3、ASR 查询

ASR 位置:

打开组策略编辑器:gpedit.msc (注册表)

管理模板(Administrative Templates)-- Windows 组件(Windows Components)-- Windows Defender Antivirus – Windows Defender Exploit Guard – 攻击面减少(Attack Surface Reduction)

内网渗透之 windows 基础_第2张图片
内网渗透之 windows 基础_第3张图片
内网渗透之 windows 基础_第4张图片

7.4、ASR 默认规则

(1)未配置:禁用 --> 0

(2)阻止:启用 --> 1

(3)审核:评估 ASR 规则在启用后对组织的影响 --> 2

(4)警告:启用规则,但允许最终用户绕过块

7.5、设置 ASR 规则

一般使用 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

8、认识 Windows Applocker

8.1、Applocker 概述

应用程序控制策略:AppLocker,是Windows 7系统中新增加的一项安全功能

8.2、Applocker 功能

包含三部分功能:

(1)可执行程序控制

(2)安装程序控制

(3)脚本控制

8.3、查看 Applocker

默认为未开启,需要启用

services.msc中启用application identity(应用隔离)才会出现这个功能

内网渗透之 windows 基础_第5张图片

进入注册表即可查看 applocker

gpedit.msc -- windows 设置 -- 安全设置 -- 应用程序控制策略 -- Applocker

内网渗透之 windows 基础_第6张图片

打开本地安全策略

secpol.msc -- 应用程序控制(Applocation Control Pollcies)-- Applocker

内网渗透之 windows 基础_第7张图片

8.4、Applocker 规则

Applocker 阻止的文件:

(1)可执行文件:execom

(2)脚本:ps1(powershell脚本)、bat(批处理脚本)、vbs(Visual Basic的脚本)

(3)安装文件:msi

(4)dll文件

8.5、Applocker 规则条件

(1)发布者 – 数字签名标识

(2)路径

(3)文件 hash

9、认识 Token

9.1、windows token

​ 访问令牌,用来描述进程或线程安全的对象,不用的用户登录都会生成一个对应的访问令牌,这个令牌在用户创建进程或线程会被使用进行拷贝。当使用这个令牌时,会获得这个令牌的所有权限

9.2、token 的组成

用户的 SID、用户组的 SID、用户登陆信息的状态 SID、等等

10、Windows PowerShell

一种脚本语言(可迭代),能够执行一些命令,后缀为.ps1

10.1、优点

(1)win7 之后默认集成

(2)内存执行,不会在系统上写入任何文件,具有一定的隐蔽性

(3)易于绕过一些杀毒软件

10.2、版本

查看版本 Get-Host
win7 -- powershell 2.0
win8 -- powershell 3.0
win8.1/2012 -- powershell 4.0
win10/11 -- powershell 5.0

内网渗透之 windows 基础_第8张图片

10.3、powershell 执行策略

能不能运行用户所编写的脚本的功能

(1)禁止任何脚本运行(Restricted:禁止一切运行

(2)仅允许本地脚本运行(RemoteSigned:本地运行,远程不行

(3)仅拥有签名的脚本程序可以运行(AllSigned

(4)允许一切脚本运行(Unrestricted

Get-ExecutionPolicy		//查看策略
Set-ExecutionPolicy 	//执行策略

内网渗透之 windows 基础_第9张图片

10.4、绕过策略

正常运行脚本,报错
.\xxx.ps1

绕过方式
powershell.exe -ep Bypass -File .\xxx.ps1
powershell.exe -ep Bypass -WindowsStyle Hidden -Nologo -Nointeractive -Noprofile -File .\xxx.ps1

内网渗透之 windows 基础_第10张图片

10.5、常见脚本

powersplit
nishang
empire
powercat

11、认识 windows 域

11.1、域的组成

域控:Domain Controller 简称DC(公司老总级别)
一台计算机

域管理员:Appliance Domain 简称AD
提供与服务的组件

DNS服务器:域名与IP转换的服务(53端口)
可以依靠DNS服务器定位域控

11.2、域中常见用户组

域管理组 Domain Admins(高权限)
组用户组 Domain Users
企业系统管理组 Enterprise Admins(高权限)
架构管理员组 Schema Admins(高权限)

11.3、域内常见命令

查看网络具体信息
ipconfig
ipconfig /all

查看用户在域内的详细信息
net user 用户名 /domain

查看域内时间(通过实践定位域控)可以得到域控主机名称
net time /domain 

查看域内有多少台机器
net view /domain:域名

查看当前在线用户
query user || qwinsta 

查看域内所有用户组(需要权限)
net group /domain

查看域内成员列表
net group "domain computers" /domain

11.4、查找域控方式的命令

nltest /DClIST:域名

请添加图片描述

查看域控组
net group "domain controllers" /domain

11.5、查看域内用户

net user /domain
dsquery user (需要高版本操作系统)
net localgroup 用户组名 /domain

11.6、域内收集信息

PowerSploit脚本中的PowerView
需要先导入脚本 

Import-Module .\PowerView.ps1
Get-NetUser		#返回域内用户
Get-NetDomainController	#获取域控
Get-NetComputer	 #获取域内机器

内网渗透之 windows 基础_第11张图片

你可能感兴趣的:(windows,服务器,内网渗透,域)