远控软件gh0st源码免杀 |
远控软件gh0st3.6开源了,开源意味着我们可以在此基础上进行二次开发,同时也意味着杀软可以较容易的查杀该款远控木马,既然要利用,我们就做好源码基础上的木马免杀工作。
好久没有来博客了,我把免杀这部分整理了一下,先抛一砖头,有兴趣的朋友可以接着做,也可以和本人交流。 序 一、环境配置 二、特征码定位简述 三、二进制文件与源码定位之map文件利用 病毒名称 特征码位置 内存地址 第一步设置VC编译环境生成Map文件。 第二步编译VC工程,设置活动工程编译即可,这个不用说明。这个步骤完成后,在release(或debug)目录,多了一个.map文件(比如svchost.map)。 (begin) Preferred load address is 10000000 —————————————————————————-2—(为方便说明,wrw添加) 0001:00000000 0CAudio@@QAE@XZ 10001000 f Audio.obj …… Line numbers for ./Release/FileManager.obj(E:/vtmp/gh0st3src/Server/svchost/common/FileManager.cpp) segment .text 17 0001:00002630 20 0001:0000267f 21 0001:00002698 24 0001:000026d0 (end) 我们看下,定位svchost.dll 的第一个特征码内存地址为:100044AA,在第2块中,我们可以找到RVA+BASE与之很接近的是 0001:00003440 ixedUploadList@CFileManager@@AAE_NPBD@Z 10004440 f FileManager.obj 这样我们可以定位到FileManager.cpp中的FixedUploadList函数,是不是范围缩小了 四、实战免杀 B、Avast免杀 五、添加垃圾代码的小方法 六、gh0st自动生成6to4ex.dll的修改 gh0st服务端是通svchost -netsvcs启动的,所以程序要利用netsvcs 服务,服务端也就是根据netsvcs生成的,故不能说服务端生成是随机的,相对于大多数系统来讲,基本是固定的,下面看分析。 查看install.cpp里面的InstallService()方法,首先遍历HKEY_LOCAL_MACHINE/SOFTWARE/ Microsoft/Windows NT/CurrentVersion/Svchost中的服务项,查找到一个服务后,程序采取替换服务的方法,将原服务删除,然后生成对应服务项+ ex.dll的文件替换原服务,6to4服务一般排在第一位,6to4服务是一种自动构造隧道的方式,作用在于只需要一个全球惟一的IPv4地址便可使得整个站点获得IPv6 的连接,这个服务对一般人来讲,基本闲置,所以我们的程序就把6to4服务给替换掉,同时在windows/system32/目录下生成 6to4ex.dll,以后启动就是6to4ex了,如果把这个服务跳过去,就依次向下生成Ias、Iprip等服务啦,如果netsvcs项没有可以替换的服务,则程序将自己添加1个服务,名称就是由 AddsvchostService()方法产生的netsvcs_0x%d。 这样说不知道关心服务名称的明白了不 这个不能说是技术问题,但是小技巧问题可以从这里产生,我不知道其他人的360是怎么过的,但是我觉得可以提示1下的是,如果是360默认系统安全的服务,它肯定不会 不安全,替换闲置的系统安全的服务则通过360的效果要好的多 |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!