跳转到帖子

搜索论坛

显示结果为标签'ProcessHider'。

  • 用标签来搜索

    用逗号分隔标签类型
  • 用作者来搜索

内容类型


论坛

  • 漏洞与黑客攻击防御安全领域
    • 黑客攻防业务合作
    • 世界黑客新闻动态
    • WEB和服务器安全漏洞
    • CHT漏洞数据库
    • Linux Kali高级学习教程
    • CTF&密码学与社会工程
    • 木马病毒分析
    • 黑客世界会员中心
  • 问题讨论中心
    • 问答中心
    • 交流中心
  • 编程开发
    • 各种编程技术
    • ios /安卓开发
  • CHT官方团队介绍及比赛制度
    • CTF攻防系统[供会员使用]
    • 积分商场
    • 积分跳马系统
    • 积分统计系统

产品组

  • Hacker attack and defense security hardware series
  • Internet Security Book Recommendations

博客

没有结果。

没有结果。

类别

  • Hacker Attack and Defense & Network Security Videos

查找结果在…

查找包含的结果…


创建日期

  • 开始

    结束


最后更新

  • 开始

    结束


按数量过滤…

注册日期

  • 开始

    结束


用户组


About Me

找到1个结果

  1. 0x00 前言 过程隐藏器能够在任务管理器和流程浏览器之类的监视工具中隐藏指定进程,本文将要介绍实现原理,分析代码细节。 0x01 简介 本文将要介绍以下内容: 过程隐藏器测试 过程隐藏器的实现原理 过程隐藏器的代码分析 过程隐藏器的检测 0x01 简介 过程隐藏器能够在任务管理器和流程浏览器之类的监视工具中隐藏指定进程 地址如下: https://github.com/M00nRise/ProcessHider 支持以下参数: pid 进程名 两种启动形式: 可执行程序的扩展名 powershell 过程隐藏器能够自动识别操作系统版本和进程位数,向32位和64位进程分别注入Payload.dll,通过钩子API NtQuerySystemInformation()实现进程隐藏 注入的代码使用动态链接库反射,地址如下: https://github.com/stephenfewer/ReflectiveDLLInjection 钩的代码使用恩索克京,地址如下: https://www。代码项目。com/Articles/21414/functional-x86-x64-迷你挂钩引擎 参数实例: ProcessHider.exe-n ' putty。exe '-x ' proce XP。' exe ' 能够在procexp.exe中隐藏进程名putty.exe,并且默认针对以下进程进行隐藏: Taskmgr.exe powershell.exe procexp.exe procexp64.exe perfmon.exe 注: 目前不支持对tasklist.exe的进程隐藏 编译时需要注意的问题: 工程过程隐藏器需要编译成32位,不能编译成64位 这是因为工程过程隐藏器包含了针对64位进程的识别和利用代码 0x02 ProcessHider的实现原理 工程过程隐藏器实现流程如下: 1.判断当前操作系统版本 对应代码isSystem64BitWow() 如果是32位系统: (1)监控进程列表 对应代码启动守护进程(全部注入); (2)向符合条件的进程注入Payload.dll 对应代码react to process((DWORD)pCurrent-ProcessId,pCurrent-ImageName .缓冲); 注入的代码使用了反射线性投影中的代码 如果是64位系统: (1)同级目录下释放文件x64Hider.exe,用作64位的守护进程 对应代码copyresourcintofile(x 64文件列表[I]),MAKEINTRESOURCE(x 64资源idint[I]) (2)解析命令行参数 对应代码createCommandLine(argc,argv,buffer,MAX _ command line _ LEN); (3)启动64位的守护进程x64Hider.exe 对应代码CreateProcessFromLine(buffer,false); 传入启动的参数 示例如下: c:\ test \ x 64 hider。exe ' '-n ' ' putty。exe ' '-x ' ' cmd。' exe ' (4)将Payload.dll写入x64Hider.exe的进程空间 这个过程不向硬盘写入文件,增加隐蔽性 对应代码写入列表进程(圆周率) x64Hider.exe的功能如下: 监控64位的进程列表 向符合条件的64位进程注入64位的Payload.dll (5)监控32位的进程列表 对应代码启动守护进程(全部注入); (6)向符合条件的32位进程注入32位的Payload.dll 对应代码react to process((DWORD)pCurrent-ProcessId,pCurrent-ImageName .缓冲); Payload.dll分别对应工程x64有效载荷和x86有效负载 这是基于反射线性投影实现的动态链接库反射 优点是注入成功后在进程空间不存在动态链接库的名称 流程如下: 1.创建互斥量 对应代码hMutex=CreateMutex(0,TRUE,NULL); 2.读取参数 如果参数为空,从固定文件c:\ Program Files \ Internet Explorer \ MDS int。' ISF '读取参数 3.Hook API NtQuerySystemInformation() 隐藏进程的代码: NTSTATUS WINAPI HookedNtQuerySystemInformation( _ _ in SYSTEM _ INFORMATION _ CLASS系统信息类, __inout PVOID系统信息, _ _在乌龙系统信息长度中, __out_opt PULONG ReturnLength ) { NTSTATUS status=realtqueryfunc(系统信息类, 系统信息, 系统信息长度, ReturnLength); if(SystemProcessInformation==系统信息类NT _ SUCCESS(status)) { // //遍历进程列表 // psy system _ PROCESS _ INFO pCurrent=NULL; PSYSTEM _ PROCESS _ INFO pNext=(PSYSTEM _ PROCESS _ INFO)系统信息; 做 { pCurrent=pNext p next=(PSYSTEM _ PROCESS _ INFO)((PUCHAR)pCurrent pCurrent-NextEntryOffset); if(是隐藏进程((int)pNext-ProcessId,pNext-ImageName .缓冲剂)) { if (0==pNext-NextEntryOffset) { pCurrent-NextEntryOffset=0; } 其他 { pCurrent-NextEntryOffset=pNext-NextEntryOffset; } pNext=pCurrent } } while(pCurrent-NextEntryOffset!=0); } 退货状态; } 这段代码同分包之前开源的代码AppInitGlobalHooks-Mimikatz基本相同 我在之前的文章《利用globalAPIhooks在Win7系统下隐藏进程》中介绍过。 Tee的Github目前无法访问,但我当时叉了他的代码。地址如下: https://github . com/3g student/AppInitGlobalHooks-Mimikatz/blob/master/AppInitHook/main . CPP # L39 因此,我们可以使用前面的代码实现相同的功能。 1.编译dll 使用代码: https://github.com/3gstudent/AppInitGlobalHooks-Mimikatz/ 编译dll 2.注入dll 在这里,您可以使用我之前编写的dll注入的代码。地址如下: https://github . com/3g student/home-of-C-Language/blob/master/NtCreateThreadEx+ldrloaddll . CPP 但是需要去掉FreeDll()的函数。 综上所述,ProcessHider的实现原理如下: HookAPI ntquerystemInformation()通过Dll注入实现进程隐藏。 0x03 ProcessHider的检测 检测中主要识别以下行为: hremoteprocess 钩子API NtQuerySystemInformation() 0x04 小结 本文介绍了ProcessHider的实现原理和代码细节,分析了利用思路,并给出了检测建议。 留下回复

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    ×
    ×
    • 创建新的...