PE文件检测
PE(Portable Executable)可执行文件,该文件酱油Windows加载器执行代码、引用库、导入和导出API表等
检测方法一般如下
1. 基于字符特征的检测方法(静态)
2. 启发式检测方法(单步跟踪/静态分析)
3. 基于行为的检测方法(动态)
AV(Anti Virus)躲避技术
一般来说分磁盘/内存两种
磁盘
- 打包(修改特征码、减小体积)
- 混淆(花指令、重组等)
- 加密Crypters(改变可执行代码,在内存中执行加密文件)
- 软件保护(反逆向、反调试、虚拟机检测)
内存
一般流程如下
1. 利用Windows API向正常PE进程注入攻击代码
2. 获得目标进程Handle并分配空间
3. 将恶意代码注入到新分配内存中
4. 执行内存中的恶意代码
除此之外还有反射DLL注入技术、进程挖空技术、内连挂载技术等
下面有一种使用Powershell的内存注入方法
Todo:有空再补
Shellter
Windows下动态shellcode注入工具,在kali中使用时需要借助Wine环境
原理如下
对PE文件进行深入分析,将payload注入到另一个正常文件之中
改变PE文件的Section权限,并创建新的Section
使用现有的PE Import Address Table(IAT)条目来定位将用于内存分配、传输和执行负载的函数
省流:将Payload加载到一个正常的程序中
sudo apt install wine
sudo dpkg --add-architecture i386&apt update&apt -y install wine32
shellter