Windows系统的信息收集

本文最后更新于2019年6月28日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

缘由:

很早之前记录过一篇「Linux提权工具/脚本__信息收集阶段性总结」的文章,但一直都没有收集和整理Windows环境下的信息收集工具、脚本,最近突然对这一块有点兴趣,所以顺手整理一下,方便以后参考。

正文:

参考解答:
一、如何获取Windows系统上已安装的软件信息?

参考3gstudent大神的文章「渗透基础——获得当前系统已安装的程序列表」,大致内容如下:

1、使用powershell调用wmi

Get-WmiObject -class Win32_Product
Get-WmiObject -class Win32_Product |Select-Object -Property name

2、使用wmic调用wmi

wmic /NAMESPACE:"\\root\CIMV2" PATH Win32_Product
wmic /NAMESPACE:"\\root\CIMV2" PATH Win32_Product get name /FORMAT:table

3、使用WMI Explorer调用wmi

4、通过控制面板获取完整的程序列表

通过对比可知,我们可以通过枚举注册表键值的方法获得完整的程序列表。但是要注意的是64位系统下,注册表存在重定向的问题,也会影响程序列表的显示。

32位程序列表对应注册表键值:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
64位程序列表对应注册表键值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
二、Windows其它常见信息收集

之前记录了一个「收集系统信息的脚本」的文章,里面有个batch和vbs的脚本,基本的信息都采集了,如果有其它的要采集的可以在其基础上进行改动即可满足一般要求。

三、Windows上收集机器硬件信息的命令和工具

一般情况下,Windows系统自带的2个命令就可以采集到绝大部分信息:

Win+R => msinfo32
Command => systeminfo

除此之外,你还有一些可视化的工具可供选择,比如:

CPU-Z
Speccy
HWiNFO (32/64)
PC Wizard
SiSoftware Sandra Lite
WinAudit
BlackBox
Flitskikker Info Tool
Smart System Informer
RWEverything

四、一些开源脚本集合

Windows批处理脚本和Unix Bash脚本,可在事件响应期间全面收集主机取证数据
https://github.com/diogo-fernan/ir-rescue

Windows主机信息收集工具(服务器信息,系统日志,中间件日志等)
https://github.com/tengzhangchao/InForMation

卡巴斯基分享了一个用于在企业内部采集每台员工电脑日志的脚本
https://securelist.com/happy-ir-in-the-new-year/83557/
https://cdn.securelist.com/files/2017/12/HappyNewYear.zip

Seatbelt 系统信息收集工具使用介绍
https://digitalforensicstips.com/2018/09/a-quick-look-at-seatbelt-for-system-enumeration/
https://github.com/GhostPack/Seatbelt

参考链接:

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/4508.html

《Windows系统的信息收集》上的8个想法

  1. WES-NG可以给你的Windows漏洞利用提供有效建议
    https://www.freebuf.com/articles/system/209251.html
    https://github.com/bitsadmin/wesng
    https://github.com/bitsadmin/wesng/wiki/Eliminating-false-positives
    `
    WES-NG,全称为Windows ExploitSuggester – Next Generation,该工具的运行基于Windows systeminfo实用工具的输出,可以给用户提供目标操作系统可能存在的漏洞列表,并针对这些漏洞给出漏洞利用实施建议。该工具的适用系统范围从Windows XP到Windows 10,还包括Windows Server等服务器/工作站版本。
    `

  2. Windows 权限提升
    https://wuhash.com/2020-06-21.html
    `
    1. Windows 内核漏洞提权

    2. Windows操作系统配置错误提权
    2.1. 模糊路径提权
    2.2. 弱服务权限
    2.3. 弱注册表权限
    2.4. AlwaysInstallElevated MSI
    2.5. AutoLogon
    2.6. Autoruns
    2.7. Sysprep

    3. DLL Hijacking

    4. Com Hijacking

    5. 组策略提权

    6. Bypass UAC
    6.1. UAC是什么?
    6.2. Integrity levels
    6.3. Access Tokens
    6.4. UAC在登录过程中的作用
    6.5. UAC提升权限的行为
    6.6. 应用程序是否要需要UAC通知
    6.7. 影响UAC提示的行为的策略
    6.8. 如何构造能够触发UAC的程序?
    6.9. Bypass UAC
    6.10. Cobalt Strike 和meterpreter 中Bypass UAC
    6.11. 小结

    7. 获取Net-NTLM-Hash
    `

  3. LastActivityView – 最近你干什么了?
    https://www.appinn.com/lastactivityview/
    `
    悄悄看几张美图,播放几段爱情动作片就没人知道了么?其实 Windows 早已记录在案,现在就可以拿起 LastActivityView 来看看哪个时间谁干了什么。

    LastActivityView 直接调用系统日志,能显示以下时间的发生时间、名称、路径:执行 exe 文件、打开文件、文件夹、安装软件、系统启动、系统关机、网络连接、蓝屏事件、用户登陆等等。
    `

    https://www.nirsoft.net/utils/computer_activity_view.html
    https://www.nirsoft.net/utils/clean_after_me.html

    电脑使用痕迹查看及如何彻底清除
    https://www.tangtr.cn/diannaoshiyonghenjichakanjiruhechediqingchu.html
    `
    一、首先介绍查看文件的主角 LastActivityView
    二、如何彻底清理这些记录 CleanAfterME
    `

  4. 你知道,我是怎样监控你所有打开EXE的吗
    https://mp.weixin.qq.com/s/7HeTmbzE6L1s68eIBt0dcA
    `
    目前已知在杀毒厂商以及游戏厂商的安全对抗过程中,常常需要准确的监控收集并进行检测用户创建打开的EXE应用程序是否是安全的。同时也可以将此技术应用于其他应用的安全对抗方案中。那么如何去准确的监控和收集用户每次点击打开的EXE应用程序信息呢?接下来我就进行还原实现下如何准确的监控并收集用户每次点击打开EXE应用程序技术。

    实现监控用户所有创建打开EXE程序的数据需要以下几个步骤:
    1.通过调用CoInitializeEx函数,进行对COM初始化。
    2.通过调用 CoCreateInstance函数, 获得WMI的定位器。
    3.通过调用IWbemLocator::ConnectServer函数,并指定函数的参数 strNetworkResource 的值为 “root\cimv2”, 从而实现连接到 “IWbemServices”服务器。
    4. 通过调用CoSetProxyBlanket函数,进行设置 IWbemServices的代理,目的是为了WMI 服务能够模拟客户端角色。
    5.通过调用 ExecNotificationQuery函数, 来进行查询接收事件。

    WMI技术可以应用于:
    查询获取正在运行进程信息;
    查询获取正在运行线程信息;
    查询获取桌面信息;
    查询获取环境变量信息;
    查询获取驱动信息;
    查询获取文件夹信息;
    查询获取系统信息和系统服务;
    查询获取硬件信息;
    查询获取磁盘相关信息。

    1.WBEM它的全称:Web Based Enterprise Management(基于web的企业管理),它是一种行业规范,建立在企业网络中访问和共享管理信息的标准。

    2.WMI它的全称:Windows Management Instrumentation(Windows管理工具),它是WBEM的Windows实现,也就是它要遵守WBEM规则。通过WMI,我们可以获取关于硬件和软件的相关数据,也可以提供关于硬件或软件服务的数据给WMI。

    3.COM 它的全称:Component Object Model(组件对象模型),它是由微软推出的一套接口规范,通过设定不同组件之间需要遵守的标准与协议,主要用来跨语言、跨进程之间的模块通信。
    `

  5. Windows安全日志分析
    https://mp.weixin.qq.com/s/tk7AOuqSM_Q1EFDPEFHDRg
    `
    0x00 引言

    在应急响应初步阶段,我们会对系统日志、中间件安全日志、恶意文件等进行收集。接下来便是要进一步对这些文件进行分析:对恶意文件逆向、日志文件分析、梳理入侵时间线和入侵路径等。本文主要对Windows安全日志进行举例分析。

    0x01 基本介绍

    Windows的日志文件主要有系统日志、应用程序日志、安全日志这三类,另外,根据不同的系统服务配置可能还会产生其他的日志文件,如Powershell日志、WWW日志、FTP日志、DNS服务器日志等。这些日志文件由Windows的EventLog服务生成并记录,EventLog服务由Windows服务管理器(%SystemRoot%\system32\services.exe)启动并管理。

    在默认情况下, Windows日志仅仅记录一些特定日志,因为Windows日志中每种日志的大小默认为20M,超过大小之后会覆盖最早的日志记录。如果我们需要记录详细的安全日志,则需要通过修改本地策略或者在高级审核策略配置(gpedit.msc)中来启用其他项的日志记录功能。

    1.1 打开方式
    1.1.1 日志文件打开
    1.1.2 运行eventvwr
    1.1.3 服务器管理器

    1.2 日志位置
    Windows 2000 / Server2003 / Windows XP :%SystemRoot%\System32\Winevt\Logs\*.evtx
    Windows Vista / 7 / 10 / Server2008 及以上版本:%SystemRoot%\System32\Config\*.evtx

    1.3 日志分类
    Windows主要有以下三类日志记录系统事件:应用程序日志、系统日志和安全日志。每种日志默认大小20M,超过大小后会覆盖最早的日志记录。
    %SystemRoot%\System32\Winevt\Logs\System.evtx
    %SystemRoot%\System32\Winevt\Logs\Security.evtx
    %SystemRoot%\System32\Winevt\Logs\Application.evtx

    1.4 结构组成
    1.4.1 组成
    1.4.2 属性

    0x02 登录事件分析

    2.1 登录类型
    2.1.1 交互式登录(2)
    2.1.2 网络连接 (3)
    2.1.3服务启动(5)
    2.1.4 解锁(7)
    2.1.5 远程桌面连接(10)

    2.2 子状态码
    4625登录失败日志会存在子状态码的属性,通过改属性,我们可以对登录失败原因进行分析

    0x03 事件ID分析
    事件ID是Windows日志的基本属性之一,通过事件ID可以分析事件类型,其中需要重点关注的有4624,4625,4720,4726,4700,1102等。

    0x04 场景日志分析
    4.1 系统正常启动

    4.2 账户管理
    4.2.1 创建新账户
    4.2.2 删除账户

    4.3 RDP爆破
    4.3.1 RDP正常成功登录
    4.3.2 RDP正常失败登录
    4.3.3 RDP爆破登录

    4.4 IPC连接

    4.5 SMB爆破

    4.6 日志清除
    在windows中,若运维人员开启了记录所有安全日志项,那么攻击者在拿到该服务器权限后的所有操作都可以在该安全日志中被记录到。所以清空该Security日志肯定是一个善后的必然选择。

    打开windows日志-清除日志;清除日志会生成一条事件ID为1102 日志清除的日志,此条日志会记录清除日志操作的账户名。

    0x05 总结

    本文主要对Windows安全日志进行了分析与研究,从日志的分类、登录事件分析以及场景日志分析等方面进行了研究。总的来说,windows安全日志对于应急人员是重要且基础的分析项,对其进行深入学习研究有助于应急排查工作。
    `

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注