• 进程注入分析实战——通过process explorer可以看到lab1201.dll在运行时加载了,todo,分析EDR是否可以采集数据


    笔记

    可以通过process explorer查看进程注入的dll,比如注入后可以看到lab12-01.dll在注入的运行进程里。

    启动器 Launcher

    用来加载恶意代码使用,通常在资源中包含一个exe或dll,在运行的时候,把PE文件从资源中取出来,然后执行,常见API:FindResource、LoadResource、SizeOfResource等

    恶意代码启动器通常需要管理员权限运行,或提权来得到权限,恶意代码启动器可能会包含一些提权代码

    进程注入 Process Injector

    把恶意代码注入到别的进程中去执行,常用API:VirtualAllocEx,WriteProcessMemory函数等 ==》如果可以反编译,那么可以看这些API的使用!

    • DLL注入:写一个DLL加载到目标进程中会自动执行dllmain函数

    • 代码注入:注入shellcode

    进程替换 Puppet process

    创建一个合法进程,然后在其内存空间写入恶意程序,最后通过SetThreadContext函数来让入口点指向恶意代码进行执行,也叫傀儡进程

    Hook注入 Hook Injector

    使用SetWindowsHookEx来设置消息Hook

    APC注入 APC Injector

    每个线程都有一个附加的APC队列,在线程处于可警告状态的时候被处理,在这个状态的时候会一次调用APC队列中的所有函数,可通过编写代码用APC抢占可警告状态的线程

    用户模式的APC使用API:QueueUserAPC,一般会注入目标进程的所有线程,以确保APC很快会被执行

    内核模式的APC使用API:KeInitializeAPC,KeInsertQueueApc,一般来注入用户层shellcode到用户空间去执行

    作业

    Lab 12-1

    分析目标:Lab12-01.exe,Lab12-01.dll

    查看程序:无壳,导入表导入了CreateRemoteThread函数,有点可疑的字符串

    image-20211022165320118

    这里看到了导入表没有的LoadLibraryA函数,这里大概率是个DLL注入

    1. 在你运行恶意代码时,发生了什么?

      无限弹窗:一关掉就弹出来,无穷无尽

      image-20211023154332075

    2. 哪个进程会被注入?

      explorer.exe进程会被注入

      image-20211023161705616

      静态分析:exe程序首先动态获取几个函数地址:

      image-20211023161749171

      然后进入for循环进行遍历获取到的进程句柄:

      image-20211023161818028

      这里对每个进程句柄都调用了一下sub_401000函数:这个函数的功能是打开进程遍历模块看有没有名字是explorer.exe的模块在,如果有就返回1,然后主程序就会打开进程,跳出循环进入下一步:

      image-20211023161951601

      经典的DLL注入流程

    3. 你如何能够让恶意代码停止弹出窗口?

      重启该进程即可,重启电脑也行。

    4. 这个恶意代码样本时如何工作的?

      dllmain函数里直接创建了线程:

      image-20211023162527429

      线程里是个死循环:不断执行弹窗函数

      image-20211023162540021

  • 相关阅读:
    【BZOJ1087】状压dp
    【数据库课程设计】
    【BZOJ1295】最短路
    vue组件间通信六种方式(完整版)
    常见六大Web安全攻防解析
    4、css之position
    hue集成各种组件
    1.25-1.26 Coordinator数据集和oozie bundle
    1.22-1.24 Oozie企业使用案例
    1.18-1.21 Oozie Coordinator调度
  • 原文地址:https://www.cnblogs.com/bonelee/p/16113581.html
Copyright © 2020-2023  润新知