一、基础信息收集

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信息收集整理的更多相关文章

  1. 内网渗透----Linux信息收集整理

    一.基础信息收集 1.查看系统类型 cat /etc/issue cat /etc/*-release cat /etc/lsb-release cat /etc/redhat-release 2.内 ...

  2. 内网渗透之信息收集-windows系统篇

    windows 用户相关 query user #查看当前在线的用户 whoami #查看当前用户 net user #查看当前系统全部用户 net1 user #查看当前系统全部用户(高权限命令) ...

  3. 内网渗透之信息收集-linux

    linux     系统信息         grep MemTotal /proc/meminfo #查看系统内存总量         cat /etc/issue #查看系统名称         ...

  4. 内网渗透之信息收集-windows

    用户相关 query user #查看当前在线的用户 whoami #查看当前用户 net user #查看当前系统全部用户 net1 user #查看当前系统全部用户(高权限命令) net user ...

  5. 内网渗透之信息收集-Linux系统篇

    linux 系统信息 grep MenTotal /proc/meminfo #查看系统内存总量 cat /etc/issue #查看系统名称 cat /etc/lsb-release #查看系统名称 ...

  6. 内网渗透 day7-linux信息收集

    linux信息搜集 目录 1. linux信息搜集 2. nmap漏洞复现 3. msf linux模块反弹shell 1. linux信息搜集 id 查看当前用户的权限和所在的管理组 python ...

  7. 内网渗透----Windows下信息收集

    一.基础信息收集 使用systeminfo命令查看操作系统版本.架构.补丁情况 Windows-Exploit-Suggester-master -u 参数升级并将数据库下载至本地: -i 参数指定系 ...

  8. 内网渗透-windows认证

    前言:全国HW刚结束,加强一波内网概念,去年11月红队成绩并不理想,这次必拿下好成绩.冲!!! 0x00 本地认证 本地认证基础知识 在本地登录Windows的情况下,操作系统会使用用户输入的密码作为 ...

  9. [内网渗透]Windows中的用户帐户与组账户

    0x01 用户帐户 1.1 简介        用户帐户是对计算机用户身份的标识,本地用户帐户.密码存在本地计算机上,只对本机有效,存储在本地安全帐户数据库 SAM 中.        文件路径:C: ...

随机推荐

  1. 在公司内部网络如何搭建Python+selenium自动化测试环境

    在公司内部安装Python+selenium测试环境,由于不能连外网所以不能使用pip命令进行安装,经过多次尝试终于安装成功,现总结如下分享给大家,也希望跟大家一起学习和交流自动化网页测试时遇到的问题 ...

  2. Netty核心原理

    Netty核心原理 1. Netty介绍 1.1 原生NIO存在的问题 NIO的类库和API使用繁杂 需要具备其他额外的技能,如java多线程编程等才能编写出高质量的NIO程序 开发工作量和难度都非常 ...

  3. socket 套接字编程

    今日内容 socket 套接字编程 简易服务端与客户端代码实现 通信循环 黏包现象(TCP协议) 报头制作.struct 模块.封装形式 内容详细 一.socket 套接字编程 实现一款能够进行数据交 ...

  4. ASP.NET Core 6框架揭秘实例演示[05]:依赖注入基本编程模式

    毫不夸张地说,整个ASP.NET Core就是建立在依赖注入框架之上的.ASP.NET Core应用在启动时构建管道所需的服务,以及管道处理请求使用到的服务,均来源于依赖注入容器.依赖注入容器不仅为A ...

  5. CentOS 7 下升级OpenSSH 7.4p1到OpenSSH 8.4p1

    文章目录 一.环境介绍 二.安装配置telnet 2.1.安装telnet-server 2.2.配置telnet 2.3.配置telnet登录的终端类型 2.4.启动telnet服务 三.切换登录方 ...

  6. 如何使用IDEA工具右边栏的Database模块

    理解Spring Boot自动配置数据源相关代码进行测试时总是无法链接数据库,但是其他方式链接又是没有问题.不知道哪里出现问题了,后来搜资料无意中看到idea提供了Database模块可以测试,就是用 ...

  7. 封装及其作用Java

    封装 该露的露,该藏的藏 我们程序设计要求"高内聚,低耦合".高内聚就是类的内部数据操作细节自己完成,不允许外部干涉:低耦合:仅暴漏少量的方法给外部使用 ​ 封装(数据的隐藏): ...

  8. 零基础小白也能用的商业智能BI工具,自助式就是香!

    ​随着数字化时代的到来,数据已经成为企业无形的资源,企业对员工的数据分析能力也提出了新的要求.掌握一定的数据分析能力无疑会大大增加自己在职场中的竞争力,但并不是所有人都具备专业的数据分析基础,尤其是虽 ...

  9. 在 CentOS 或 RHEL 系统上检查可用的安全更新的方法

    当你更新系统时,根据你所在公司的安全策略,有时候可能只需要打上与安全相关的补丁.大多数情况下,这应该是出于程序兼容性方面的考量.那该怎样实践呢?有没有办法让 yum 只安装安全补丁呢? 答案是肯定的, ...

  10. Oracle RAC架构图和常用命令

    转至:https://www.cnblogs.com/yaoyangding/p/15596308.html Oracle RAC(实时应用集群)是Oracle数据库完全高可用体系解决方案中的一个关键 ...