热门关键字:   网站安全  黑客攻防  安全漏洞  系统安全  网络安全
站外
广告
域名申请虚拟主机 信息安全 域名注册 云主机 网络安全技术 企业网络安全 站外
广告
文字广告位招租 文字广告位招租 文字广告位招租 文字广告位招租 云安全

Window下基于C/C++源码免杀理论及思路

发布时间:2011-05-27 09:56文章来源:BHST文章作者:LengF 点击次数:
摘要:0x00 概述 最近搞一个国外的网站,对方是用的赛门铁克的诺顿杀毒软件,而内网又只对外开放了80端口,于是就想着传个端口转发或者端口复用的工具上去,可是一上传就 没了。既然已经提权了,又不想轻易放弃这台服务器。于是就想着怎么办了。自己对非源码的免杀...

0x00 概述
    最近搞一个国外的网站,对方是用的赛门铁克的诺顿杀毒软件,而内网又只对外开放了80端口,于是就想着传个端口转发或者端口复用的工具上去,可是一上传就 没了。既然已经提权了,又不想轻易放弃这台服务器。于是就想着怎么办了。自己对非源码的免杀不熟悉,于是就想到自己手头有类似于LCX的工具c源码。对 此,翻了以前学习源码免杀的笔记进行了一些总结。很少看到有朋友总结这方面的资料,我就以自己的一些经验总结一些关于源码免杀的一些技巧和方法,在文中我 会以一些简单的例子来表达我的思路。为此,我分享我的经验的同时,也希望大家分享自己的免杀思路,毕竟一个人的力量有限,文章中难免有些错误,还望指出。 [separator]


0x01 基于源码免杀原理
在学习源码免杀原理你要了解下PE结构,懂得如何去分析一个PE的各个部分。我们在源码免杀过程中可能涉及到下面一些情况:
[1]文件头的免杀(这种情况比较少,国外杀软杀的比较比较多);
[2]代码区的免杀(最常见);
[3]字符串的免杀(也很常见);
[4]输入表和输出表的免杀;
[5]版权信息的免杀;
[6]等待你的补充……
在测试免杀的过程中我们经常会用到一些工具,比如:
MyCCL…………..用于定位特征码,应用各种类型特征码定位
C32ASM…………16进制查看和字符串查找,字符串免杀和
Ollydbg…………..反汇编动态调试工具,代码区的免杀
LoadPE…………..查看PE结构信息,段区地址/输入表地址/输出表地址等查询
做好了工具准备,我们以一个测试的VC6.0编译出来为例来描述PE的各种结构,先给出代码:

  1. #include "stdio.h"
  2. void PrintMsg()
  3. {
  4. printf("Hello!LengF.\n");
  5. }
  6. int main()
  7. {
  8. PrintMsg();
  9. getchar();
  10. return 0;
  11. }
复制代码

 

我们以Release编译输出,我们先用LoadPE打开看看,如图01:


01.JPG

查看下入口点地址,还有子系统类型,另外就是区段表地址和输入表地址信息,对于下面分析有帮助。在用C32ASM打开这个程序,我分离各个我们在本文要涉及的区域,如图02:


02.JPG

这是对于PE结构的信息一些基本信息,我们往往并不需要准确定位各个区段的起始地址。我们在通过ollydbg查看下,了解下VC6.0程序的一些特点,如图03:


03.JPG

了解完这些我们就可以开始对基于C/C++的源代码进行免杀了。下面将根据不同部分提出自己的一些思路和经验。

标签分类:

上一篇:详细讲述木马免杀技术
下一篇:自定义加密算法打造不死网马