【内网安全】——windows信息收集

2023-11-20

作者名:Demo不是emo 

主页面链接:主页传送门
创作初心:
一切为了她​​​​​​​
座右铭:不要让时代的悲哀成为你的悲哀
专研方向:网络安全,数据结构

每日emo:爱是深渊

目录

一:windows信息收集简介 

 二:信息收集大纲

1、本机信息 

[1]、系统程序

[2]、进程服务

[3]、用户信息

[4]、操作记录

2、网络发现 

[1]、基本信息收集

[2]、系统日志

[3]、浏览器日志

[4]、DNS 服务器记录

3、域信息查询 

[1]、基本信息收集

[2]、dsquery

[3]、powershell 

4、配置文件收集 

[1]、Navicat 密码默认保存位置 

[2]、SecureCRT 软件默认密码保存地址

[3]、Xshell密码默认保存位置

[4]、VNC默认保存地址


一:windows信息收集简介 

windows 系统下的信息收集其实主要可以分为三个方向:系统信息、拓扑信息、凭证信息

系统信息包括当前系统、进程信息,用户权限,用户操作等。主要针对当前系统进行信息收集整理。

拓扑信息包括网络拓扑发现,内网其他存活主机发现,域信息收集等。主要针对内网拓扑环境进行信息收集。

凭证信息包括用户凭证信息、系统用户 hash、DPAPI、常用软件密码记录等。可以用来横向渗透。 

 二:信息收集大纲

1、本机信息 

[1]、系统程序

收集系统信息,包括操作系统版本,已安装补丁列表等。通常使用以下方法收集:

net config workstation                                   # 查询简易系统信息

systeminfo                                               # 查询全部内容

wmic qfe get Caption,Description,HotFixID,InstalledOn    # 查询已安装的补丁列表

注意:

其中systeminfo命令查询内容最全,但如果系统更新的补丁较多,可能会导致反应反应时间过长;使用 webshell 执行此命令可能会因为超时导致无法正常回显,或回显内容长度过长,无法全部显示。

[2]、进程服务

tasklist /v                              		 
# 查询正在运行的进程

wmic product get name,version           		 
# 查询所有安装过的软件及版本

powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version"
# 使用 powershell 查询所有安装过的软件及版本,效果和 wmic 相同

wmic service list brief                  		 
# 查询当前机器的服务信息

wmic startup get command,caption        		 
# 查看启动项

schtasks  /query  /fo  LIST /v           		 
# 查看任务计划

 windows 自带防火墙及特殊过滤规则等网络访问均可使用netsh及相关命令查看。

netsh firewall show config                      			
# 查看防火墙信息,但 firewall 命令已弃用,可使用 advfirewall 命令代替

netsh advfirewall firewall show rule name=all   		
# 查看配置规则

netsh advfirewall set allprofiles state off\on  			
# 关闭防火墙\开启防火墙

netsh advfirewall export\import xx.pol          			
# 导出\导入配置文件

netsh advfirewall firewall add rule name=”deny tcp 139″ dir=in protocol=tcp localport=139 action=block         					
# 新建规则阻止TCP协议139端口

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow             					
 # 新建规则允许3389通过防火墙

netsh advfirewall firewall delete rule name=Remote Desktop  	
# 删除名为Remote Desktop的规则

netsh interface               
# 连接安全规则配置,很少配置。

[3]、用户信息

whoami                                   		# 当前用户
quser                                    		# 查询登录用户,同 query user
qwinsta                                  		# 查询登录用户,同 query user
query user                              		# 查询登录用户
query session                           		# 查询会话
query termserver                         		# 查询远程桌面主机列表。
net accounts                             		# 查询域密码策略
net user                                		# 查询本地用户列表
net user "$username"                     		# 查询指定用户
net localgroup                           		# 查询本地用户组列表
net localgroup "$groupname"              	    # 查询指定用户组成员
net group                                		# 仅域控可执行,查询用户组列表
net group "$groupname"                   	    # 仅域控可执行,查询用户组成员

quserqwinstaquery命令只存在于允许安装 RDP 服务的主机上,官方描述其仅存在于 server 2012 及以上版本存在。其中query termserver命令存在问题,本地测试时与描述严重不符,无法列出信息。 

[4]、操作记录

 cmdpowershell v3 以下的操作记录无法长时间保存,仅限当前窗口。

Get-History | Format-List -Property *         	# 查询 powershell 当前窗口历史操作记录
Clear-History                                	# 删除 powershell 当前窗口历史操作记录
Clear-History -Id 3                           	# 删除 powershell 当前窗口指定 ID 的历史操作记录
doskey /h                                     	# 查看 cmd 的历史操作记录
doskey /reinstall                             	# 删除 cmd 的历史操作记录

可以通过向进程发送键盘内容的方式将运行中的窗口历史操作记录导出。

powershell v5 以上的操作历史记录会直接保存在指定文件中。直接查看即可。

# 查看 powershell 历史操作记录

type %appdata%\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

powershell v3、v4 版本需要安装Get-PSReadlineOption。

2、网络发现 

    内网网络发现是一个很重要的信息收集内容,一般情况下是不建议使用扫描器扫描,尤其不建议使用 nmap,当然,如果是靶场,或是甲方授权就另当别论。

[1]、基本信息收集

ipconfig /all                     		      # 列出当前主机详细网络信息
ipconfig  /displaydns            		      # 列出dns缓存信息
route print                       		      # 查询路由表
arp -a                            		      # 地址解析协议缓存表
netstat -ano                      		      # 端口使用情况
net share                         		      # 查看共享信息
net view                         		      # 查看共享资源列表
wmic share get name,path,status   		      # 查看共享信息
type  c:\Windows\system32\drivers\etc\hosts   # 查看 host 文件

[2]、系统日志

可以使用 wevtutil.exe psloglist.exe 或者 powershell 的Get-WinEvent模块进行日志导出,server 03 的域控可使用 eventquery.vbs 导出。
wevtutil 不需要 UAC, 支持很多过滤语法,若有需要请查看官方说明。

# 查询登录日志语法
wevtutil qe security /f:text /q:*[System[(EventID=4624)]]

# 查询所有登录、注销相关的日志语法
wevtutil qe security /rd:true /f:text /q:"*[system/eventid=4624 and 4623 and 4627]"

# 远程查询时在后面加入/r:computer /u:user /p:password 比如查询dc1上的登录注销日志
wevtutil qe security /rd:true /f:text /q:"*[system/eventid=4624 and 4623 and 4672]" /r:dc1 /u:administrator /p:password

#本地使用 LogParser 日志分析工具整理导出的日志,然后去除重复数据、无效数据(以 '$' 结束的用户名) 
LogParser.exe -i:EVT -o txt "SELECT TO_UPPERCASE(EXTRACT_TOKEN(Strings,5,'|')) as USERNAME,TO_UPPERCASE(EXTRACT_TOKEN(Strings,18,'|')) as SOURCE_IP FROM C:\ProgramData\log.evtx" > C:\ProgramData\log.txt

#导出域控登录日志到域控上:
wevtutil epl Security C:\ProgramData\dc.evtx /q:"*[EventData[Data[@Name='LogonType']='3'] and System[(EventID=4624) and TimeCreated[timediff(@SystemTime) <= 2592000000]]]" /r:域控IP /u:域管 /p:域管密码

[3]、浏览器日志

收集浏览器访问记录。
chrome
C:\Users$username\AppData\Local\Google\Chrome\User Data\Default\History

firefox
C:\UsersUndefined control sequence \AppDataname.default\places.sqlite

IE
reg query "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs" 或C:\Users$user\AppData\Local\Microsoft\Windows\History

edge, v79+:
C:\Users$user\AppData\Local\Microsoft\Edge\User Data\Default\History

v44+
C:\Users$user\AppData\Local\Microsoft\Windows\WebCache\WebCacheV01.dat

 浏览器的历史记录文件 history,是使用 sqlite 格式记录的,直接打开是一个二进制文件,可以下载到本地破解,或者直接替换查看。 需要注意的是,

edge v44+ 版本的历史记录文件在用户登录状态下是锁定的。

[4]、DNS 服务器记录

如果目标机器在域内,只需要按部就班收集域信息,准备域横向渗透即可。 但其中有一点单独提一下,一般在域环境中都会有一台 DNS 服务器,小企业或内网环境较小的可能会和域控为同一台,大一些的企业,多为独立的 DNS 服务器。 由于 DNS 服务器的特性,因此,在 DNS 服务器上会存在大量内网地址解析记录,如果可以获取,会极大的方便内网拓扑展开,同时很多其他主机无法到达的地址,DNS 服务器是可以到达的。

#列出 DNS 区域中当前节点的资源记录
dnscmd . /EnumZones

#列出 test.com 的信息
dnscmd . /ZoneInfo test.com

#列出 test.com 中的详细记录
dnscmd . /ZonePrint test.com

DNS 记录有正向解析和反向解析两种。 正向解析是从域名到IP,反向解析则是从 IP 到域名。 反向隔离和正向隔离相同,都会有一个对应的区域,因此,查询方式与正向记录相同。

DNS 服务器还存在域传送漏洞。可以直接获得 DNS 记录。 nslookup -type=all_ldap._tcp.dc.greyfinger.com nslookup -type=ns domain.com cmd> nslookup server dns.domain.com ls domain.com 

3、域信息查询 

[1]、基本信息收集

域信息收集,需要当前用户为域用户本地用户无法执行域命令查询域内容。

net config workstation                    # 查询当前登录域
net time                                  # 同步时间,通常为域控服务器
net accounts /domain                      # 查询域密码策略
net user /domain                          # 列出当前域成员列表
net user username /domain                 # 列出域成员详细信息
net group /domain                         # 列出域内组列表
net group groupname /domain               # 列出域内组成员列表
net view                                  # 查询同一域内机器列表
net view /domain                          # 查询域列表
net view /domain:test                     # 查询 test 域中计算机列表
nltest /dclist:domain                     # 查询域内的所有DC
nltest /dsgetdc:domain                    # 拿到DC当前的认证信息
nltest /domain_trusts                     # 查询域信任信息
nltest /user:"username"                   # 得到用户信息

想要定位域管域控机器,可以查询domain admindomain controllers组,

需要注意的是,组名会随系统语言变化而变化,如domain controllers会变化成domaine contrôleurs。

在域内其他机器上,查询组是net group /domain,而在域控上则是net group。 

[2]、dsquery

 dsquery 命令很少使用,而且限制较大仅能在域控上执行,所以相对而言较为鸡肋,但是在一定条件下还是具有一定的使用价值。

dsquery computer                          		# 查询目录中的计算机
dsquery contact                           		# 查询目录中的联系人
dsquery subnet                            		# 查询目录中的子网
dsquery group                             		# 查询目录中的组
dsquery site                              		# 查询目录中的站点
dsquery user                              		# 查询目录中的用户

[3]、powershell 

# 查询当前Domain信息[System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()

# 查询域信任关系([System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()).GetAllTrustRelationships()

# 查询当前林信息[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()

# 查询林信任信息([System.DirectoryServices.ActiveDirectory.Forest]::GetForest((New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Forest', 'forest-of-interest.local')))).GetAllTrustRelationships()

4、配置文件收集 

IIS 配置文件路径为:
%windir%\system32\inetsrv\config\applicationHost.config

使用 appcmd 的方式可以快速导出所需内容:
%windir%\system32\inetsrv\appcmd list site /config %windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml

[1]、Navicat 密码默认保存位置 

[2]、SecureCRT 软件默认密码保存地址

 

[3]、Xshell密码默认保存位置

[4]、VNC默认保存地址

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【内网安全】——windows信息收集 的相关文章

  • 如何批量获取子字符串在字符串中的位置

    获取子串的位置 Set str1 This is Test string Set sstr Test 这里我需要获取 Test 8 的位置 谢谢 echo OFF SETLOCAL Set str1 This is Test string
  • Qt GUI 应用程序中的控制台输出?

    我有一个在 Windows 上运行的 Qt GUI 应用程序 它允许传递命令行选项 在某些情况下我想向控制台输出一条消息 然后退出 例如 int main int argc char argv QApplication a argc arg
  • 运行“npm install”:Node-gyp 错误 - MSBUILD.exe 失败,退出代码:1

    我在跑npm install在 Windows 上安装我的项目中的所有软件包 然后我收到有关 MSBUILD exe 的错误 gyp ERR stack Error C Program Files x86 Microsoft Visual
  • PHPStorm - 无效的后代文件名

    我正在尝试将 Windows 7 PC 上的本地 PHPStorm 项目与 Ubuntu 服务器同步 当我尝试任何类型的连接 例如 测试 SFTP 连接 时 它会失败并显示 Invalid descendent file name C np
  • PC 相当于 Coda 吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Vagrant 错误:无法挂载 VirtualBox 共享文件夹(Guest Additions、vboxsf)

    问题 我在 Windows 10 上安装了 Vagrant 这样我就可以在虚拟机中创建个人本地开发环境 我读到的有关 Vagrant 的所有内容都表明我什至可以启动多个系统并通过 NAT 端口转发测试它们之间的通信 但首先 我只想在对其余部
  • 开放简历fisherfaces

    我有这个问题 当我使用 vs2010 调试 opencv 2 4 0 facetec demo c 运行时 程序出现此错误 OpenCV错误 未知函数中图像步长错误 矩阵不连续 因此其行数无法更改 文件 src opencv modul e
  • 在 Python 中静默打印 PDF

    我正在尝试使用 Python 打印 PDF 而不打开 PDF 查看器应用程序 Adobe Foxit 等 我还需要知道打印何时完成 以删除文件 Here http permalink gmane org gmane comp python
  • x86 LargeAddressAware 兼容性的单元测试

    对于 win32 可执行文件 x86 我们可以设置 LargeAddressAware 标志 以便它在 x64 Windows 上运行时可以访问 4 GB 而不是仅 2 GB 的虚拟地址空间 这看起来很吸引人 然而 这也存在风险 例如参见
  • 适用于 Python 的 GitLab CI 共享 Windows 运行器

    我在 GitLab 中有一个 python 项目仓库 我看到 GitLab 共享了可用的测试版 Windows 运行程序 请参阅this https about gitlab com blog 2020 01 21 windows shar
  • .NET 中安全身份的本地化

    我想在 NET 中实现一个用于服务 客户端通信的命名管道 并遇到了这段代码 http code msdn microsoft com windowsdesktop CSNamedPipeCommunication 33b2485c view
  • 为什么某些安装程序需要在运行程序之前重新启动计算机?

    我对部署桌面应用程序相当陌生 所以这是我第一次为我的软件构建安装程序 目前 我安装软件后第一次运行它时 它崩溃了 之后 它运行良好 我仍在调试此问题 但我注意到在安装后和运行软件之前立即重新启动似乎可以修复此崩溃 某些安装程序要求您在运行软
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • Windows 10:任务栏中的图标大小错误

    从 Windows 10 开始 任务栏中的图标大小似乎为 24x24px 如果 Windows 选择图标文件中的 24px 版本进行显示 那么这不会有问题 但它选择了 32px 版本并将其缩小 这会导致丑陋的伪像 尤其是当你的图标中有直线时
  • 如何在 Windows 上使用命令行获取 svn 修订信息

    我正在尝试使用此命令行获取头部的修订信息 svn info https myserver branches Code Improvements rHEAD find Revision 然而 这返回修订版 1234 由于我使用 svn inf
  • C# 中的 Unix 套接字

    我正在尝试使用 Mono 的 UnixEndPoint 但在使用它之前就失败了 我在 64 位 Windows 7 系统上运行 Xamarind net 4 5 下面是一些代码 证明单一组合不起作用 foreach SocketType s
  • 为进程设置环境变量

    环境变量的概念是什么 在 C 程序中 我需要调用可执行文件 该可执行文件将调用驻留在同一文件夹中的一些其他可执行文件 可执行文件依赖于两个环境变量 PATH 和 RAYPATH 的正确设置 我尝试了以下两件事 我创建了一个进程并在 Star
  • 如何在Windows命令行中执行for循环?

    我想知道这是否可能 我不熟悉使用 Windows 命令行 但我必须将它用于我正在处理的项目 我有许多文件 我需要为每个文件执行一个功能 我习惯使用 python 但显然这有点不同 所以我希望得到一些帮助 基本上 我需要 for 循环来迭代文
  • fopen_s 怎么会比 fopen 更安全呢?

    我正在处理遗留代码Windows平台 当我编译代码时VS2013 它给出以下警告 错误 C4996 fopen 该函数或变量可能不安全 考虑使用fopen s反而 要禁用弃用 请使用 CRT SECURE NO WARNINGS 详情请参见
  • 是否有可能劫持标准输出

    我正在尝试使用 C 重定向 Windows XP 上已运行进程的标准输出 我知道如果我自己生成进程 我可以做到这一点 但对于这个应用程序 我更喜欢一个 监听器 我可以附加到另一个进程 这在纯 Net 中可能吗 如果不可能 在 Win32 中

随机推荐

  • 解决使用EasyPoi导入读取日期格式列获取值为null

    最近在做导入的时候发现 使用EasyPoi读取的日期值为null 这是我的Excel数据 如图 只是设置了列格式 我这里使用的是注解bean的方式解析读取 Map自由导入也尝试过 得到的结果都是null bean定义如下 Data Buil
  • 导出离散傅里叶变换(DFT)的两种方法

    1 原理部分 在这里首先确定DFT的对象为一个有限长的离散非周期序列 这主要因为计算机处理的都是有限长的离散序列 如果你要处理的序列本身不是离散非周期的序列 可以通过截取或者离散化等方法获得所需的有限长的离散非周期序列 对于有限长的离散非周
  • 第三周作业 token防爆破 (基于pikachu平台)burp token的暴力破解

    一 什么是token 简单的说token是由服务端生成的一串字符串 作为客户端向服务端请求的一个标识 在前端使用用户名 密码向服务端发送请求认证 服务端认证成功 那么在服务端会返回token给前端 前端在每次请求时会带上服务端发来的toke
  • SQL实现次日、三日及七日用户留存率的计算

    本篇博客学习如何用SQL来实现次日 三日及七日留存率的计算 假设有一个表 role login back 有字段 event time表示登陆日期时间和device id表示设备ID event time device id 2020 01
  • 【Flowable】Flowable工作流教程

    开始 Flowable是什么 Flowable是一个使用Java编写的轻量级业务流程引擎 Flowable流程引擎可用于部署BPMN 2 0流程定义 用于定义流程的行业XML标准 创建这些流程定义的流程实例 进行查询 访问运行中或历史的流程
  • Fedora 34成哑巴了?

    原由 前几天刚更新了Fedora34 完全沉浸在Gnome40的喜悦中 但是今天用耳机听Apple Music的时候完全傻了 音量控制旋钮调了半天也没有声音 难道声卡坏了 于是 我试探性的用Parrot下的FireFox听听网易云音乐 结果
  • 基于Matlab的故障检测的核PCA轮廓图

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 内容介绍 早期故障监测在大型工业工厂中变得非常重要 因为早期故障的早期检测有助于避免重大工厂故
  • Java 中do...while()的使用

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到网站 do while语句 基本格式 do 循环体语句 while 条件判断语句 完整格式 初始化语句 do 循环体语句 条件控制语句 whi
  • 3. 从0开始学ARM-ARM模式、寄存器、流水线

    关于ARM的一些基本概念 大家可以参考我之前的文章 到底什么是Cortex ARMv8 arm架构 ARM指令集 soc 一文帮你梳理基础概念 科普 关于ARM指令用到的IDE开发环境可以参考下面这篇文章 1 从0开始学ARM 安装Keil
  • Python爬虫被封ip解决方案

    在使用 Python 程序进行网络爬虫开发时 可能因以下原因导致被封 IP 或封禁爬虫程序 1 频繁访问网站 爬虫程序可能会在很短的时间内访问网站很多次 从而对目标网站造成较大的负担和压力 这种行为容易引起目标网站的注意并被封禁IP或限制访
  • python 文件、文件夹和路径操作笔记

    记录python关于文件夹 文件和路径的一些常用操作 方便用时查询 常用的函数备注 os listdir 列出文件夹中所有文件 os path splitext 获取文件的后缀名 返回list 后缀在list 1 中 os path joi
  • 解决win10应用程序图标丢失问题

    1 问题 sublime 软件图标莫名其妙不显示 2 解决办法 1 进入cmd命令提示符 2 输入如下内容 taskkill im explorer exe f cd d userprofile appdata local del icon
  • 数据库之MySQL大全

    目录 1 MySQL数据库概述 2 MySQL的安装 Install MySQL 3 MySQL的配置 4 E R模型 5 创建数据库 6 数据类型 7 创建数据表 8 修改数据表 9 数据表约束 非空与默认值 10 数据表约束 唯一键与自
  • In-Context Retrieval-Augmented Language Models

    本文是LLM系列文章 针对 In Context Retrieval Augmented Language Models 的翻译 上下文检索增强语言模型 摘要 1 引言 2 相关工作 3 我们的框架 4 实验细节 5 具有现成检索器的上下文
  • 利用python(networkx库)画带权&不带权有向图、无向图

    利用python networkx库 画带权 不带权有向图 无向图 效果展示 分段代码 全部源代码 传送门 https download csdn net download weixin 44978992 12719404 当我们处理完几百
  • TCP可靠传输的工作原理-停止等待&连续的ARQ(一)

    在网络传输中 我们认为最理想的传输状态就是 1 传输信道不产生差错 2 不管发送方以多块的速度发送数据 接收方都能来得及接受以及处理这些数据 当然 这种只是理想状态 在实际运用中 几乎是不可能的 因此 我们需要采取一些可靠的传输协议 1 当
  • 物联网平台相关IoTgo

    相关资源 http www geek workshop com thread 12726 1 1 html https github com itead IoTgo https github com itead IoTgo Android
  • h5 关于视频video在微信中的自动播放

    本来video只用autoplay就可以自动播放的 但是由于微信的限制 autoplay在微信中失效 解决方式
  • 软件测试/测试用例设计题详细整理— 助攻高薪求职之路

    前言 8月底了 即将步入金九银十 又有很多小伙伴开始霍霍找工作了 笔者最近也会比较偏向发面试题哟 希望可以帮助到大家 最近收到很多应聘者反馈过来的笔试面试问题 其中有一部分是关于测试用例设计 对了对了笔者发现无论是刚入职场的测试新人还是在具
  • 【内网安全】——windows信息收集

    作者名 Demo不是emo 主页面链接 主页传送门 创作初心 一切为了她 座右铭 不要让时代的悲哀成为你的悲哀专研方向 网络安全 数据结构 每日emo 爱是深渊 目录 一 windows信息收集简介 二 信息收集大纲 1 本机信息 1 系统