SERVICE PHONE
13988889999发布时间:2025-12-30 04:14:22 点击量:
哈希游戏,哈希游戏注册,哈希游戏平台,哈希游戏平台注册,哈希游戏注册平台
在日常的渗透测试中,我们直接将metaspolit、CS等工具直接生成的恶意程序或代码发送到目标系统时,通常会遇防病毒和入侵检测系统的查杀。这使得我们的程序被拦截或者运行不稳定。有时候IP还会直接被封杀,增加了我们的攻击难度,这篇文章中,将为大家分享一些自己免杀的学习方法论,一些常用的AV和IDS规避技术,可以用于绕过一些安全软件。
通过一定规律的编码算法,将对metaspolit、CS生成的shellcode进行编码/模糊处理/变形,从原始shellcode中删除所有无效的字符,从而逃避杀毒软件检测。编码算法可以使用多种算法对Shellcode进行编码,包括(但不限于):
先来一个简单的编码方法,我选择了一个名为加法和减法(ADD,SUB)这是最早的一种加密方式。
77+eb=162 是n = 77是我们加密的密码,原始字节中的的每个字符都与77相加。关于这个加密数,我们需要找从(0-255)个字节中找出一个与代码相加都不是坏字符的数,来作为我们的加密密码。这就需要我们自己去循环计算,这里不写具体的编成实现代码。
选择它的原因很简单:这个很容易实现,并且所有初学者都容易理解。最后,我们把解码器放在shellcode之前,每个字都将与指定的字节进行减法运算,最后得到我们的原始的code
再来一个相对复杂一些的,采用多种算法的复合编码。1、进行NOT操作2、ADD通过为0x1字节3、在(0-255)中找一个随机字节,将字节与随机字节进行XOR,并在shellcode默认添加该字节,作为结束标记符4、在这些字节之间插入随机字节
解码器的内容很简单,解码器的下方是我们的加密后的代码。每次拿出一个字节与77字节相减,将计算结果存入ESI寄存器。
首先,我们需要将解码的shellcode放在某个地方,我们使用JMP指令跳转到执行解码器函数的地方,最后使用POP ESI将shellcode地址放在ESI寄存器中间。我们首先要做的就是删除shellcode每个字节中间的随机字节。先来看一下shellcode的规律
ESI寄存器每次加2就是shellcode的位置EDI加1就是运算后存放的位置
首先加密字节应该注意的是,加密字节和加密后的字节都不应该包含坏字符。不是每个字节都手动与指定字节进行运算的。然后处理未编码的shellcode中的每个字节-我创建了一个小的Python脚本,可以帮自动完成这些计算。在选择加密字节的时候,我们是从0-255中随机便利选择的,这意味着两次对相同的code进行编码可能不会两次产生相同的输出。
