

项目说明
<p style="text-align:center;">
<em>« La force se cache dans l’in, et l’in gouverne tout. »</em>
</p>
<di="text-align:center; margin-top:8px;">
<img src="asset/charles-che.jpg"
alt="Charles Che (Blue Lock)"
width="400">
</div>
KittyLoader
!GitHub Stars
!GitHub Repo forks
> [!CAUTION]
> Disclaimer & Legal Notice
> This repository, KittyLoader, and all associated code, techniques, and information are provided strictly for educational and academic research purposes.
>
> This sample and its methodologies have been proactively disclosed to relevant cybersecurity defense organizations and . It is actively used by defensi to research attack patterns, develop detection capabilities, and enhance security products.
>
> You are required to use this knowledge and these tools only on systems you own or ha, written permission to test.
> Any unauthorized use against systems you do not own is illegal and strictly prohibited.
>
> This tool was created to advance the field of defensi. The author, *tlsbollei*, assumes no liability and is not responsible for any misuse or damage caused by this software.
>
> By accessing this repository, you acknowledge that you understand its purpose is to learn about modern malware techniques, e tactics, and ultimately to improve our collecti to defend against them.
By proceeding, you agree to use this information responsibly and legally.
About>
KittyLoader is a highly e loader written in C / Assembly.
Features
Hijacks early execution by replacing the C runtime entrypoint (__scrt_common_main_seh) with custom assembly.Hides all modules by walking PEB->Ldr lists and unlinking its module entry (LDR_DATA_TABLE_ENTRY) from : - InLoadOrderModuleList
- InInitializationOrderModuleList
- InMemoryOrderModuleList
Deploys a wide of anti-analysis techniques, including : - Multilayer scoring (debugger, sandbox/resources, API integrity/hook checks, human-input entropy, contextual cues like domain/time of day) combined into a weighted o confidence that continuously re-e
- Picks an operational state (full → halted) and throttles/pauses with jittered, CPU-cycle-based delays in a loop that keeps reassessing the en.
- API integrity/inline-hook heuristics and light tamper probes; human-interaction entropy sampling; randomized yet precise timing jitter to throw off debuggers
- Adds controlled noise (junk calcs + jittered delays) and spreads logic across multiple signals, reducing single-indicator detection.
Embedded payload is encrypted at rest, with key and nonce derived at runtime from entropy sources: PID, TID, QPC, memory load, CPU info (CPUID), tick count.Preferred algo is ChaCha20, but in case of failure falls back to RC4, decryption occurs in place after the encrypted blob is copied into memory.APIs are initially attempted to be resolved .dll, which is quite the modern technique, it does so using GetModuleHandleW(L"tprtdll.dll") with DONT_RESOL to minimize operation footprint.Uses high-entropy randomness (PID/TID/GetTickCount/__rdtsc and more) to vary scan starts, delays, and sizes—reducing deterministic patterns and signature matches to cripple static.Searches for (RX/RWX/RW, non-guarded) and guards behind additional is_region_safe() heuristic, and does the following : - Resol APIs , hash-based lookups instead of plain export walking—shrinks observable footprints and evades basic hooks
- Loads libraries with quiet flags (DONT_RESOL, LOAD_LIBRARY_SEARCH_SYSTEM32) which minimizes I/O usage and loader footprint
Writes and decrypts payload in scattered, sized chunks with micro-jitter—disrupts linear memory-write/decrypt heuristics and timing correlations - Performs staged protection flips (RW → RWX → RX) and later restores RW before wipe/free—mimics legitimate behavior and lowers post-execution forensics
Execute , normally intended for SGX/, instead of jumping to a secure enclave, we jump to an arbitrary function pointer in normal (VTL0) user memory - latest adds timing camouflage and a plausible execution contextCleans up carefully (I-cache flush, SecureZeroMemory, free) with randomized post-execution timing—limits residue and timeline clustering> [!NOTE]
> To fix in the future - ChaCha20 implementation bug, entry hijack ASM prologue/epilogue issues, control flow and compile hazards, and silence anti analysis more. Add fallbacks if LdrCallEncla, and implement more stable key deri. Or just fix it yourself!
<img src="asset/proof.PNG" alt="" width="950">
Credits:
: Run shellcode using LdrCallEnclave: tprtdll.dll (like so many others) exposes some Nt/Rtl/Zw functions, without redirecting to the ntdll.dll!项目信息
开发语言:C++
Star 数:269
技术要点
该项目属于病毒分析方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕KittyLoader is a highly evasive loader written in C / Assembly展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
使用与学习建议
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
免责声明
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。