通过加密shellcode方式过安全软件拦截实验
先说结论,笔者没成功过360
-
shellcode:
Shellcode 是一段用于在目标系统上执行特定操作的机器码。它通常被用于利用软件漏洞,以获取对目标系统的控制权或执行特定的恶意行为。 Shellcode 可以执行诸如创建进程、提升权限、下载和执行其他恶意软件等操作。编写有效的 Shellcode 需要对目标系统的架构、内存布局和操作系统的特性有深入的了解。 在安全领域,研究人员和攻击者都会涉及到 Shellcode 的相关知识,前者用于发现和防范漏洞利用,后者则用于实施攻击。#通常是字节数组
这里可以用cs或者msf等工具生成类似的shellcode用于去目标机器执行
-
加密免杀:
没做如何处理的shellcode特征码容易被杀毒软件监测,而加密免杀则是提前用加密算法对shellcode进行一次加密,再执行代码中则将加密后的shellcode进行解密,再执行。由于shellcode是加密后的,因此不容易被杀软本身所监测
-
实验复现
环境:宿主机Windows11 ,pycharm,cs,VMware搭建的windows10 2019未更新defender
-
使用cs生成的shellcode
-
对shellcode进行加密
/* length: 893 bytes */ unsigned char buf[] = "\xwc\x49\...\x85\xad";//这是不全的,实验复现时自己用工具生成
加密算法:base64,AES,自定义
def encrypt(public_key, plaintext): e, n = public_key cipher = [pow(byte, e, n) for byte in plaintext] return (cipher) def decrypt(private_key, ciphertext): d, n = private_key plain = [pow(byte, d, n) for byte in ciphertext] return bytes(plain) # 固定的公钥和私钥 public_key = (65537, 3233) # e 和 n private_key = (2753,
-