【导语】“lele0816”通过精心收集,向本站投稿了5篇常用的各种免杀技术,下面小编为大家整理后的常用的各种免杀技术,欢迎阅读与借鉴!
篇1: 常用的各种免杀技术
一、要使一个木马免杀
首先要准备一个不加壳的木马,这点非常重要,否则 免杀操作就不能进行下去,
常用的各种免杀技术归纳
。 然后我们要木马的内存免杀,从上面分析可以看出,目前的内存查杀,只有瑞星最强,其它杀毒软件内存查杀现在还不起作用所以我们只针对瑞星的内存查杀,要进行内存特征码的定位和修改,才能内存免杀。
二、对符其它的杀毒软件
比如江民,金山,诺顿,卡巴。我们可以采用下面的方法,或这些方面的组合使用。
1>.入口点加1免杀法。
2>.变化入口地址免杀法
3>.加花指令法免杀法
4>.加壳或加伪装壳免杀法。
5>.打乱壳的头文件免杀法。
6>.修改文件特征码免杀法。
三、免杀技术实例演示部分
1、入口点加1免杀法:
1)用到工具:PEditor
2)特点:非常简单实用,但有时还会被卡巴查杀。
3)操作要点:用PEditor打开无壳木马程序,把原入口点加1即可。
2、变化入口地址免杀法:
1)用到工具:OllyDbg,PEditor
2)特点:操作也比较容易,而且免杀效果比入口点加1点要佳。
3)操作要点:用OD载入无壳的木马程序,把入口点的前二句移到零区域去执行,然后又跳回到入口点的下面第三句继续执行。最后用PEditorr把入口点改成零区域的地址。
3、加花指令法免杀法:
1)用到工具:OllyDbg,PEditor
2)特点:免杀通用性非常好,加了花指令后,就基本达到大量杀毒软件的免杀。
3)操作要点:用OD打开无壳的木马程序,找到零区域,把我们准备好的花指令填进去填好后又跳回到入口点,保存好后,再用PEditor把入口点改成零区域处填入花指令的着地址。
4、加壳或加伪装壳免杀法:
1)用到工具:一些冷门壳,或加伪装壳的工具,比如木马彩衣等。
2)特点:操作简单化,但免杀的时间不长,可能很快被杀,也很难躲过卡巴的追杀。
3)操作要点:为了达到更好的免杀效果可采用多重加壳,或加了壳后在加伪装壳的免杀效果更佳。
5、打乱壳的头文件或壳中加花免杀法:
1)用到工具:秘密行动 ,UPX加壳工具,
2)特点:操作也是傻瓜化,免杀效果也正当不错,特别对卡巴的免杀效果非常好。
3)操作要点:首先一定要把没加过壳的木马程序用UPX加层壳,然后用秘密行动这款工具中的SCramble功能进行把UPX壳的头文件打乱,从而达到免杀效果。
6、修改文件特征码免杀法:
1)用到工具:特征码定位器,OllyDbg
2)特点:操作较复杂,要定位修改一系列过程,而且只针对每种杀毒软件的免杀,要达到多种杀毒软件的免杀,必需修改各种杀毒软件的特征码。但免杀效果好。
3)操作要点:对某种杀毒软件的特征码的定位到修改一系列慢长过程。
四、快速定位与修改瑞星内存特征码
1、瑞星内存特征码特点:由于技术原因,目前瑞星的内存特征码在90%以上把字符串作为病毒特征码,这样对我们的定位和修改带来了方便。
2、定位与修改要点:
1)首先用特征码定位器大致定位出瑞星内存特征码位置
2)然后用UE打开,找到这个大致位置,看看,哪些方面对应的是字符串,用0替换后再用内存查杀进行查杀。直到找到内存特征码后,只要把字符串的大小写互换就能达到内存免杀效果。
五、木马免杀综合方案
修改内存特征码――>1)入口点加1免杀法――>1>加压缩壳――>1>再加壳或多重加壳
2)变化入口地址免杀法 2>加成僻壳 2>加壳的伪装。
3)加花指令法免杀法 3>打乱壳的头文件
4)修改文件特征码免杀法
注:这个方案可以任意组合各种不同的免杀方案。并达到各种不同的免杀效果。
六、免杀方案实例演示部分
1、完全免杀方案一:
内存特征码修改 + 加UPX壳 + 秘密行动工具打乱UPX壳的头文件。
2、完全免杀方案二:
内存特征码修改 + 加压缩壳 + 加壳的伪装 )
3、完全免杀方案三:
GD内存特征码修改 + 修改各种杀毒软件的文件特征码 + 加压缩壳
4、完全免杀方案四:
内存特征码修改 + 加花指令 + 加压壳
5、完全变态免杀方案五:
内存特征码修改 + 加花指令 + 入口点加1 + 加压缩壳UPX + 打乱壳的头文件
还有其它免杀方案可根据第五部分任意组合
篇2:免杀技术需要掌握的知识
一.机械码,又称机器码
Ultraedit打开,编辑exe文件时你会看到许许多多的由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F组成的数码,这些数码就是机器码,修改程序时必须通过修改机器码来修改exe文件。
二.需要熟练掌握的全部汇编知识
不大容易理解,可先强行背住,混个脸儿熟,以后慢慢的就理解了。
cmp a,b 比较a与b。
mov a,b 把b的值送给a。
ret 返回主程序。
nop 无作用,英文“no operation”的简写,意思是“do nothing”(机器码90)***机器码的含义参看上面。
(解释:ultraedit打开编辑exe文件时你看到90,等同于汇编语句nop)
call 调用子程序。
je 或jz 若相等则跳(机器码74 或0F84)。
jne或jnz 若不相等则跳(机器码75或0F85)。
jmp 无条件跳(机器码EB)。
jb 若小于则跳。
ja 若大于则跳。
jg 若大于则跳。
jge 若大于等于则跳。
jl 若小于则跳。
jle 若小于等于则跳。
pop 出栈。
push 压栈。
三.常见修改(机器码)
74=>75 74=>90 74=>EB
75=>74 75=>90 75=>EB
jnz->nop
75->90(相应的机器码修改)
jnz ->jmp
75 ->EB(相应的机器码修改)
jnz ->jz
75->74 (正常) 0F 85 ->0F 84(特殊情况下,有时,相应的机器码修改)
四.两种不同情况的不同修改方法
1.修改为Jmp
je(jne,jz,jnz) =>jmp相应的机器码EB(出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息:
xxxxxxxxxxxx 出错信息,例如:注册码不对,sorry,未注册版不
能...,“Function Not Avaible in Demo” 或 “Command Not Avaible” 或 “Can't save in
Shareware/Demo”等 (我们希望把它跳过,不让它出现)
...
...
xxxxxxxxxxxx 正确路线所在
2.修改为Nop
je(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转) nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处:
xxxxxxxxxxxx 正确信息,例如:注册成功,谢谢您的支持等(我们希望它不被跳
过,让它出现,程序一定要顺利来到这里)
...
...
xxxxxxxxxxxx 出错信息(我们希望不要跳到这里,不让它出现)它们在存贮器和寄存器、寄存器和输入
输出端口之间传送数据。
1. 通用数据传送指令
MOV 传送字或字节。
MOVSX 先符号扩展,再传送。
MOVZX 先零扩展,再传送。
PUSH 把字压入堆栈。
POP 把字弹出堆栈。
PUSHA 把AX、CX、DX、BX、SP、BP、SI、DI依次压入堆栈。
POPA 把DI、SI、BP、SP、BX、DX、CX、AX依次弹出堆栈。
PUSHAD 把EAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI依次压入堆栈。
POPAD 把EDI、ESI、EBP、ESP、EBX、EDX、ECX、EAX依次弹出堆栈。
BSWAP 交换32位寄存器里字节的顺序。
XCHG 交换字或字节( 至少有一个操作数为寄存器、段寄存器不可作为操作数)。
CMPXCHG 比较并交换操作数(第二个操作数必须为累加器AL/AX/EAX)。
XADD 先交换再累加(结果在第一个操作数里)。
XLAT 字节查表转换。
── BX 指向一张 256 字节的表的起点,AL为表的索引值(0-255,即0-FFH); 返回AL为查表结果。([BX+AL]->AL)
2. 输入输出端口传送指令
IN I/O端口输入。(语法:IN 累加器, {端口号│DX})
OUT I/O端口输出。(语法:OUT {端口号│DX},累加器)
输入输出端口由立即方式指定时,其范围是0-255; 由寄存器DX指定时,其范围是0-65535。
3. 目的地址传送指令
LEA 装入有效地址。
例: LEA DX,string;把偏移地址存到DX。
LDS 传送目标指针,把指针内容装入DS。
例: LDS SI,string;把段地址:偏移地址存到DS:SI。
LES 传送目标指针,把指针内容装入ES。
例: LES DI,string;把段地址:偏移地址存到ESI。
LFS 传送目标指针,把指针内容装入FS。
例: LFS DI,string;把段地址:偏移地址存到FSI。
LGS 传送目标指针,把指针内容装入GS。
例: LGS DI,string;把段地址:偏移地址存到GSI。
LSS 传送目标指针,把指针内容装入SS。
例: LSS DI,string;把段地址:偏移地址存到SSI。
4. 标志传送指令
LAHF 标志寄存器传送,把标志装入AH。
SAHF 标志寄存器传送,把AH内容装入标志寄存器。
PUSHF 标志入栈。
POPF 标志出栈。
PUSHD 32位标志入栈。
POPD 32位标志出栈。
二、算术运算指令
ADD 加法。
ADC 带进位加法。
INC 加 1。
AAA 加法的ASCII码调整。
DAA 加法的十进制调整。
SUB 减法。
SBB 带借位减法。
DEC 减 1。
NEC 求反(以0减之),
CMP 比较。(两操作数作减法,仅修改标志位,不回送结果)。
AAS 减法的ASCII码调整。
DAS 减法的十进制调整。
MUL 无符号乘法。
IMUL 整数乘法。
以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),
AAM 乘法的ASCII码调整。
DIV 无符号除法。
IDIV 整数除法。
以上两条,结果回送:
商回送AL,余数回送AH,(字节运算);
或 商回送AX,余数回送DX,(字运算)。
AAD 除法的ASCII码调整。
CBW 字节转换为字。(把AL中字节的符号扩展到AH中去)
CWD 字转换为双字。(把AX中的字的符号扩展到DX中去)
CWDE 字转换为双字。(把AX中的字符号扩展到EAX中去)
CDQ 双字扩展。(把EAX中的字的符号扩展到EDX中去)
三、逻辑运算指令
AND 与运算。
OR 或运算。
XOR 异或运算。
NOT 取反。
TEST 测试。(两操作数作与运算,仅修改标志位,不回送结果)。
SHL 逻辑左移。
SAL 算术左移。(=SHL)
SHR 逻辑右移。
SAR 算术右移。(=SHR)
ROL 循环左移。
ROR 循环右移。
RCL 通过进位的循环左移。
RCR 通过进位的循环右移。
以上八种移位指令,其移位次数可达255次。
移位一次时,可直接用操作码。如 SHL AX,1。
移位>1次时,则由寄存器CL给出移位次数。
如 MOV CL,04
SHL AX,CL
四、串指令
DS:SI 源串段寄存器:源串变址。
ESI 目标串段寄存器:目标串变址。
CX 重复次数计数器。
AL/AX 扫描值。
D标志 0表示重复操作中SI和DI应自动增量; 1表示应自动减量。
Z标志 用来控制扫描或比较操作的结束。
MOVS 串传送。
(MOVSB 传送字符. MOVSW 传送字. MOVSD 传送双字.)
CMPS 串比较。
(CMPSB 比较字符. CMPSW 比较字.)
SCAS 串扫描。
把AL或AX的内容与目标串作比较,比较结果反映在标志位。
LODS 装入串。
把源串中的元素(字或字节)逐一装入AL或AX中。
(LODSB 传送字符. LODSW 传送字. LODSD 传送双字.)
STOS 保存串。
是LODS的逆过程。
REP 当CX/ECX0时重复。
REPE/REPZ 当ZF=1或比较结果相等,且CX/ECX0时重复。
REPNE/REPNZ 当ZF=0或比较结果不相等,且CX/ECX0时重复。
REPC 当CF=1且CX/ECX0时重复。
REPNC 当CF=0且CX/ECX0时重复。
五、程序转移指令
1>无条件转移指令 (长转移)
JMP 无条件转移指令
CALL 过程调用
RET/RETF过程返回。
2>条件转移指令 (短转移,-128到+127的距离内)
(当且仅当(SF XOR OF)=1时,OP1JA/JNBE 不小于或不等于时转移。
JAE/JNB 大于或等于转移。
JB/JNAE 小于转移。
JBE/JNA 小于或等于转移。
以上四条,测试无符号整数运算的结果(标志C和Z)。
JG/JNLE 大于转移。
JGE/JNL 大于或等于转移。
JL/JNGE 小于转移。
JLE/JNG 小于或等于转移。
以上四条,测试带符号整数运算的结果(标志S,O和Z)。
JE/JZ 等于转移。
JNE/JNZ 不等于时转移。
JC 有进位时转移。
JNC 无进位时转移。
JNO 不溢出时转移。
JNP/JPO 奇偶性为奇数时转移。
JNS 符号位为“0”时转移。
JO 溢出转移。
JP/JPE 奇偶性为偶数时转移。
JS 符号位为“1”时转移。
3>循环控制指令(短转移)
LOOP CX不为零时循环。
LOOPE/LOOPZ CX不为零且标志Z=1时循环。
LOOPNE/LOOPNZ CX不为零且标志Z=0时循环。
JCXZ CX为零时转移。
JECXZ ECX为零时转移。
4>中断指令
INT 中断指令
INTO 溢出中断
IRET 中断返回
5>处理器控制指令
HLT 处理器暂停, 直到出现中断或复位信号才继续。
WAIT 当芯片引线TEST为高电平时使CPU进入等待状态。
ESC 转换到外处理器。
LOCK 封锁总线。
NOP 空操作。
STC 置进位标志位。
CLC 清进位标志位。
CMC 进位标志取反。
STD 置方向标志位。
CLD 清方向标志位。
STI 置中断允许位。
CLI 清中断允许位。
六、伪指令
DW 定义字(2字节)。
PROC 定义过程。
ENDP 过程结束。
SEGMENT 定义段。
ASSUME 建立段寄存器寻址。
ENDS 段结束。
END 程序结束。
篇3: 教程之灰鸽子VIP2006终极免杀技术
这次给大家做一个过各种杀毒软件的免杀教程,
教程之灰鸽子VIP2006终极免杀技术
。这次教程主要以灰鸽子VIP2006服务端为例!现在网上很多免杀教程,我也看过很多,但是免杀效果都不是很好,用不几天就被杀了,所以真正免杀的鸽子,还是修改杀毒软件的特征码。这样免杀效果才更好,能达到长期免杀。今天这节课主要给大家讲过卡巴内存免杀和外表免杀,达到总体免杀,只要你学会了这种方法,以后自己做属于自己的DIY免杀鸽子就可以啦!好了废话不多说了,大家就好好看我操作吧!这是我已经生成好的VIP2006服务端,下面我们开始把服务端的需要做免杀的DLL
导出来!
这就是鸽子VIP2006服务端程序.exe→MAINDLL.dll→GETKEY.dll 大家看到了吧,2006少了一个hook.dll文件。以前VIP2005里有HOOK。DLL文件,现在2006里没有拉!这样做免杀就方便了一些!我们先把卡巴病毒库升级到最新的,然后在用卡巴查一下我们需要做免杀的这3个文件。看到了吧,都被列为黑名单了。
介绍一下卡巴的威力吧,卡巴我个人感觉是现在杀毒软件最牛的啦。呵呵不做广告啦。
我们先做GETKEY。DLL也就是键盘记录钩子。下面看我操作吧,先来一次大定位,第一次先定位5秒1000字节吧,只要是被报毒的,我们就选择。然后进行第2次定位,5秒32字节,看好我的操作哦,别忘了删掉上次定位的。好保存结果,然后再来一次详细的8字节定位,这样能提高免杀效率。OK定位搞顶啦,然后我们去用C32工具来修改特征码可以用大小写修改法,也可以用跳转法,具体用什么,我们先去看看吧。看到了吧,有字母,那我们就用UE来该大小写字母吧,我们来杀下毒吧,文件不报毒了,看看内存呢,用OLB载入内存。被杀了,说明定位的还是不够准,那咱在来一次详细准确的4字节定位,呵呵,看来还有个来,继续。
OK最后一次详细定位结果出来啦,我们去保存一下。我们来分析一下结果吧,第一个大小60吧,下面的都一样吧,那我们就来选择第一个,去修改特征码,用跳转法,看我操作吧,用C32工具,找到0000B1CA大概就是这里拉,大家如果不懂16进制的话,可以找UE看哦,继续,我们把这段NOP掉,然后去下面找到程序空隙,也就是0000区吧:
0000B1CB: 68 E4BE4000 PUSH 40BEE4
0000B1D0: E8 A7FBFFFF CALL 0000AD7C
--------------------------------------------------0000B1D5
新入口点 JMP 0000B916 也就是返回上面的意思吧 呵呵 不好意思这里因该JMP 0000B1D5 OK保存一下,我们来查下毒吧,文件不报警拉,我们内存查杀,因该找到我们刚刚保存的那个DLL,OK内存已经免杀了,我们现在看看导回服务端能不能上线。
把备份的删掉就可以了啦,现在我们传到空间上去,然后用虚拟即运行,我们改成keymiansha.exe传到空间吧,打开虚拟主机,上传完毕啦,等一下哦,虚拟机启动慢你可以快进一下观看。打开鸽子VIP2006等待上线,刚刚上线的这些不是哦,我专门的分组拉,等一等哦,先喝杯咖啡吧,呵呵。
好拉,我们进去下载刚刚上传的KEY免杀服务端吧。因为上次做实验吧,还忘了卸载看好拉,我把他卸掉。OK,哈哈上线拉,我们看看功能吧。功能都可以,好啦,我们卸掉它吧。
KEYDLL免杀到次结束,下面将MAINDLL.DLL免杀!
现在我们该给MAINDLL.DLL做免杀了,我们先来给他做文件免杀,如果文件免杀完成,我们再载入OLB内存中,用卡巴查杀,如果能不被杀,那说明卡巴的文件病毒特征码就和文件一样大,好我们还是来定位MAINDLL,
DLL吧。先来一次大定位,下面看我操作吧,不打字拉,看我调CCL哦,第一次文件定位 ,我们以生成500替换1000字节。因为MAINDLL.DLL文件600多K吧,为了节省时间,我们就定位大一点,好拉定位完成,我们来杀毒。大家可以快进一下,因为杀毒有点慢,继续第2论定位,再来一次8字节定位。刚才的32字节还没杀毒呢,继续杀毒,好结果终于出来拉,我们用C32来搞跳转法。找这个000852D0,呵呵不好意思哈打错拉,因该打开这个哦,找到啦,我们去下面找空隙:
000852CE: 8B55 F8 MOV EDX, [DWORD SS:EBP-8]
000852D1: 8B45 FC MOV EAX, [DWORD SS:EBP-4]
000852D4: E8 03FBFFFF CALL 00084DDC
-------------------------------------------------------JMP 000852D9
新入口点 00085C10 跳转法完毕,我们保存一下,查毒,文件查杀已经过拉,我们来内存查杀。哈哈内存也过拉,现在我们要导回服务端,,,看看能不能上线。还是传到我地空间,然后上虚拟主机试验。呵呵捎等一下,有时候就这样,OK上来拉,速度有点慢哦,耐心等一下吧,虚拟主机慢啊,,,大家可以快进一下哦。下面做的就是测试能不能上线拉,把鸽子VIP2006打开,等待上线。消失了,看看能上线吧?OK可以上线,到此结束,下面讲服务端免杀。
上面已经完成服务端内核了,这里主要给大家做服务端的免杀!OK。废话少说,我们来做服务端免杀。先把上节课做的免杀的MAINDLL.DLL导入没有做免杀的服务端里,大家看我来演示。我们先来一次大提定位吧,更新下病毒库,再准确的来一次定位,看到了吧,还有2组,我们再来一次8字节定位,我们来修改0000BBB5这段中的8个字节。有RETN的地方我们就不修改,把复制的这段NOP掉,然后去下面找程序空隙,OK汇编完成,保存一下。
0000BBB8: 57 PUSH EDI
0000BBB9: 696E 5F 39780000 IMUL EBP,[ESI+5F],7839
0000BBC0: 53 PUSH EBX
0000BBC1: 6F OUTS DX,DWORD PTR ES:[EDI]
--------------------------------------------------0000BBC2
新如口点0000C1DE
用卡巴查杀一下,看看,呵呵看到了吧,不报毒了,我们再内存查杀一下,看看,有点卡,耐心等待一下哦。看到了吧,内存也不报毒了,下面我们到虚拟主机上测试一下看看能不能上线,先把做好的免杀服务端传到我的空间上去。去虚拟主机,启动有点慢。
去打开鸽子VIP2006等待上线哦,看看好了吧,消失了吧,看看虚拟主机的名字,DATOU,我们去看看鸽子上线了吧?OK。可以啦,现在可以在卡巴的眼皮下运行了,本教程到此结束,关于卡巴的终极免杀技术就到此吧,希望大家能学会。本文章只为学习,请勿做违法的事哦。
篇4:从杀毒软件的机制展望未来免杀技术
gs1982k
现在主流的免杀技术基本上都是基于花指令、保护壳、修改特征码来实现木马免杀的,首先有必要简单回顾一下免杀技术的发展史。
关于现今主流的免杀技术(国内),大概可以追溯到,这时候免杀技术只掌握在少数人手中,并没有公开化,记得没错的话,他应该是和灰鸽子配套使用的。当时国内的主流杀软主要有 瑞星,金山,江民,诺顿。(呵呵,到了卡巴才慢慢登场),当时的杀软远没有现在强大,基本连实时监控都不具备,基本查杀病毒全靠特征码来定位,甚至连符合特征码都没有。当然,那时候木马基本少的可怜,说的上名的 也就是 广外女生 冰河之类,呵呵 这时候有灰鸽子的人还是非常少的,这时候灰鸽子基本中了就得重做系统,因为这时候的杀软还解决不了进程注入,HOOL API这样的木马,要不怎么说鸽子是远控的里程碑呢。
到了底 05年初 随着杀软的进步,鸽子已经可以被杀软KILL了,修改特征码和加花指令 保护壳的技术开始逐渐在一些大牛中流传,这时候一些辅助工具也出现了 比较有代表的是 BoLer 以及 CCL,这2款软件基本只能定位单一特征码,即使这样,加了花指令和修改了特征码的鸽子也所向无敌了。随后修改特征码的技术也开始以收费的形式开始在次一级的 圈内传播。这时候 比较有名的是 动画吧的浩天出的 免杀教程系列,现在基本所有的教程都是以他的教程为蓝本。传播范围最广,也是最经典的。 同年 卡巴开始逐渐进入到中国的时常,当时是KAV5 不知道还有人有印象没,在05年底的时候 KAV6开始比较普及了,于其他杀毒软件相比,KAV6多了实时监控,以及通过复合特征玛来查杀木马。然后,我们现在经常使用到的如MYCCL,MULTI_CCL,TK.LOADER开始在 群中流行,可以说 通过这几款软件以及花指令 加壳技术,杀软几乎是束手无策的。同时,鸽子也逐渐由少数人拥有,扩散到绝大多数人拥有,比较经典的版本就是 “黑防鸽子”,基本现在所有的鸽子都是从“黑防鸽子”转换而来。
从某种意义上来说 06-,是鸽子最辉煌的2年,但是随着杀软的进步,实时监控技术的不断进步,鸽子的发展空间越来越小,从05年使用鸽子可以轻易感染上万台机器,同时很难被清除。到07年 感染机器很难过千,同时存活时间短也成了最大的问题,当时主要还是流行用各自进行流氓软件的安装,游戏 ,以及DDOS之类。呵呵,那时候下载者才刚刚出来,也只在少数人中流动。这时候,鸽子的缺点也越发明显 第一 体积过大(不加壳的400多K),第二 插入进程的方式已经成为杀软的头号拦截对象 第三 特征码太多。在很短的时间里,鸽子迅速被PCSHARE淘汰掉,PCSHARE的驱动隐藏,端口复用,体积小,一下子成为07-08的主流远控。
从07年开始出现主动防御,到现在,随着主动防御技术以及病毒库的快速更新(从05年的7天一更新到现在的2小时一更新)市面上主流远控的活动空间也在急剧收缩。第一 传统的免杀方式很难过主动防御了,随着主动防御技术的不断完善 第二 免杀的木马存活周期过短。
拿现在主流使用的鸽子和PC来说,基本上流传的就是固定的几个版本,也就是说,大家手中远控的蓝本基本都差不多,
这就存在这样一个问题:对于同一个木马A来说,其原始特征玛假设只有2处,虽然10个人,每个人的修改方式不尽相同,但是 对于一款木马来说 这点修改可能只占到总代码的%0.01,换句话说,其余的%99.99都是相同的,当其中一个人的木马被杀软中心截获到并重新定位特征码后,很有可能这个重定位的特征码这10个人免杀过的小马都有,这样只要病毒库一升级,基本会导致大部分被KILL,对于家鸡来说,掉了无所谓,但是对于一些重要的服务器来说,这足以致命。
现在再来谈一下主动防御,主动防御如果笼统的来理解的话,可以简单定义为 通过程序的行为来判定是否为病毒,从而进行拦截。比如说 木马常常会用到 HOOK SSDT,线程注入,替换服务,模块注入。一般的软件很难用到以上的这些技术,如果使用以上技术,那么势必会调用相应的API函数,这样杀软只需要对调用的API和执行过程进行匹配,很容易发现木马。尤其是对一些已知的木马,比如灰鸽子,PCSHARE,由于大面积的使用和发布,其释放文件的步骤,调用的API太容易被监控到了。无论怎么改特征码,这些行为特征想要改变基本不太可能。
所以说,现在的免杀技术被杀软淘汰掉只是时间问题,尤其是在一些常用的,很容易下载到的马身上更能体现出来。当然,这世界没有无敌的技术,主动防御也并非牢不可破。从现在木马的发展来看,以后免杀大概会围绕以下4个方向展开。
第一 使用为公布的RING0级的API编写木马,由于IDA逐渐开始普及,越来越多RING0级的API被公布出来,比如ZW系列的,同时这条路会走的更远,毫无疑问 使用未公布的API编写木马的核心代码,是绝对过主动防御的。
第二 基于原码的免杀,随着木马的发展,木马功能的模块化也是发展趋势之一,基与同一功能有不同的实现方式,比如文件传输可以通过 SOCKET 或者 FTP 或者HTTP来实现,对于原码的功能模块替换也会成为未来主流免杀的方式之一。
第三 破坏杀软的监控 对于一个过表面的流行马想过杀软的主动防御来说,破坏杀软的监控是个不错的选择,WINDOWS本身就是个很不安全的操作系统,在获取杀软的有效句柄后,最少有几十种方式使的杀软非正常退出,从而达到强穿主动防御的目的。
第四 X-CODE的寄生技术 这项技术在国内应用的最少,这里还是提一下,X-CODE主要是指将代码插入到PE文件中的技术,这里我要说的是,这于传统的感染PE文件的方式不同,一般来说,国内都喜欢给PE文件增加一个区段,把代码插入到区段中去,现在这样很难避开杀毒软件的查杀。举例来说明一下
拿一个典型的PE文件头来说 一般他会占用300h字节的空间,其最小对齐段是200h字节,这样就会留下一个很小的空闲空间,这段空间就可以用来插入我们的代码,对于一个PE文件来说,其空白空间是很多的,多但是不连续,一般还比较小。这里有2个问题要解决,第一 首先要代码根据需要分割成一段一段的 第二 要保证分割开来的代码能在PE文件中加载并执行。当满足这2个条件,你会发现,X-CODE是多么强悍的技术。
就写到这里吧,希望大家都能看懂。没涉及什么代码,呵呵。
篇5:灰鸽子免杀原理
一.关于免杀的来源
为了让我们的木马在各种杀毒软件的威胁下活的更久.
二.什么叫免杀和查杀
可分为二类:
1.文件免杀和查杀:不运行程序用杀毒软件进行对该程序的扫描,所得结果,
2.内存的免杀和查杀:判断的方法:
1.运行后,用杀毒软件的内存查杀功能.
2.用OD载入,用杀毒软件的内存查杀功能.
三.什么叫特征码
1.含意:能识别一个程序是一个病毒的一段不大于64字节的特征串.
2.为了减少误报率,一般杀毒软件会提取多段特征串,这时,我们往往改一处就可达到
免杀效果,当然有些杀毒软件要同时改几处才能免杀.(这些方法以后详细介绍)
3.下面用一个示意图来具体来了解一下特征码的具体概念
四.特征码的定位与原理
1.特征码的查找方法:文件中的特征码被我们填入的数据(比如0)替换了,那杀毒软
件就不会报警,以此确定特征码的位置
2.特征码定位器的工作原理:原文件中部分字节替换为0,然后生成新文件,再根据杀
毒软件来检测这些文件的结果判断特征码的位置
五.认识特征码定位与修改的工具
1.CCL(特征码定位器)
2.OOydbg (特征码的修改)
3.OC用于计算从文件地址到内存地址的小工具.
4.UltaEdit-32(十六进制编辑器,用于特征码的手工准确定位或修改)
六.特征码修改方法
特征码修改包括文件特征码修改和内存特征码修改,因为这二种特征码的修改方法
是通用的。所以就对目前流行的特征码修改方法作个总节。
方法一:直接修改特征码的十六进制法
1.修改方法:把特征码所对应的十六进制改成数字差1或差不多的十六进制.
2.适用范围:一定要精确定位特征码所对应的十六进制,修改后一定要测试一下能
否正常使用.
方法二:修改字符串大小写法
1.修改方法:把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了.
2.适用范围:特征码所对应的内容必需是字符串,否则不能成功.
方法三:等价替换法
1.修改方法:把特征码所对应的汇编指令命令中替换成功能类拟的指令.
2.适用范围:特征码中必需有可以替换的汇编指令.比如JN,JNE 换成JMP等.
如果和我一样对汇编不懂的可以去查查8080汇编手册.
方法四:指令顺序调换法
1.修改方法:把具有特征码的代码顺序互换一下.
2.适用范围:具有一定的局限性,代码互换后要不能影响程序的正常执行
方法五:通用跳转法
1.修改方法:把特征码移到零区域(指代码的空隙处),然后一个JMP又跳回来执行.
2.适用范围:没有什么条件,是通用的改法,强烈建议大家要掌握这种改法.
七.木马免杀的综合修改方法
文件免杀方法:
1.加冷门壳
2.加花指令
3.改程序入口点
4.改木马文件特征码的5种常用方法
5.还有其它的几种免杀修改技巧
内存免杀方法:
修改内存特征码:
方法1>直接修改特征码的十六进制法
方法2>修改字符串大小写法
方法3>等价替换法
方法4>指令顺序调换法
方法5>通用跳转法
木马的免杀[学用CLL定位文件和内存特怔码]
1.首先我们来看下什么叫文件特征码.
一般我们可以这样认为,一个木马程序在不运行的情况下,用杀毒软件查杀,若报警为病毒,说明存在该查毒软件的文件特征码的,
2.特征码的二种定位方法.
手动定位和自动定位
3.文件特征码的定位技巧.
通常用手动确定大范围,用自动精确定位小范围.
下面分别用瑞星和卡巴为例,实例演示并结合手动定位和自动定位二种方法来准确定位文件特征码。要定位的对像以下载者为例。
用卡巴来定位文件特征码
⑴.手动定位:
1.打开CLL
2.选择设置中的 总体参数 ,,,,,选中文件特征码手动定位,,,,以及路径
3选中设置中的 手动参数,,,,,选择替换方式 选中,,,总共生成规定个数的文件,,,生成个数为1000
4选择文件中的 特征码检测,,文件特征码检测,,,打开程序(要定位特证码的程序)
5在弹出的PE窗口中 直接点确定 ,之后弹出的窗口在点确定
6然后等CLL生成完毕之后用杀毒软件进行查杀
7在CLL中选 操作,结果定位,选中刚刚用来存放检测结果的文件夹
8在CLL中选
文件免杀之加花指令法
一.花指令相关知识:
其实是一段垃圾代码,和一些乱跳转,但并不影响程序的正常运行。加了花指令后,使一些杀毒软件无法正确识别木马程序,从而达到免杀的效果。
二.加花指令使木马免杀制作过程详解:
第一步:配置一个不加壳的木马程序。
第二步:用OD载入这个木马程序,同时记下入口点的内存地址。
第三步:向下拉滚动条,找到零区域(也就是可以插入代码的都是0的空白地方)。并记下零区域的起始内存地址。
第四步:从这个零区域的起始地址开始一句一句的写入我们准备好的花指令代码。
第五步:花指令写完后,在花指令的结束位置加一句:JMP 刚才OD载入时的入口点内存地址。
第六步:保存修改结果后,最后用PEditor这款工具打开这个改过后的木马程序。在入口点处把原来的入口地址改成刚才记下的零区域的起始内存地址,并按应用更改。使更改生效。
三.加花指令免杀技术总节:
1.优点:通用性非常不错,一般一个木马程序加入花指令后,就可以躲大部分的杀毒软件,不像改特征码,只能躲过某一种杀毒软件。
2.缺点:这种方法还是不能过具有内存查杀的杀毒软件,比如瑞星内存查杀等。
3.以后将加花指令与改入口点,加壳,改特征码这几种方法结合起来混合使用效果将非常不错。
四.加花指令免杀要点:
由于 网站公布的花指令过不了一段时间就会被杀软辨认出来,所以需要你自己去搜集一些不常用的花指令,另外目前还有几款软件可以自动帮你加花,方便一些不熟悉的朋友,例如花指令添加器等。
[1] [2] [3] 下一页
★ 狼人杀流程
★ 杀牛作文
★ 免考申请范文
★ 免测申请书范文
★ 曹操杀华佗歇后语
常用的各种免杀技术(通用5篇)




