首页 > 系统相关 >进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查看dll被哪个进程所使用,可以在process explorer里搜索!

进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查看dll被哪个进程所使用,可以在process explorer里搜索!

时间:2023-06-01 11:05:50浏览次数:51  
标签:explorer process 恶意代码 函数 dll 进程 APC 注入


 要查看dll被哪个进程所使用,可以在process explorer里搜索!

 

 

这个技巧在分析恶意DLL加载时候非常有用!!!

笔记

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

进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查看dll被哪个进程所使用,可以在process explorer里搜索!_加载

 

 

进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查看dll被哪个进程所使用,可以在process explorer里搜索!_重启_02

 

 

启动器 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函数,有点可疑的字符串:

进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查看dll被哪个进程所使用,可以在process explorer里搜索!_安全分析_03

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

  1. 在你运行恶意代码时,发生了什么?
    无限弹窗:一关掉就弹出来,无穷无尽

    进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查看dll被哪个进程所使用,可以在process explorer里搜索!_API_04

  2. 哪个进程会被注入?
    explorer.exe进程会被注入:

    进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查看dll被哪个进程所使用,可以在process explorer里搜索!_加载_05

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

    进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查看dll被哪个进程所使用,可以在process explorer里搜索!_加载_06

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

    进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查看dll被哪个进程所使用,可以在process explorer里搜索!_API_07

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

    进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查看dll被哪个进程所使用,可以在process explorer里搜索!_加载_08

    经典的DLL注入流程
  3. 你如何能够让恶意代码停止弹出窗口?
    重启该进程即可,重启电脑也行。
  4. 这个恶意代码样本时如何工作的?
    dllmain函数里直接创建了线程:

    进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查看dll被哪个进程所使用,可以在process explorer里搜索!_API_09

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

    进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查看dll被哪个进程所使用,可以在process explorer里搜索!_安全分析_10

 


标签:explorer,process,恶意代码,函数,dll,进程,APC,注入
From: https://blog.51cto.com/u_11908275/6392866

相关文章

  • w-process diagram
    nonumberscan'tcomapreanythingcan'tdescribetrends natrualcycles.lifecycleofabutterfly Whatcanwedescribe?howmanysteps.wheretheprocessbeginsandendseachstepintheprocess. spetslanguages:Atthefirststagein......
  • 基于multiprocessing map实现python并行化(全局变量共享 map机制实用向分析 常见问题 p
    转载:(15条消息)基于multiprocessingmap实现python并行化(全局变量共享map机制实用向分析常见问题pandas存储数据)_goto_past的博客-CSDN博客基于multiprocessingmap实现python并行化之前从来没考虑python可以并行化,最近有一个项目需要计算100*100次的遗传算法适应度,每次计算......
  • 一个由于不同微服务框架混搭导致BeanPostProcessors处理bean异常导致的问题
        前天到昨天晚上,某开发报告了一个问题,我们的一个应用程序接入了腾讯的TSF微服务框架后,使用feign访问接口,会导致token丢失,无法解决。    大体介绍下项目情况,我们的应用使用了某第三方微服务框架,不是源生的springcloud或springcloudalibaba框架,第三方厂家基于s......
  • Intel Media SDK and Intel® oneAPI Video Processing Library (oneVPL)
    TheIntelMediaSoftwareDevelopmentKit(IntelMediaSDK)isacross-platformapplicationprogramminginterface(API)fordevelopingmediaapplicationsonWindowsandLinux. Itismainlyusedforhardware-acceleratedvideoencoding,decoding,andprocess......
  • pip install时遇到subprocess-exited-with-error错误
    当我使用容器在外网下载的peft源码包中使用pipinstall-e.命令进行安装时,安装顺利进行。而当我在公司内网使用相同容器进行安装时,报出题目中的错误,因为是离线安装,所以我猜测是不是网络问题,因为这两个区别就是一个联网一个没有联网,于是我在内网pipinstall-e.命令后面加上了......
  • Could not find the DLL(s) 'msvcp140_1.dll'. TensorFlow requires that these DLLs
      python-c"fromtransformersimportpipeline;print(pipeline('sentiment-analysis')('weloveyou'))"MicrosoftVisualC++Redistributableisnotinstalled,thismayleadtotheDLLloadfailure.                Itcanbedow......
  • PEID和PEviewer都不支持64位PE查看,所以可以使用cff explorer
    cffexplorer中文版是一个强大的pe编辑制作工具,通过它能够高效地查看.net文件结构式,对文件中的多个脚本文件可以进行优化编辑。该版本为汉化版本,体积也十分地小巧,整个界面上更加的简洁,虽然多年已经不再更新,但是用户还是可以很放心的使用它进行pe相关工作的。CFFExplorer汉化版简介......
  • .net调用动态库NationECCode.dll使用电子凭证二维码解码接口
    .net调用动态库NationECCode.dll使用电子凭证二维码解码接口 C#.net调用示例代码:[DllImport("NationECCode.dll",CallingConvention=CallingConvention.StdCall)]publicstaticexternvoidNationEcTrans(stringurl,stringinput,IntPtroutput);......
  • 根据ProcessId获取进程的窗口句柄
    functionTForm1.GetHWndByPID(consthPID:THandle):THandle;typePEnumInfo=^TEnumInfo;TEnumInfo=recordProcessID:DWORD;HWND:THandle;end;functionEnumWindowsProc(Wnd:DWORD;varEI:TEnumInfo):Bool;stdcall;var......
  • An attempt has been made to start a new process before the current process has f
     Traceback(mostrecentcalllast): File"<string>",line1,in<module> File"E:\Eprogramfiles\Anaconda3\lib\multiprocessing\spawn.py",line116,inspawn_main   exitcode=_main(fd,parent_sentinel) File"E......