在内存中加载远程 AES 加密的 PE,解密并运行
无文件PE加载器
在内存中加载远程 AES 加密的 PE,解密并运行 通过使用C++实现的加载器和AES解密函数,实现在内存中加载远程AES加密的PE文件并解密运行的方法。首先通过python库PyCryptodome对mimikatz进行AES加密,然后在目标机器上通过加载器远程加载已加密的文件,并通过Loader的AES解密函数进行解密。来规避杀软检测。
Loader实现原理
1、从服务器获取数据:使用WinHTTP库发送HTTP请求,获取远程服务器上的数据。
2、对数据进行解密:使用Windows Crypto API的AES算法对获取的数据进行解密。
3、将命令行参数转换并伪装成指定的格式。
4、将PE文件到内存中,并修复IAT(导入地址表)以确保所有函数调用都指向正确的地址。
将编译为可执行文件的加载器,投放到目标机器
通过python脚本对mimikatz进行AES加密,AES 算法对文件内容进行加密,并将生成的密文和密钥分别保存到cipher.bin和key.bin文件中.
AES加密使用了pycryptodome库:这是一个用于加密和解密的库,提供了 AES、DES 等算法。pycryptodome的安装 pip3 install pycryptodome
攻击机开启http服务,供目标机器访问
在目标机器中进行远程加载,成功规避杀软加载mimikatz
详细内容