暴力注入Explorer

DLL注入explorer.exe进程 **DLL注入explorer.exe进程**   最近一直在学习dll注入远程进程的相关知识,于是有了这篇文章。通过注入的方式会运行程序,在资源管理器中是看不到,相关的进程的,这为程序的隐藏提供了极大的便利。 一、新建dll动态链接库,然后在dllmain.cpp文件中的 “case DLL_PROCESS_ATTACH:”下输入当你dll被进程加载时要执行的代码。这里我们用 “ Messag... 阅读详情
暴力”注入Explorer
                     pjf(jfpan20000@sina.com)
        向一个运行中的进程注入自己的代码,最自然莫过于使用CreateRemoteThread,
如今远线程注入已经是泛滥成灾,同样的监测远线程注入、防止远线程注入的工具也
举不胜举,一个木马或后门启动时向Explorer或IE的注入操作就像在自己脸上写上
“我是贼”一样。
    用户态代码想要更隐蔽地藏身于别的进程,就应该在注入的环节隐蔽自己的行
为。下面就介绍一种非常简单不过比较暴力的方法,给出的示例为在Explorer里加
载自己的dll。
    首先提到的就是一个API:QueueUserAPC

    DWORD QueueUserAPC(
      PAPCFUNC pfnAPC,  // APC function
      HANDLE hThread,   // handle to thread
      ULONG_PTR dwData  // APC function parameter
    ;

    大家对这个API应该并不陌生,它直接转入了系统服务NtQueueApcThread从而利
用KeInsertQueueApc向给出的目标线程的APC队列插入一APC对象。倘若KiDeliverApc
顺利的去构造apc环境并执行我们的代码那一切就OK了,只可惜没有那么顺利的事,
ApcState中UserApcPending是否为TRUE有重要的影响,结果往往是你等到花儿都谢了
你的代码还是没得到执行。在核心态往往不成问题,自己动手赋值,可是用户态
程序可不好做,怎么办?其实最简单的,不好做就不做啰,让系统去干。
    实际上应用程序在请求“alertable”的等待时系统就会置UserApcPending为
TRUE(当KeDelayExecutionThread/KeWaitForMultipleObjects/KeWaitForSingleObject
使用TestForAlertPending时就有可能,此外还有KeTestAlertThread等,机会还是有的
),最简单的例子,目标线程调用SleepEx(***, TRUE)后我们插入APC代码就会乖乖执
行了。
    比较幸运的是Explorer进程中一般情况下总有合我们意的线程,于是最简单但并不
优美的办法就是枚举Explorer中所有线程,全数插入,示意如下:

    ......
    DWORD ret;
    char *DllName = "c://MyDll.dll";
    int len = strlen(DllName) + 1;
    PVOID param = VirtualAllocEx(hProcess, NULL, len,
                                 MEM_COMMIT | MEM_TOP_DOWN,
                                 PAGE_READWRITE);
    if (param != NULL)
    {
        if (WriteProcessMemory(hProcess, param,
                               (LPVOID)DllName, len, &ret))
        {
            for (DWORD p = 0; p < NumberOfThreads; p ++)
            {
                hThread = OpenThread(THREAD_ALL_ACCESS, 0, ThreadId[p]);
                if (hThread != 0)
                {
                    InjectDll(hProcess, hThread, (DWORD)param);
                    CloseHandle(hThread);
                }
            }
    }
    ......
    
    其中InjectDll:
    void InjectDll(HANDLE hProcess, HANDLE hThread, DWORD param)
    {
        QueueUserAPC(
            (PAPCFUNC)GetProcAddress(GetModuleHandle("kernel32.dll", "LoadLibraryA", 
            hThread, 
            (DWORD)param
            ;
    }
    
    LoadLibraryA被调用后即将你的DLL加载入目标进程Explorer,运行是在目标进程的某
个线程环境中,一般你的DLL可以这时创建自己的线程。
    这样,整个过程虽然有些暴力(原因很明显,比如原本UserApcPending为TRUE的线程
被弄成了FALSE等等),并且仅是一次性插入,缺陷是明显的,不过插入过程的确更为隐蔽。

    针对使用这种的“无耻”方法的程序,检/监测程序就需要增加一些判断,比如对
NtQueueApcThread的合理监测等等。

有时候,那些最古老的木马伪装的好反而不容易被杀。。。

暴力注入Explorer的apc方法  向一个运行中的进程注入自己的代码,最自然莫过于使用CreateRemoteThread,如今远线程注入已经是泛滥成灾,同样的监测远线程注入、防止远线程注入的工具也举不胜举,一个木马或后门启动时向Explorer或IE的注入操作就像在自己脸上写上“我是贼”一样。用户态代码想要更隐蔽地藏身于别的进程,就应该在注入的环节隐蔽自己的行为。下面就介绍一种非常简单不过比较暴力的方法,给出的示例为在E 阅读详情

相关推荐

Windows 11/10 系统卡顿排查:YunShellExtV164.dll 注入导致 Explorer 高 CPU 占用

本文深入分析了Windows 11/10系统卡顿问题,指出YunShellExtV164.dll注入导致Explorer高CPU占用的原因,并提供完整的诊断与解决方案。通过PowerShell脚本检测问题DLL,介绍终止进程、禁用DLL等多种解决方法,帮助用户有效提升系统性能。

anvt77205的博客 535

恶意代码分析实战 9 隐蔽的恶意代码启动

查看程序的导入函数。通过这几个函数,可以推断出是远程线程注入。使用ProMon检测,并没有看到什么有用的信息。使用Proexproer检查。也没有什么有用的信息。拖入IDA中分析一下。将这几个字符串重命名,便于识别。该程序是一个对于PID的遍历。这个函数的作用是检查是否存在explorer.exe这个程序。Buffer表示的字符串是Lab12-01.dll.这段代码所表示的就是对explorer.exe程序进行注入。

农夫果园好好喝的博客 2235

exe将dll注入到explorer.exe资源管理器进程_DLL注入示例.injectdll

exe将dll注入到explorer.exe资源管理器进程_DLL注入示例.zip

“暴力”注入Explorer

“暴力”注入Explorer                     pjf(jfpan20000@sina.com)    写点无聊的东西,一段时间blog弄得不成样子了。    向一个运行中的进程注入自己的代码,最自然莫过于使用CreateRemoteThread,如今远线程注入已经是泛滥成灾,同样的监测远线程注入、防止远线程注入的工具也举不胜举,一个木马或后门启动时向Explorer或IE的

Mycro的专栏 1542

将dll注入到资源管理器explorer.exe中

将dll注入到资源管理器explorer.exe中

安卓app逆向破解脱壳教程

From:Hook 神器家族的 Frida 工具使用详解:https://blog.youkuaiyun.com/FlyPigYe/article/details/90258758 详解 Hook 框架 frida (信抢红包):https://www.freebuf.com/company-information/180480.html APP逆向神器之Frida【Android初级篇】:https://www.jianshu.com/p/2d755beb1c54 frida 官网文档:https://fr..

sinat_28371057的博客 2万+

代码注入之远程线程篇

引子           前些日子由于项目要求,在网上到处找资料,于无意中发现了 CodeProject 上的一篇很老的文章,文章标题为: Three Ways to Inject Your Code into Another Process 这篇文章呢,出来很久咯,还是 03 年的文章了,可惜我弄底层弄得时间不久哦,不然应该早就看过这篇大作了, 由于是大作,而且出来的又久了,自然在网...

weixin_33717298的博客 365

【实战技巧】matplotlib中文标签显示问题的3种高效解决方案

本文详细介绍了解决matplotlib中文标签显示问题的3种高效方法,包括修改字体设置、临时指定字体和修改后端配置。针对不同操作系统和环境提供了实用技巧,帮助开发者快速解决中文显示为方框的常见问题,提升数据可视化效果。

weixin_30855099的博客 172

把自己的代码注入explorer.exe。详细参见源代码

#define UNICODE #define _UNICODE  #include  #include  #include  typedef struct _remoteparameter { DWORD       rpfindfirstfile; DWORD       rpdeletefile; DWORD       rpfindclose;    HANDL

zqf_office的专栏 1705

STM32H5 USB虚拟串口:用Classic驱动移植CDC实践

USB虚拟串口(CDC)是嵌入式系统最常用的主机通信方式之一,本质是借助USB协议模拟串口收发,无需额外驱动即可在PC上生成COM口。其实现依赖USB设备协议栈完成枚举、控制传输与批量传输。传统USBD Classic库不依赖RTOS,代码轻量、调用链短,非常适合裸机或轻量状态机架构;而USBX功能强大但需要ThreadX内核,资源开销较大。在电机控制器、传感器采集等场景中,日志输出与参数配置仅需简单的双向数据通道,Classic驱动往往更务实。本文基于STM32H5平台,详细梳理了使用Classic驱动移

weixin_29178069的博客 336

Unity游戏开发客户端Unity基础

Unity游戏开发客户端面经 之 Unity 篇

Sea3752的博客 2万+

暴力”注入Explorer

暴力”注入Explorer                     pjf(jfpan20000@sina.com)        向一个运行中的进程注入自己的代码,最自然莫过于使用CreateRemoteThread,如今远线程注入已经是泛滥成灾,同样的监测远线程注入、防止远线程注入的工具也举不胜举,一个木马或后门启动时向Explorer或IE的注入操作就像在自己脸上写上“我是贼”一样。    

天蓝的专栏 3129

【人工智能】AI算法系统设计与算法建模的详细阐述

AI算法系统设计与算法建模是人工智能领域中的核心任务之一,它涉及从问题定义、数据收集、算法选择、模型构建到系统部署的全过程。以下是对AI算法系统设计与算法建模的详细阐述

weixin_51306394的博客 4356

"暴力"注入Explorer

"暴力"注入Explorer 作者:未知 来源:CnXHacker.Net 加入时间:2006-4-22 阅读次数:0 暴力”注入Explorer  

得峰的专栏 [网络收藏] 1028

Android NDK/JNI面试题大全及参考答案(3万字长文)

是一套工具集合,它允许开发者为Android平台编写原生应用程序或者应用程序的部分模块。NDK 主要用于开发那些需要高性能计算的应用程序,例如游戏引擎、图像处理软件或音频/视频编码解码器等。通过使用 C 或 C++ 编写代码,开发者可以利用硬件加速功能,提高应用性能。NDK 提供了一系列工具来帮助开发者完成从源代码到可执行文件的整个过程,包括编译、链接、调试等功能。

大模型大数据攻城狮的专栏 1260

基于Simulink实现电动汽车动力电池均衡充电策略与管理系统仿真

通过上述步骤,我们成功实现了基于Simulink的电动汽车动力电池均衡充电策略与管理系统仿真。该平台能够全面评估均衡算法的效果,并通过优化设计提高电池组的整体性能和寿命。引入智能算法:结合人工智能技术,实现更智能的均衡策略优化。扩展功能:增加对多种电池类型和工况的支持,提升平台通用性。实验验证:将仿真平台应用于实际硬件,进行实验验证,评估其在实际工况下的表现。

xiaoheshang_123的博客 223

黑客系列教程之暴力注入Explorer(转)

黑客系列教程之暴力注入Explorer(转)[@more@]  向一个运行中的进程注入自己的代码,最自然莫过于使用CreateRemoteThread,如今远线程注入已经是泛滥成灾,同样的监测远线程注入、防止远线程注入的工具也举...

273

【基于CKF的IMM】CV和CT两个模型下的IMM,二维,滤波使用CKF(容积卡尔曼滤波),附完整的matlab代码

该文章摘要: 本文提出了一种基于交互多模型(IMM)和容积卡尔曼滤波(CKF)的融合定位算法,用于解决目标在直线运动和转弯机动之间的模型切换问题。通过MATLAB仿真实现了IMM-CKF算法,并与单一的CV-CKF(匀速模型)和CT-CKF(匀角速转弯模型)方法进行对比。实验结果表明,在包含直线段和转弯段的复合轨迹跟踪中,IMM-CKF方法能够自适应调整模型权重,显著提高了定位精度。轨迹跟踪图、位置/速度误差对比图以及模型概率曲线直观展示了IMM算法的优势。文章提供了完整的MATLAB实现代码,可用于目标跟

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 615

进程注入代码

向一个运行中的进程注入自己的代码,最自然莫过于使用 CreateRemoteThread,如今远线程注入已经是泛滥成灾,同样的监测远线程注入、防止远线程注入的工具也举不胜举,一个木马或后门启动时向 Explorer或IE的注入操作就像在自己脸上写上“我是贼”一样。 用户态代码想要更隐蔽地藏身于别的进程,就应该在注入的环节隐蔽自己的行为。下面就介绍一种非常简单不过比较暴力的方法,给出的示例为

1073

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: 干掉SFP的3种方法
下一篇: 关于网络安全方面的岗位面试题目
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值