免杀-APC注入
- APC注入
APC注入
0x00 APC 介绍
APC 异步过程调用
是一个链状的数据结构
可以让一个线程在其本应该的执行步骤前执行其他代码,
每个线程都维护这一个APC链。
当线程从等待状态苏醒后,会自动检测自己得APC队列中是否存在APC过程。
所以只需要将目标进程的线程的APC队列里面添加APC过程,当然为了提高命中率可以向进程的所有线程中添加APC过程。
然后促使线程从休眠中恢复就可以实现APC注入。
APC注入的一些前置如下:
- 线程在进程内执行
- 线程会调用在APC队列中的函数
- 应用可以给特定线程的APC队列压入函数(有权限控制)
- 压入队列后,线程将按照顺序优先级执行(FIFO)
- 这种注入技术的缺点是只有当线程处在alertable状态时才去执行这些APC函数