美文网首页
远程线程注入-下

远程线程注入-下

作者: Asura_Luo | 来源:发表于2018-05-21 00:24 被阅读0次

远程线程的几个关键点

  1. 被创建的线程在别的进程中执行
  2. 呗创建的线程锁依赖的代码或数据都来自于目标进程

如果想要在目标进程中干我们想干的事,我们就需要吧自己的功能代码加入到目标进程内部,这个也就是常说的代码注入

我们目前学过的知识就可以实现一些注入的功能

  1. 内存的操作
  2. 动态链接库

通过直接读写内存的方式

  1. 利用VirtualAllocEx在目标进程中申请一段内存空间
  2. 通过WriteProcessMemory在目标进程中刚申请的空间内将我们的功能代码的硬编码写入
  3. CreateRemoteThread 启动我们的目标代码

优点: 操作简单不易呗发现
缺点: 因为远程线程锁执行的代码和利用的资源只能是目标进程提供的,那么我们写入的这段硬编码必须得脱离其他依赖独立运行,只能直接调用API,不能使用静态库提供的函数,不能直接使用动态库使用的函数,不能出现随意的调用或者jmp,在构造这种代码的时候会非常复杂,当然按照以上要求构造出来的代码我们还有一种叫法,叫做ShellCode

DllMain

BOOL WINAPI DllMain
(
        HINSTANCE hinstDLL;//DLL模块举办(DLL 被加载的位置)
        DWORD fwdReason, //  制定本地DLLMain被调用的原因
        LPVOID ipvReserved; //保留位
)

//fdwReason的一些宏说明:

DLL_PROCESS_ATTACH:
      当进程第一次将该DLL映射到内存空间时,我们的进程就会调用一次这个DllMain并传入这个参数
DLL_PROCESS_DETACH:
      当进程将当前DLL从内存空间解除映射的时候,就会调用一次DllMain并传入这个参数
DLL_THREAD_ATTCH:
      每当有一个新的线程创建,都会调用一次DllMain并传入这个参数
DLL_THREAD_DEACH:
      每当有一个线程结束(ExitThread)时就会调用一次DllMain并传入这个参数,如果线程是因为TerminateThread函数而结束的则不会调用

通过动态链接库的方式

  1. 利用一些手段加载带有我们功能函数的DLL
  2. 通过DLLMAIN来启动我们的功能

优点:操作简单实现也简单,写在DLL中的功能函数不需要想 ShellCode那样做到什么也不依赖,因为DLL被加载后重定位会替我们搞定这些麻烦事,所以在DLL中可以像写我们普通的正常程序一样来写我们的功能代码
缺点:容易被检测

加载DLL:

image.png

相关文章

  • 远程线程注入-下

    远程线程的几个关键点 被创建的线程在别的进程中执行 呗创建的线程锁依赖的代码或数据都来自于目标进程 如果想要在目标...

  • 远程线程注入-上

    线程是什么 如果说进程是个大房子,那么线程是进程中干活的人 线程是进程的灵魂使用进程提供的数据 执行进程提供的代码...

  • 【Windows】远程线程注入

    站在巨人的肩膀上 通过CreateRemoteThread,我们能实现把dll或者代码注入到目标进程中,从而实现一...

  • 2018-07-13 DLL注入(一)

    DLL注入是把指定的DLL加载到另一个进程的内存空间中去。 DLL注入技术:1、通过远程线程注入 ...

  • 安全之路 —— 无DLL文件实现远程线程注入

    简介 在之前的章节中,笔者曾介绍过有关于远程线程注入的知识,将后门.dll文件注入explorer.exe中实现绕...

  • 安全之路 —— 利用APC队列实现跨进程注入

    简介 在之前的文章中笔者曾经为大家介绍过使用CreateRemoteThread函数来实现远程线程注入(链接),毫...

  • 一文读懂远程线程注入

    在红队行动中,红队的目的都是要在不暴露自身行动的前提下,向蓝队发动攻击。他们使用各种技术和程序来隐藏C2连接和数据...

  • Windows内核-注入技术(APC)

    注入技术:包括三种方式:创建线程注入APC注入劫持线程注入 以APC的方式实现无模块注入DLL整体的一个流程:1....

  • 代码远程注入

    首先在输入某段函数代码前 需要知道函数代码所在的位置;可以通过函数名获取真实函数地址:、 其中mfunc为我们定义...

  • 线程池

    多线程使用:使用注解方式注入线程池进行异步任务,避免手动方式创建线程池

网友评论

      本文标题:远程线程注入-下

      本文链接:https://www.haomeiwen.com/subject/osyxjftx.html