内网渗透----windows信息收集整理
一、基础信息收集
1.信息收集类型
- 操作系统版本、内核、架构
- 是否在虚拟化环境中,已安装的程序、补丁
- 网络配置及连接
- 防火墙设置
- 用户信息、历史纪录(浏览器、登陆密码)
- 共享信息、敏感文件、缓存信息、服务等
2.系统信息
- systeminfo
功能:心事有关计算机及其操作系统的详细配置,包括操作系统配置,安全信息,产品ID和硬件属性(如RAM,磁盘空间和网卡)
Egg - systeminfo /fo:csv
输出为csv格式,默认为list格式显示有关计算机及其操作系统的详细配置信息,包括操作系统配置,安全信息,产品ID和硬件属性,如(RAM,磁盘空间和网卡) - systeminfo >> 1.txt
输出到txt文件中 - windows-Exploit-Suggester-master (不更新)(python2)
检测漏洞
3.用户及用户组信息
- whoami
显示当前登录到本地系统的用户的用户,组和权限信息。如果没有参数使用,whoami将显示当前的域和用户名
Egg:
whoami/user 查看当前用户的用户名和sid
whoami/groups 查看当前用户所属的用户组
whoami/priv 查看当前用户的权限 - net user
添加或修改用户帐户或显示用户帐户信息。
Eggs:
net user 查看本机用户 - net localgroup
添加,显示或修改本地组
Eggs:
net localgroup
net localgroup“administrators”查看administrators组的信息及成员 - net accounts
更新用户帐户数据库并修改所有帐户的密码和登录要求。可以用来查看密码策略等信息
4.最近登录信息
- query user
查看其它在线用户
查看管理员登录时间
查看管理员登录类型
5.网络信息
- ipconfig
显示所有当前TCP/1P网络配置值并刷新动态主机配置协议(DHCP)和域名系统(DNS)设置。在不带参数的情况下使用,ipconfig显示所有适配器的IP地址,子网掩码和默认网关。
Eggs:
ipconfig
ipconfig/all
ipconfig/displaydns 显示DNS客户端解析程序缓存的内容,其中包括从本地主机文件预加载的条目和计算机解析的名称查询的任何最近获取的资源记录。 - route
显示并修改本地IP路由表中的条目
route print-4 查看ipv4路由信息 - arp
显示和修改地址解析协议(ARP)缓存中的条目,该缓存包含一个或多个用于存储1P地址及其解析的以太网或令牌环物理地址的表。
Eggs:
arp-a 显示arp缓存 - netstat
显示活动的TCP连接,计算机侦听的端口,以太网统计信息,IP路由表,1Pv4统计信息以及IPv6统计信息。
Eggs:
netstat-ano 显示活动的tcp、udp连接及它们对应的pid,地址与端口用数字表示
netstat-ptcp 显示tcp连接 - net share
管理共享资源。在不带参数的情况下使用,net share显示关于在本地计算机上共享的所有资源的信息
Eggs:
net share 查看共享信息
net sharec$ 查看c$共享的信息 - net use
将计算机连接到共享资源或将计算机与共享资源断开连接,或显示有关计算机连接的信息。该命令还控制持久的网络连接。没有参数的情况下,net use检索一个网络连接列表
Eggs:
net use
6.敏感文件
- 密码管理器
cmdkey /1 - Hosts文件
Hosts文件全名域名解析文件,用来建立一个主机名到ip地址的映射。它的功能是对dns做一个补充,用户可以通过控制这个文件的内容来控制某些域名的解析。
Windows下hosts文件的位置:
C:\Windows\System32\drivers\etc\hosts
- 回收站
可以通过以下命令进入回收站文件夹:
cd C:$RECYCLE.BIN
这个文件夹及子文件夹是隐藏文件夹,如果我们直接使用dir命令而不加参数的话,是看不到文件夹中有什么的内容的。我们可以使用/ah参数(a显示具有指定属性的文件,h代表隐藏文件)来查看: dir/ah
7.IIS信息收集
IIS是微软开发的web服务器。在iis6中,我们可以通过adminscripts来管理服务器从is7开始,微软提供了一款叫做appcmd的工具。关于appcmd,微软提供了一套文档:
下面我们来简单介绍一下获取iis相关的信息
在安装了is7的服务器上,appcmd的位置在:
%systemroot%\system32\inetsrv下
Appcmd的语法如下:
APPCMD(command)(object-type)<identifier></parameter1:value1..>*
其中,command可以是list、add、delete和set。而object可以是app、site等等。
如果我们想列出网站列表,可以使用:
%systemroot%/system32/inetsrv/appcmd.exe list site
如果需要列出物理路径,可以使用:
%systemroot%\system32\inetsrv\appcmd.exe list vdir
注意这些操作都需要相应的权限
二、凭证收集
1.凭证收集
收集本机凭据是信息收集的一个非常重要的环节。通常我们可以收集的凭据包括但不限于:Windows hash(NTLM、LM),浏览器密码、cookie,远程桌面密码,VPN密码,WLAN密码,IIS服务器密码,FTP服务器密码等等。
2.Windows账户密码
Windows用户的密码加密后一般有两种形式:NTLM Hash和LM Hash(从windows Vista和2008开始,微软就取消了LMHash)
这些hash通常有两个存储的地方:对于本地用户,存储在SAM数据库中,对于域用户,则存储在域控制器的NTDS.dit数据库中。当用户登陆时,这些hash也可能贮存在内存中,能够被我们抓取到。
3.Windows Hash


4.SAM
SAM全称叫做安全帐户管理器(SAM),是Windows XP,Windows Vista,Windows 7,8.1和10中存储用户密码的数据库文件。
用户密码以散列格式存储在注册表配置单元中,既可以作为LMHash,也可以作为NTLMHash。这个文件可以在%SystemRoot%/system32/config/ SAM中找到,并且挂载在HKLM/SAM上。
为了提高SAM数据库的安全性,防止脱机软件破解,Microsoft在Windows NT 4.0中引入了SYSKEY函数。启用SYSKEY时,SAM文件的磁盘上副本将被部分加密,以便存储在SAM中的所有本地帐户的密码哈希值都使用密钥(通常也称为“SYSKEY")加密。
5.UAC
UAC这个名字大家初次听说可能比较陌生,其实,使用windows vista及以上操作系统的人都是接触过UAC的。举个例子:当我们右键某个可执行文件,选择以管理员身份运行,就会弹出一个对话框,依据当前用户权限的不同,可能是要求我们输入管理员凭据,也可能是询问我们是否允许该程序进行更改。这其实就是UAC。
UAC设计的目的就是通过合理地分配权限来保护数据和系统资源的安全。
UAC的一个作用就是帮助用户在不切换帐户的情况下既能选择在管理员权限下工作,又能选择在非管理员权限下工作。一般来说,用户以非管理员权限执行操作,只有在必要的时候,通过uac来暂时地提升权限。
6.离线凭证收集
提取SAM数据库hash
使用reg命令保存注册表键
reg save hklm\sam c:\sam.hive
reg save hklm\system c:\system.hive
使用Invoke-NinjaCopy
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
7.离线凭证收集-其他方式
离线提取lsass进程
Vista及以上的系统可以打开任务管理器,选择显示所有用户的进程,找到1sass进程后右键创建转储文件
procdump.exe
procdump.exe -ma lsass.exe lsass.dmp
获取到内存转储文件后,就可以使用mimikatz来提取密码。这里需要注意的是运行mimikatz平台架构要与进行转储的系统兼容。命令如下:
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords
8.在线凭证收集
Mimikatz
Mimikatz项目地址:https://github.com/gentilkiwi/mimikatz
功能:抓取lsass进程中的密码,提取sam数据库中的密码,提取chrome凭据,提取证书,支持pass-the-hash、pass-the-ticket等攻击方式,功能非常强大
Powershell版Mimikatz
项目地址:
https://github.com/PowershellMafia/Powersploit/blob/master/Exfiltration/Invoke-Mimikatz.ps1
可以通过powershell下载执行来运行
三、windows访问令牌
1.Windows登录过程
令牌(Access Tokens)是Windows操作系统安全性的一个概念。当用户登陆时,系统创建一个访问令牌,里面包含登录进程返回的SID和由本地安全策略分配给用户和用户的安全组的特权列表。以该用户身份运行的的所有进程都拥有该令牌的一个拷贝。系统使用令牌控制用户可以访问哪些安全对象,并控制用户执行相关系统操作的能力。
2.访问令牌
1.用户账户的安全标识(SID)
2.用户所属组的SID
3.识别当前登录会话的登录SID
4.用户或者用户组所保存的权限牌列表
5.所有者SID
6.主组SID
7.默认的DACL
8.访问令牌的来源
9.令牌是一个主令牌还是模拟令牌
10.限制的SID可选列表
11.当前模拟级别
12.其他统计
3.安全标识符(SID)
SID全称为Security Identifiers,是用户的唯一身份标识
4.Token
Windows有两种类型的Token:
- Delegation token(授权令牌):用于交互会话登录(例如本地用户直接登录、远程桌面登录)
- Impersonation token(模拟令牌):用于非交互登录(利用net use访问共享文件夹)
注:
两种token只在系统重启后清除
具有Delegation token的用户在注销后,该Token将变成lmpersonation token,依旧有效
5.令牌窃取
Token是一个用户的身份标识,窃取了Token就伪装了成了该用户
窃取Token需要SYSTEM权限
本机的SYSTEM无所不能,但在工作组或者域环境中窃取令牌的用处较大
内网渗透----windows信息收集整理的更多相关文章
- 内网渗透----Linux信息收集整理
一.基础信息收集 1.查看系统类型 cat /etc/issue cat /etc/*-release cat /etc/lsb-release cat /etc/redhat-release 2.内 ...
- 内网渗透之信息收集-windows系统篇
windows 用户相关 query user #查看当前在线的用户 whoami #查看当前用户 net user #查看当前系统全部用户 net1 user #查看当前系统全部用户(高权限命令) ...
- 内网渗透之信息收集-linux
linux 系统信息 grep MemTotal /proc/meminfo #查看系统内存总量 cat /etc/issue #查看系统名称 ...
- 内网渗透之信息收集-windows
用户相关 query user #查看当前在线的用户 whoami #查看当前用户 net user #查看当前系统全部用户 net1 user #查看当前系统全部用户(高权限命令) net user ...
- 内网渗透之信息收集-Linux系统篇
linux 系统信息 grep MenTotal /proc/meminfo #查看系统内存总量 cat /etc/issue #查看系统名称 cat /etc/lsb-release #查看系统名称 ...
- 内网渗透 day7-linux信息收集
linux信息搜集 目录 1. linux信息搜集 2. nmap漏洞复现 3. msf linux模块反弹shell 1. linux信息搜集 id 查看当前用户的权限和所在的管理组 python ...
- 内网渗透----Windows下信息收集
一.基础信息收集 使用systeminfo命令查看操作系统版本.架构.补丁情况 Windows-Exploit-Suggester-master -u 参数升级并将数据库下载至本地: -i 参数指定系 ...
- 内网渗透-windows认证
前言:全国HW刚结束,加强一波内网概念,去年11月红队成绩并不理想,这次必拿下好成绩.冲!!! 0x00 本地认证 本地认证基础知识 在本地登录Windows的情况下,操作系统会使用用户输入的密码作为 ...
- [内网渗透]Windows中的用户帐户与组账户
0x01 用户帐户 1.1 简介 用户帐户是对计算机用户身份的标识,本地用户帐户.密码存在本地计算机上,只对本机有效,存储在本地安全帐户数据库 SAM 中. 文件路径:C: ...
随机推荐
- 带你十天轻松搞定 Go 微服务之大结局(分布式事务)
序言 我们通过一个系列文章跟大家详细展示一个 go-zero 微服务示例,整个系列分十篇文章,目录结构如下: 环境搭建 服务拆分 用户服务 产品服务 订单服务 支付服务 RPC 服务 Auth 验证 ...
- Solution -「SDOI 2016」「洛谷 P4076」墙上的句子
\(\mathcal{Description}\) Link. (概括得说不清话了还是去看原题吧 qwq. \(\mathcal{Solution}\) 首先剔除回文串--它们一定对答案产 ...
- 通过修改注册表将右alt键映射为application键
通过修改注册表将右alt键映射为application键的方法有许多键盘没有APPLICATION(上下文菜单)键,本文将教您如何把右ALT键映射为apps键.1.映射请将以下注册表信息用记事本保存为 ...
- Linux性能优化概述
一.Linux性能概述 性能优化是个系统工程,总是牵一发而动全身,它涉及了从程序设计.编程语言,再到系统.存储.网络等各种底层基础设施的方方面面.每一个组件都有可能出问题,而且很有可能多个组件同时出问 ...
- 还不会使用linux?快来通过VMware安装centos系统吧~
1.前言 Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发, ...
- 渗透测试工程师认证 | CISP-PTE证书含金量
注册渗透测试工程师(CISP-PTE)认证是由中国信息安全测评中心针对攻防专业领域实施的资质培训, 是国内唯一针对网络安全渗透测试专业人才的资格认证,是目前国内最为主流及被业界认可的专业攻防领域的资质 ...
- BI能给企业带来什么收益,企业应该如何选择好的BI工具?
任何从事数据分析的小伙伴,或多或少都会听说BI这个数据分析工具.希望进入数据分析工作的小伙伴也一定绕不开BI这个话题,那么BI到底是什么呢?为什么BI如此重要?BI能给企业带来什么?如何选择BI工具 ...
- HDFS的上传下载流程
hdfs上传流程 首先客户端向nn请求上传文件.nn经过检查回应客户端是否可以上传.客户端得到同意后向nn请求上传第一块文件的dn.nn返回给客户端dn的地址.客户端与其中一个dn1建立连接然后dn1 ...
- Seastar 教程(二)
协程 注意:协程需要 C++20 和支持的编译器.已知 Clang 10 及更高版本可以工作. 使用 Seastar 编写高效异步代码的最简单方法是使用协程.协程没有传统continuation(如下 ...
- XML序列化与反序列化接口对接实战,看这篇就够了
关键字:c# .NET XML 序列化 反序列化 本文为接口对接实践经验分享,不对具体的XML概念定义进行阐述:涉及工具类及处理方法已在生产环境使用多年,可放心使用.当然如果你发现问题,或有不同想法, ...