CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 漏洞列表
  3. 正文

木马免杀

2018年11月12日 1152点热度 0人点赞 0条评论
  • FB招聘站
  • 分类阅读
  • 专栏
  • 公开课
  • FIT 2019
  • 企业服务
  • 用户服务
  • 搜索
  • 投稿
  • 登录
  • 注册

技术讨论 | Windows 10进程镂空技术(木马免杀)

河马安全网2018-06-07共156160人围观 ,发现 15 个不明物体系统安全

前言

在Win10 x64环境下替换正常的进程,是一个比较高超的技术。使用该技术,可以内存执行病毒、木马。在文件层面实现免杀。可以把一个木马使用DES加密,放在资源里。执行时,从资源里释放出来,在内存里进行DES解密,注入到一个系统的进程中。

环境

1.  VisualStudio 2015 企业版

2.  普通程序 Notepad.exe (C:\windows\system32\Notepad.exe)

3.  木马程序 MalWare.exe

4.  源码下载地址,http://www.isafe.cc/article.asp?id=77

5.  EXE下载地址,http://www.isafe.cc/article.asp?id=77

步骤

创建一个挂起的进程notepad.exe->读取线程上下文->读取进程内存->读取Notepad.exe原始入口点->卸载Notepad.exe占用的内存->将MalWare.exe二进制放入内存缓冲区->在Notepad.exe进程中分配一个内存空间->将MalWare.exe注入到Notepad.exe的进程里->修改Notepad.exe的区段->修改Notepad.exe的入口点->恢复主线程->成功注入。

代码实现

一.创建一个挂起的进程notepad.exe

BOOL WINAPI CreateProcess(  _In_opt_    LPCTSTR              lpApplicationName,  _Inout_opt_ LPTSTR               lpCommandLine, _In_opt_    LPSECURITY_ATTRIBUTESlpProcessAttributes, _In_opt_    LPSECURITY_ATTRIBUTESlpThreadAttributes, _In_        BOOL                 bInheritHandles, _In_        DWORD                dwCreationFlags,  _In_opt_    LPVOID               lpEnvironment,  _In_opt_    LPCTSTR              lpCurrentDirectory, _In_        LPSTARTUPINFO        lpStartupInfo, _Out_       LPPROCESS_INFORMATIONlpProcessInformation);

a.) lpApplicationName 这个参数是可执行文件的路径。例如

c:\programfiles\sub dir\program.exe

c:\program files\a.exe

netstat

b.) lpCommandLine 这个表示应用程序的参数。例如 -an

c.) lpProcessAttributes 进程属性结构体变量

d.) lpThreadAttributes  线程属性结构体变量

e.) bInheritHandles     指定当前进程内句柄不可以被子进程继承

f.) dwCreationFlags     进程创建标识符,CREATE_SUSPENEDE 表示创建一个挂起的进程。

g.) lpEnvironment       指向一个新进程的环境块。如果此参数为空,新进程使用调用      进程的环境。

h.) lpCurrentDirectory  指向一个以NULL结尾的字符串,这个字符串用来指定子进程的  工作路径。这个字符串必须是一个包含驱动器名的绝对路径。如果这个参数为NULL,新进程将使用与调用进程相同的驱动器和目录。

i.) lpStartupInfo       指向一个用于决定新进程的主窗体如何显示的STARTUPINFO结 构体。

j.) lpProcessInformation保存进程所有信息的结构体变量。

CreateProcess函数用于创建一个进程,cAppName为C:\\Windows\\notepad.exe,是程序文件的路径,第6个参数为CREATE_SUSPENDED,表示创建一个挂起的进程。最后2个参数si,pi保存了进程的相关信息(进程的句柄,线程的句柄等)。

二. 读取线程上下文

GetThreadContext函数用于获取线程上下文。

Pi.hThread为线程句柄,

context线程信息结构体。

三. 读取Notepad.exe原始入口点

ReadProcessMemory函数用于读取另一个进程的内存。这里dwVictimBaseAddr存放读取的数据,大小为4个字节。

原型

BOOL ReadProcessMemory(HANDLE hProcess,LPCVOIDlpBaseAddress,LPVOID lpBuffer,DWORD nSize,LPDWORDlpNumberOfBytesRead);

第一个参数hProcess,要读取的进程句柄。

第二个参数lpBaseAddress,要读取的进程的内存首址。开始地址。

第三个参数lpBuffer,接收数据内容的缓冲区。

第四个参数 nSize,从内存中读取的字节数。

第五个参数lpNumberOfBytesRead,已经读取的字节数。

函数返回0表示调用失败。

四. 卸载Notepad.exe占用的内存

pfnNtUnmapViewOfSection函数用于卸载进程占用的内存

五. 在Notepad.exe进程中分配一个内存空间

VirtualAllocEx函数用于在指定进程中分配一个内存空间。

函数原型:

LPVOIDVirtualAllocEx(HANDLE hProcess,LPVOIDlpAddress,SIZE_T dwSize,DWORDflAllocationType,DWORD flProtect);

第一个参数hProcess,需要在其中分配空间的进程的句柄。

第二个参数lpAddress,分配的内存首址。

第三个参数 dwSize,分配的内存大小。

第四个参数flAllocationType,内存区域的类型。

第五个参数flProtect,内存保护属性。

六. 将MalWare.exe注入到Notepad.exe的进程里,修改Notepad.exe的区段和PE文件头

WriteProcessMemory函数用于向Notepad.exe进程写入任何数据。

函数原型:

BOOL WINAPI WriteProcessMemory(
   HANDLE  hProcess,
  LPVOID  lpBaseAddress,
  LPCVOID lpBuffer,
  SIZE_T  nSize,
  SIZE_T  *lpNumberOfBytesWritten
);

第一个参数hProcess,待操作的进程句柄。

第二个参数 lpBaseAddress,要写入数据的起始地址。

第三个参数lpBuffer,要写入数据的缓冲区首址。

第四个参数 nSize,  要写入数据的长度。

第五个参数lpNumberOfBytesWritten,已写入的数据长度。

七. 修改Notepad.exe的入口点 RCX存放的是入口点。

八.   恢复主线程

SetThreadContext()函数用于恢复线程上下文,这里指定了新的入口点地址 Rcx

ResumeThread ()函数用于启动挂起的线程。

编译为EXE

必须用Visual Studio 2015进行编译。源码下载(http://www.isafe.cc/article.asp?id=77)

在“解决方案资源管理器”中,右键->重新生成

在输出窗口中看到成功1个(注意这里生成的是一个Release版的64位程序)

MalWare.exe编译为EXE

源码下载(http://www.isafe.cc/article.asp?id=77)

打开VS2015,点击菜单[文件]->[打开]->[项目/解决方案]。

打开Malware.vcxproj工程文件,进行编译,模式为Release,平台为x64。

在输出窗口中,提示成功1个。

Win10平台测试

将ProcessReplacement.exe拖入虚拟机。

双击,提示

看样子是缺少什么文件?将VS2015环境下的文件vcruntime140.dll,复制到虚拟机

双击执行ProcessReplacement.exe

总结

本文介绍的Win10 x64进程镂空技术,可以在文件层面实现木马免杀。

*本文作者:河马安全网,转载请注明来自FreeBuf.COM

河马安全网2 篇文章等级: 3级
|
|
  • 上一篇:威胁预警 | Linux.BackDoor.Xnote.1最新变种来袭
  • 下一篇:腾讯御见捕获Flash 0day漏洞(CVE-2018-5002)野外攻击

这些评论亮了

  • X-Secure(1级)回复
    看报啊……看新闻啊……四人帮倒台啦!
    )8(亮了
  • 360回复
    15年前 你提出来 还有点用. 那时候只有个别杀软会拦截.
    你这样做 就是告诉别人 你电脑被装了木马
    )6(亮了
发表评论

已有 15 条评论

  • y111111en 2018-06-07回复1楼

    为啥强调Win10,还x64?

    亮了(2)
    • dainhee 2018-06-07回复

      @ y111111en 可能没在其他环境测试过

      亮了(1)
      • y111111en 2018-06-07回复

        @ dainhee :arrow: 我能说啥

        亮了(0)
    • 河马安全网 (3级) 2018-06-07回复

      @ y111111en x64和x86是有本质区别的。

      亮了(0)
  • X-Secure (1级) 2018-06-07回复2楼

    看报啊……看新闻啊……四人帮倒台啦!

    亮了(8)
  • 2 2018-06-07回复3楼

    标题是不是应该写怎样使用VisualStudio 2015 企业版?为什么去搜索dll?而不是装个运行库呢?

    亮了(1)
    • 河马安全网 (3级) 2018-06-07回复

      @ 2 因为是木马免杀技术,所以不能安装vc++运行库。

      亮了(0)
  • 360 2018-06-07回复4楼

    15年前 你提出来 还有点用. 那时候只有个别杀软会拦截.

    你这样做 就是告诉别人 你电脑被装了木马

    亮了(6)
  • 周鸿伟 2018-06-07回复5楼

    给新手看看还行,有指导意义

    亮了(4)
  • sizeofchar (3级) 2018-06-07回复6楼

    穿越剧的剧本吗

    亮了(0)
  • MalwareSeizer (1级) 2018-06-08回复7楼

    盗的是木马清除大师的图?这样好吗?

    亮了(0)
  • 周鸿衣 2018-06-08回复8楼

    可以可以

    亮了(0)
  • 1 2018-06-08回复9楼

    和傀儡进程的原理一样吧

    亮了(0)
  • Black 2018-06-08回复10楼

    这个算标题党吗?我还以为是个啥呢?傀儡进程而已,好几年前的东西了。缺少运行库,静态编译了解一下。

    亮了(0)
  • admin123 2018-06-11回复11楼

    评论亮了

    亮了(0)

 

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

河马安全网

这家伙太懒,还未填写个人描述!

2文章数18评论数

最近文章

技术讨论 | Windows 10进程镂空技术(木马免杀)

2018.06.07

利用白文件打造超级渗透测试后门程序的思路分享

2018.03.29

浏览更多

相关阅读

  • 高度可定制化的远程访问木马“Remvio”,仅售58美金
  • 从一条微博揭秘“专黑大V名人”的定向攻击
  • “心跳助手”暗藏玄机,”双生花”暗刷木马家族“借尸还魂”
  • 双枪2木马驱动分析报告
  • “异鬼Ⅱ”Bootkit木马详细分析

特别推荐

关注我们 分享每日精选文章

活动预告

  • 11月

    FreeBuf精品公开课·双11学习狂欢节 | 给努力的你打打气

    已结束
  • 10月

    【16课时-连载中】挖掘CVE不是梦(系列课程2)

    已结束
  • 10月

    【首节课仅需1元】挖掘CVE不是梦

    已结束
  • 9月

    【已结束】自炼神兵之自动化批量刷SRC

    已结束

FREEBUF

  • 免责声明
  • 协议条款
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2018 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2018年11月12日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me