随笔分类 - 免杀学习
摘要:反射 DLL 注入又称 RDI,与常规 DLL 注入不同的是,它不需要 LoadLibrary 这个函数来加载 dll,而是通过 DLL 内部的一个函数来自己把自己加载起来,这么说可能会有一点抽象,总之这个函数会负责解析DLL文件的头信息、导入函数的地址、处理重定位等初始化操作,先不用理解这个函数是
阅读全文
摘要:本篇文章是对 wondeekun 大佬文章《三年了,还是VT全绿,它到底凭什么?》的学习,文中提到直接 patch原始二进制,保留原文件的字符串、统计特征、资源等,防止被杀软识别的方法吸引了我的注意,最近抽出时间搞了一下,发现效果很好,轻轻松松就可以 vt 全绿,下面是对手动 patch 一些要点的
阅读全文
摘要:本文首发阿里云先知社区:https://xz.aliyun.com/t/14592 背景知识 在之前的文章中,我们介绍了静态欺骗和动态欺骗堆栈,今天我们来一起学习一下另一种技术,它被它的作者称为Custom Call Stacks,即自定义堆栈调用。 关于堆栈欺骗的背景我们就不再说了,这里我们补充一
阅读全文
摘要:本文首发先知社区:https://xz.aliyun.com/t/14542 在上篇文章 https://xz.aliyun.com/t/14487 中,我们讨论了静态堆栈欺骗,那是关于 hook sleep ,在睡眠期间改变堆栈行为的欺骗,这篇文章我们来一起讨论一下主动欺骗,允许任意函数发起时的堆
阅读全文
摘要:本文首发先知社区:https://xz.aliyun.com/t/14487 首先介绍一下堆栈欺骗的场景,当我们用一个基本的 shellcode loader 加载 cs 的 shellcode,在没有对堆栈做任何事情时,我们的堆栈是不干净的,我们去看一下堆栈时会发现有很多没有被解析的地址在其中,这
阅读全文
摘要:文章首发阿里云先知社区:https://xz.aliyun.com/t/14310 了解过免杀的都知道,杀软会对敏感 api 进行 hook 操作,而我们通常有两种方式进行解决,syscall 和 unhook,而我们在 syscall 的时候有时候会导致堆栈不完整,在杀软看来是一些异常的行为,比如
阅读全文
摘要:文章首发阿里云先知社区:https://xz.aliyun.com/t/14033 什么是 hook hook 翻译过来就是钩子,它用于拦截并改变某个事件或操作的行为,比如我们大家在写 shellcode loader 时,直接使用申请内存,copy 内存等高危操作可能会报毒,然后尝试更换冷门的 a
阅读全文
摘要:本文首发:https://xz.aliyun.com/t/13687 基础知识 我们知道,系统核心态指的是R0,用户态指的是R3,系统代码在核心态下运行,用户代码在用户态下运行。系统中一共有四个权限级别,R1和R2运行设备驱动,R0到R3权限依次降低,R0和R3的权限分别为最高和最低。 而我们的**
阅读全文
摘要:进程启动 三个常规api 1.WinExec 函数介绍:运行一个指定的程序。 函数原型如下: UNIT WINAPI WinExec( _In_ LPCTSTR lpCmdLine; //要执行应用程序的命令行,如果不包含目录路径,则按应用程序目录,当前目录,Windows系统目录,Windows目
阅读全文
摘要:反沙箱与反调试 反沙箱 我们要反沙箱,就要思考沙箱和真实物理机的区别,比如说内存大小、用户名、cpu核心数等等,下面会逐个进行介绍。 1.sleep 沙箱在执行样本的时候肯定是有时间限制的,所以我们可以先让我们的程序睡眠一段时间再执行,这样在沙箱的环境下,我们的程序还在sleep呢,沙箱就检测完了,
阅读全文
摘要:隐藏IAT和字符串 0x01 IAT IAT即导入表,它记录了我们的文件用了哪些函数。 在杀软检测恶意程序时,导入表是一个重要的检测项,比如说我们的程序调用了Virtual Alloc、CreateThread,且VirtualAlloc的最后一个参数是0x40(即PAGE_EXECUTE_READ
阅读全文
摘要:内存加载.NET程序集&Bypass ETW 在内存中加载可以使你的文件变得非常隐蔽,不需要落地文件。下面我们一起来学习一下,如何在内存中加载.net程序集,并且绕过ETW的检测。 0x01 Assembly.Load 官方文档如下Assembly.Load 方法 (System.Reflectio
阅读全文
摘要:shellcode混淆加密(二) 这篇笔记其实不光是加密的东西,还有学习到的各种免杀的小技巧,关于XOR的部分已经实现了一个小工具,可以看https://www.cnblogs.com/fdxsec/p/17809606.html,这里就不再写了。加密的东西可以套娃的,多加密几次起到一个欺骗杀软的效
阅读全文
摘要:实现的结果如下: 1.python脚本里面xor key随机生成 长度16位 2.加密后的payload和key直接写入到模板里面 3.编译 使用gcc编译 每次输出文件名随机 完成一个自动化过程 用法 python main.py shellcode.bin 其中shellcode.bin是自己的
阅读全文
摘要:此篇文章不涉及shellcode的编写,只讨论shellcode的加密方式。
阅读全文