信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
文章作者:qszzsq(森哥)
************************************************************************************************************************
* 写在前面的话
* 几天前,曾经把一部分想法发表在 暗组论坛了
* 有幸应冰血之约,来这里好好畅谈一下下一代木马的问题
* 文中提到诸多思路,比较邪恶,大家若写出什么恶意的新代码并进行恶意行为,与我无关
* 让我们共同的智慧,一起引领下一代木马的发展
************************************************************************************************************************
98年的时候,第一次看BO2K代码的时候,体会到远程控制技术将是整个信息安全领域的一个重要支撑技术。再看十几年来,木马的设计、免杀、功能、查杀、拦截、反制等等技术不断推出又不断演进,伴随着漏洞挖掘和利用,木马脱胎于病毒又不同于病毒。历史的车轮是滚来滚去的,说实话,十年来木马设计本身没有大的突破,无非是各种ROOTKIT加入而已,只要拿到木马完整样本,(即使无源码),反木马技术找木马的命门---SO EASY。所谓你消我长,魔道有异。木马要走出新路,必须在设计理念上有新想法。
在下抛个破砖,以我十几年来的体会和积累,说说我自己对下一代木马的设计理念。大家一起交流。其实,设计一个下一代木马,也是为安全提供了新的靶子和研究对象,要不然是不是很无聊:)
言归正传,就此问题,我想讲3-5个方面的考虑。
一、密码的问题: 我认为:密码,特别是公钥密码,将铸成下一代木马的通信基石。
As we all 知道,早期木马是没有加密的,特别是通信过程都是明文传输。其实,现阶段不少木马也是明文传输的,我做过简单的统计,现在1/3的木马是明文通信,1/3是简单线性加密,1/3是分组密码加密。
通信是明文,是非常恐怖的,也是非常不安全的。试想,只要在C段内一个交换机下,该木马所有的通信数据一览无余,通过简单的分析即可澄清木马的协议,这样很方便的进行监控、监管,甚至反制(方法很多,可以进行中间人欺骗,也可以直接劫持等,有机会专门再讲),最起码,能够轻松的还原木马的所有行文、上传、下载等。恐怖吗?
简单的线性加密有很多,最常见的是各种XOR、XOR+FOR循环,也有才用一些替换+置换的早期密码,如凯撒密码等等。这种东西,二战的时候厉害,现在SO EASY,用简单的字符表统计,即可破解。这种简单的线性加密,实现起来简单,代码量很小,貌似加了一道屏障。但是,密码强度太低,破译太简单。
分组密码,采用的越来越多,现在用的多的是DES、AES、TWOFISH、IDEA等,PI使用的CAMELA,这些分组加密算法有一定的加密强度,密钥从64到256BITE不等。
用分组密码就好了吗???
我认为不是。第一,木马基本上密码是锁死在程序里面的。一个控制端下的所有植入端,都用一样的,当然有些木马做到了不同的植入端采用不同的密钥。但是密码锁死在程序中是肯定的,这样的话,通过逆向,OD足够。密码就无处遁形,于是中间人欺骗的干活。。。。
第二,密码锁死以后,不能替换,不能更替,没有认证机制。于是谁都可以伪造密码,甚至伪造主控端。这样,你辛辛苦苦的木马资源就成了别的东西了。
因此,我断言:下一代木马必须考虑让公钥木马加入其中。也就是说,下一代木马本身将是一个自主体系的安全系统,有CA来进行密钥管理和分发,大家都在一个大的公钥体系之内(如4096位的RSA体系),每一个植入端都有自己的私钥。这样所有的数据都可以进行认证,并且不可抵赖。即使得到了一个被控端,也无法破解整个木马系统。
呵呵,很像银行系统(只是没有U盾)。没错,下一代木马系统本身就应该是这样自主体系的。并且,应加入群签名机制,设立多层体系的管理机制,一次一密的协商通信密钥。
这样我想还可以实现,多对多的控制。也就是说,在运行的情况下,用同一个木马系统,多个用户可以同时控制所有的木马资源。当然,控制的过程要有权限的设定,对不同的控制者来说是不一样的。
谈了密码的问题,也就是说木马通信加密的问题,下一代远控应该采用公钥+私钥的体系结构。
二、木马特征的隐藏,将进入全新的时代
第二方面,谈谈下一代木马的特征问题。
所谓特征,分静态特征和动态特征两种。下一代木马应具备颇高的特征异变机制,静非纯静,动非纯动,静动视变,互相联系。
木马静态特征,也就是木马本体在非执行态的特征,主要是木马存储的特征,更直白的说,就是木马在计算机中所有存贮信息(包括木马文件本身)的特征的总和。从木马启动来看,包括注册表、服务项、替换的系统文件、修改的系统SYS等。从木马文件来看,包括木马文件的静态隐藏、文件的自动变形等等。
这些年来,木马静态特征的隐藏方面教十年前还是有进步的,这里我想谈几个新的想法:
(1)木马文件体从磁盘体走向芯片内部,木马不依赖注册表、服务项等方式启动。
(2)木马静态体本身是一个多变的壳,拥有对抗沙盒的能力,木马功能实体在静态时不在本机存贮,需要什么功能就从远程有信任的下载何种功能代码。
first,操作系统中可以存贮的地方很多,直观的印象是以文件的形成存在于磁盘中。其实,基于FILE/DISK的ROOTKIT很容易实现驱动层的隐藏。实现的思路有几类:一类是HOOK系统FILE处理函数,过滤掉自己的木马文件,使之“隐藏”。另一类是直接在DISK上创建一个隐蔽的分区,当然这个分区可以是基于标准格式的(如FAT32、NTFS)等,在隐蔽分区中写入木马程序;还可以自定义个分区,且分区的文件格式也是自定义的,这种可以更好的隐蔽,但是需要自己写程序协调DISK镜像和FILE的各类关系,编程方面需要较强的技巧。
下一代木马,一方面应该在磁盘体内进行好的隐蔽,另一方面要走向芯片。这就是所谓的芯片隐藏,或CHIPKIT。已公布实现的思路有两类,一类是隐藏于BIOS(包括主板BIOS和PCI的BIOS,如PCI显卡、声卡等),另一类是通过VT技术,让一部分HOOK代码跑在CPU的Ring-1层,然后再相应的磁盘或BIOS中写入更底层的程序。值得注意的是,埋藏在芯片中的木马,不需要担心其启动的问题,不需要注册表等简陋的其中方式,无须替换系统文件。
BIOS级别的恶意代码,在网上其实已经存在,并且被N多人研究过。其实质,是利用WIndows系统的INT13中断,在系统执行前调用刷写在BIOS中的代码,先于系统执行,然后把执行权交给Windows的loader。VT技术也开始逐步成熟,不过真正意义上给予VT的恶意代码发现极少,我想肯定有,但是范围极小。利用CPU支持的VMM指令集,可以设计小型的OS,让这个OS跑在CPU层面,所以说是Ring-1,可以调试、修改任何Windows内部的东西。 BIOS+VT,我想将成为下一步木马隐藏的顶级技术。所谓会者不难,主要是思路吧。不晓得我这个想法公布以后,会不会造成一批新型木马的诞生。。。。本人只站在技术的角度进行分析,希望大家别用在邪恶的地方。
说实话,自动变形的修改木马的静态特征码,十几年前的病毒就具备这样的功能。不过将其应用在木马中,也是近5年的事情。下一代木马,自动变形是需要的,而且更“疯狂”。一般意义上的自动变形,是木马本体维护一个加有随机数发生器的一个加密算法,按照作者的要求,每隔一段时间或其他情况下,将木马静态本体进行一次加密,因为每次的KEY不一样,所以每次本体中的静态特征都变化。
这种意义层面的自动变形,无法避免沙盒分析,只要木马执行之后,在内存中始终是完整的。
ANTI-SANBOX技术,其实是一个很好玩的东西,怎么反沙盒?关键还是思路的问题。典型的反沙盒,是增加沙盒的难度,不让木马体有效的执行,但是对于完全内存分析--则无法躲避。难度是要增加的,同时要想办法让木马体在内存中也不断的变化,这才是关键。
让木马在内存中变异,方法也有很多。提几个思路吧,别拿去邪恶。
一个典型想法是设计“分段加密解密执行,密钥在畸形的地方存储”。分段加密解密执行,就是木马在执行时,在内存中用到什么内容就解密什么内容,同时将无用的东西去除或加密,始终保持内存中只有当前在用的模块,并且这个模块是不断被加密、解密的。不同的时刻都不一样。并且,密钥特别关键,密钥若得到,就让程序陷入了沙盒分析的汪洋大海中。密钥应该存储在本地畸形的地方,比如沙盒程序无法顺利访问的地方--如自定义的disk空间、BIOS、MBR等。当然,密钥也可以存储在远处,前文提到下一代木马将是公钥体制的,那么木马本体的内容,可以按照插件或内存分段的形式,向远处申请(申请的过程是加密认证的)。这样的话,木马体在内存中始终是不完整的,并且是不断加密的。这样的木马,现有的手段无法分析,---当然用社会工程的方法除外。。。
三、木马所关系的所用资源,将会进入协作,达成一体化的联合功防
go on,谈谈木马的通信协作问题。
我们知道,早期的木马是C-S结构的,Client是控制端,Server是被控制端。Server本身开启port,等待client连接,Client需要准确的知晓被控端的IP并发起连接connet, Server于是accept连接。于是通信渠道建立。
之后的木马,普遍采用端口反弹模式。虽然也是C_S结构,但是 Client是被控端,Server是控制端。一般需要在一个公共的资源上面,表面server的IP地址,比如动态域名、网页空间、FTP空间,甚至EMAIL、BLOG、TWITTER内容等等。被控端从中,解析出Server--也就是主控端的IP,进而主动CONNET。这样,被控端即使在内网中,也能成功连接出来。
细而观之,端口反弹木马,被控端的程序体内,必须封装进去serverIP的信息,一般是动态域名等。凡事经不起推敲,在逆向分析面前,ServerIP往往一览无余,尤其是Cilent端容易被获得,通过简单的虚拟执行,即可准确获得控制端的IP信息。这样,控制者无所遁形。
所以,反查部门或人员,很容易即可准确定位木马的控制者。
大家还敢用木马吗?
有人说,可以“多跳”。是的,可以用VPN、虚拟机、跳板肉机,增加主控端被显形的难度。但是,这些,对于专业的分析者而言,形同虚设。
我认为下一代木马,将不再是C_S结构的木马。木马将广泛采用P2P协议,或者自己定义的类似于P2P协议的模式。所有的木马被控者和主控者,在安全算法的支持下,构成一个互相平等,相互依存的大型P2P网络。其中,每一个节点都可以成为控制端,也同时是可以被别人控制,是否被控制,取决于该木马网络的管理协议。这个协议应该很复杂,我觉得可以再SNMP协议基础上进行修改完善。此外,ANYCAST协议也是可以被考虑进来的,这个协议是当前DNS系统实现“不同地域多个主机,实现同一IP”的协议。下一代木马必将充分吸收此协议的精华,通过维护一个较庞大的可信的P2P网络,让IP地址变幻莫测。
四、木马的跨平台执行
还有木马跨平台的问题。
一般意义的跨平台,比如Windows各个平台之间的垮接,很EASY。基本上标准程序编译后问题不大,有ROOTKIT的部分,通过事先的GetVersionEX函数,即可得到WINDOWS的子版本,于是不同的版本区别对待就是了。
我这里说的跨平台,是指所有木马可能生存平台上的垮接。现实中,一部分网马已经实现了多种系统、多种平台下的垮接,如SPY系列的新PHP网马等。那么,实现一个能垮接“WINDOWS+*NIX+各手机系统+网络设备”的马,是完全可能的。
有两种跨平台的思路:
一种是基于源代码的,利用不同操作系统对同一类源代码的解析支持。比如,基于脚本语言的木马。这种木马容易实现,但是源代码本身难以进行隐藏,即使可以进行诸多变异和加密,但虚拟执行以后也无所遁形。
另一种是“源代码施放”。也就是说在源代码中封装N多不同针对不同系统的木马小体,先技术源代码执行起来,再判断当前系统版本和软件环境,再施放不同的木马执行小体。
说实话,木马本身的话,有执行权限即可。木马的核心,在于通信协议。只要不同的木马小体采用同样的通信协议进行编制,就OK了。
稍微总结一下。
我觉得,下一代木马系统由主控端群、被控端群和服务中心三部分组成。每一个主控端都可实现对所有被控端的安全控守,所有主控端、被控端都满足PKI体系,服务中心是PKI体系的密钥管理和安全管理中心,并且所有主控端、被控端一起构成一个互相连通互为依托的僵尸型网络,可达成一体化联合攻防效能。
服务中心:生成并分发所有的公钥、私钥,为所有主控端、被控端管理维护公钥信息供其查询。维护主控端群和被控端群组建的僵尸型木马网络,为被控端回联、信息回传提供解析向导,维护整个网络的控守,也发布各种复杂的联合攻防指令。
主控端群:每一个主控端都将自己的私钥,每一个主控端都可以控制所有被控端,主控与被控之间的通信采用定期一次一密方式,每次都用RSA算法协商一次通信密钥,然后用分组算法进行分组数据加密传输。主控端控制任一个被控端,都要经过服务中心的许可,在服务中心的调配下进行。
被控端群:在服务中心的调配下,每一个被控端都可受控于任一主控端,进行直接的控制取情。被控端本身进行自动文件搜集等行为,他们之间也进行必要的信息均衡,一个被控端
转自:http://forum.eviloctal.com/viewthread.php?tid=41069
精彩评论:
森哥 2010-6-6 18:06
10多年来,大家都木马的看法很单一,也较片面,集中在几个方面
(1)是否免杀,过主防
(2)是否能回联
(3)功能是否够
其实这些话题,很古老,很头疼,也很实际
说实话,我觉得应该从木马是什么、怎么用、怎么好用等角度,重新审视木马。
特别,在木马的设计结构上来一次彻底的革新和变化。只有新的理念,才能促进木马迈向新时代,才能推动新的需求,引领新的攻击模式,也促进安全防御技术的跟进。
木马,远远不仅仅是一个简单的原创控制程序
木马,早该重新被审视为艺术,这门艺术已经呆滞了很多年了。。。。
zhuwg 发表于 2010-6-6 19:31
膜拜森哥大牛
密码方面,俺不评价,因为俺是认为过分的加密是为了这点安全牺牲了很多效率,再说也没有“真正”靠得住的加密,作为一个木马,用不着向网银看齐 哈哈
不过我对算法和加密不了解,牛人来评判把
木马特征的隐藏,这个有不少成品的了,biosrk和vt的相关产品都有了,至于根植于之上和各种应用就看你自己怎么去用的,都有现成的模型可以使用
多态变形,反虚拟机,虽然俺不懂,不过某牛人说很easy的。。这儿略过不提。。。
木马将广泛采用P2P协议,貌似现在有成品了,只是不知道是不是楼主也搞了搞呵,本人不懂网络协议,细节部分,找老张吧
跨平台之类的,貌似现在需要windows+linux都支持的情形不多,老张很精通的
其实楼主所谓的“10多年来,大家都木马的看法很单一,”,重要原因就是很多小hacker只关心了抓肉鸡,刷点流量什么的,相应的木马作者也是迎合着这种需求
楼主的这种真正的木马(高精尖的需要)为数不多,主要目的就是要实现这种--间谍的功能,,换言之,拿走资料,全身而退,由于没什么需要,
一些产品也就不为人知了,其实还是有不少的呵
张予帅 发表于 2010-6-6 22:01
首先要先膜拜一下 森哥 和 猪娃哥 两位大牛!!!
对于"1.密码的问题"我也是个超级大菜鸟,故要等大牛来;
"2. 木马特征的隐藏" 这个问题, 猪娃牛哥和其他一些大牛非常专业, 小弟不敢多言;
那么就"网络协议"和"跨平台"这两个方面,小弟斗胆说几句.
(1) 不管是早期的C/S模式,还是端口反弹模式,协议的本质是一样的,都是以IP协议为基础来设计应用层协议,而"多跳"也无非就是多了几次转发,所以我比较认同森哥的说法,下一代的马将广泛采用P2P或者类似的协议,但是P2P协议是在资源统一的基础上才能达到比较好的效果,对于木马来说,每个点的数据需要传输的数据不一致,所以采用P2P协议还存在一定的问题, 具体的实现也有一定难度, 对于被控者和主控者的选择问题,还要考虑到以后的木马设计的架构;
(2) 对于跨平台来说,我个人认为,可以和芯片隐藏技术联系起来,BIOS中的代码首先获得执行权,然后可以根据boot loader的类型来判断用户的操作系统类型,然后把控制权交给系统的同时,释放该平台上的可执行代码,从而达到跨平台的目的. 当然具体的实现是复杂的,还要对多系统引导做相关的处理,而且被控端还得包含多个平台的可执行代码等许多问题;
呵呵,小弟的见解可能有误,请大牛们指出~~~
mika 发表于 2010-6-6 22:44
首先膜拜下,现在高人真是多。楼主几乎把能涉及的面都说到了,而且都说到了点子上,实在是没得说了。其实这种东西无论咋变,无外乎隐蔽性,稳定性,通用性这三个方面。而且这三个方面都是相互关联的,BOOTKIT也好CHIPKIT也罢,涉及到底层越深,稳定性和通用性就越难,vice versa.不过隐蔽性这个东西关系到木马的成活率的高低或者说生命期的长短,说白了,其他的东西做得再好,隐蔽性如果达不到相应的等级,也是一匹脑残马。其实通讯不仅仅要加密,更要隐藏,最起码能躲过本机的sniffer。偶碰到过N会了,MBR马还是BIOS马都照样被发现,不是别的就是人家闲着没事就wireshark一下,虽然数据是加密了,但是人家只要感觉这个东西不对劲了这个马也就死了。因此本机通讯隐藏也是个老长的话题了,呵呵从长计议啊。
看了这个文章,想说点嘛,就找了这么个脑残的话题发表下个人想法,高人路过别扔砖头就好。最后,再次膜拜下!
jo_dy 发表于 2010-6-6 22:49
仰望森哥大牛和zhuwg大哥
一下纯属于,俺这个成年小屁孩乱说的。
下一代木马应具备颇高的特征异变机制,静非纯静,动非纯动,静动视变,互相联系。我可以认为是“双向”互调法吗?.。。。
Zhuwg大哥说加密的方面,如果采用加密的话,那么木马的安全性或者,大大折扣是吧。(我是说“如果”啊),按照这样说法,木马不加密,和谈,新一代的木马,我坚信着,木马采用加密方式,是新一代的木马一个特点,至于加密方面,(先加后解吧个人乱想的,可以54)我想的,只是很多人不愿公考罢了。木马采用P2P协议,是有成品的。至于跨平台之类的,我个人认为,随着不同的系统推出,新一代的木马,必须要跨平台,甚至跨更多的平台。森哥和zhuwg大哥说的“10多年来,大家都木马的看法很单一”我个人理解了一下,如果说,10年前的木马小孩的话,那么新一代的木马就是,小孩的爸爸了,Zhuwg大哥词疑“重要原因就是很多小hacker只关心了抓肉鸡,刷点流量什么的,相应的木马作者也是迎合着这种需求”那么那些“很多小hacker”随着时间成长的话,那他们的需要是不是也随着时间跟着成长呢?就像10年前的木马跟着小孩一起随着时间的移动,10年的后,新一代木马是不是也要提升呢?。
如果老是停留在10年前的木马,就应该绝种了。。
森哥 发表于 2010-6-6 23:04
大家讨论的很好:)看得出,都是写马、用马、御马之能人啊。
诚如大家所言,把之上的想法毕其功于一役,用一个木马实现之,工程量很大,调试量绝非一日之功。
我觉得,在程序开发方面,只要有决心,还是有希望实现的,就如同PI木马出现之前,很难想象有人会用SHELLCODE模式写综合性的木马,结果PI达到了,而且很成功,自PI之后,模仿PI者甚多,基于SHELLCODE的木马代码开发也成为当今木马开发者不得不学习和掌握的技术。
记得05年BLACKHAT会议上的一篇BIOS-PCIkit的论文,引起轩然大波。不过,在众多质疑声中,即3个月,我就有幸从国外朋友那看到了当时最强大的ROOTKIT,如今想来,依然赞叹。
甚至于,我想,下一代木马会成为一个具有 智能自动化模块的东西-----类似于metasploit的架子,重要的功能模块,插件化、SHELLCOED化。。。。。
越想越是一个庞大的系统工程啊------------
数年前,曾仿照metasploit做过一个简单的小型恶意代码生成软件,其中之艰辛,N多夜晚啊。。。不过,现在想起来,那也不算什么,只是验证了一个想法而已
做这样的东西,一个人肯定不行。需要用软件工程的办法,集大家之能,汇百家之长。
opsun 发表于 2010-6-7 12:25
木马首先需要小巧,隐藏,合适的功能。如果设计复杂,体积必然会增大,隐藏性也会降低。
想想特洛伊木马计。这就是木马在10年没什么发展的原因,因为已经没有发展的必要了。
如果再发展成什么?会不会更像蠕虫了。。
MOPVHS 发表于 2010-6-8 10:30
果然是艺术呢...
用P2P去同步所有被控端,那就是像某人提过的云木马了~~~
利用云计算去提高被控端的性能,“互惠互利”?!
也许还有一种方法,在用到某功能时才把那个模块传输过去,完成目标后立即卸去模块。
然后...神经网络...
扯远了~~~
asm 发表于 2010-6-9 09:06
首先膜拜一下大牛
在通信方面,下一代木马不管怎么样,只要往外发送数据包,sniffer一下是可以看得出来的~因此说哪怕加密再牛B,还不如直接设置木马的回连时间~~加密只是一个形式罢了~
隐蔽性方面,越往底边,越是脱离系统,通用性实用性越差~~所以什么MBR马还是BIOS马都根本没必要搞那么深,只需要pass目前流行的ark工具即可~目前的危险始终来自这些ark工具是否被管理员使用进而发现木马~
好的木马应该被这样定义:具有阶段性的回连,跟管理员玩几率,我一个礼拜当中就只有礼拜天的下午5点回连,而下一次回连时间又在礼拜二晚上8点~管理员也是要有假期的~;具有绕过流行ark的扫描~
具备以上两点足以~~我土鸡,只能发表一些幼稚看法~~~
古月亮 发表于 2010-6-9 09:56
异想天开一下、
被控端 与 控制端 不分严格的Server或Client
被控端复用80 23等安全端口做监听、在本地存IP信息、间隔时间(判断控制端是否监听,则)连接控制端仅更新自身IP信息后即断开(同时监控自身IP变化时主动更新)
控制端使用计算机唯一标识记录被控端信息 如BIOS编号标识被控端 ,在接受被控端连接时更新IP信息后断开与被控端连接(被控端IP最后一次更新IP应做相应标识以便控制端对被控端做连接时方便判断)
控制端在操作被控端时根据被控端唯一标识对应的IP 发送控制信息到被控端开启的复用监听端口告知被控端来连接
同时被控端做特定操作的关键功能可使用远程对象方式获取后操作,如 remoting, 同时操作完成后主动断开与控制端的链接
不知可否
temp_root 发表于 2010-6-9 14:05
除了公钥之外,现在可以惨嚎ipsec,https,vpn等现有技术。他们里面都集成数据加密。并且也可以使用密码交换算法动态生成密钥。
llb19901227 发表于 2010-6-9 17:03
我觉得 加密 不需要太深入,一方面要考虑的马儿的体积和效率,还有就是 如果一个控制端有两个选项可以让用户选择 可以生成两种木马 一种是windows 下可以运行的exe可执行文件,另一种可以生成类uinux可以运行的二进制文件 目前类Unix下的木马 太少太少,如果这种远控开发成功我认为是一个很大的进步
temp_root 发表于 2010-6-9 17:45
回复 14楼 llb19901227 的帖子
我觉得开发一个要能在windows和linux下跑的软件很难。一般的linux下的程序都是下载下来后由用户编译的。
qqqnnn 发表于 2010-6-13 00:38
下一代木马,应该完全隐藏于内存中运行。这是最关键的!
xyzreg 发表于 2010-6-15 01:17
RSA加密AES的密钥,数据由AES加密。
taiwansee 发表于 2010-6-15 11:22
赞同20楼xyzreg说的,那个RSA加密的,2048位的时候就已经超慢了,再搞到4096就会傻眼.我们的马儿经不起这样折腾....试想下发个100kb的数据要等上半小时....
所以比较可行的还是RSA加密小数据,大数据用其它速度较快的加密算法.
楼主说了几点,感觉受益不少,在这里偶也提提自己的看法:
1.木马应该和正常程序混在一起,所有的反木马归根结底,都是人在分析,所以木马只要能忽悠人,那么就成功了.
2.木马的通信隐藏可以考虑在正常报文的基础上,插入小部分自己的数据;比如,把HTTP的COOKIES内容换成同等格式的自己的数据.
有时候把东西加密了,还会引来关注,好比"此地无银三百两".....
duanranqq 发表于 2010-6-17 16:22
引用:
原帖由 taiwansee 于 2010-6-15 11:22 发表
赞同20楼xyzreg说的,那个RSA加密的,2048位的时候就已经超慢了,再搞到4096就会傻眼.我们的马儿经不起这样折腾....试想下发个100kb的数据要等上半小时....
所以比较可行的还是RSA加密小数据,大数据用其它速度较快的加 ...
慢用GPU啊,现在多数个人PC都支持,用GPU并行完成多组数据的加解密,我觉得也可以,欢迎反驳
bink 发表于 2010-6-19 18:29
占个位置去吃饭,回来详谈。
Append:咳,我这顿饭吃的比较久,现在补完。
森哥提出的东西都很好,在自身传输加密验证和P2P方式上面曾经也跟某同学进行过深入的探讨。
明文传输指令的木马一旦被捕获,只需要在虚拟主机里搭建一个伪装平台,捕捉传输的指令,就能轻松的攻击到木马控制者,比如伪造文件download+open的指令就可以轻松上载一个程序到控制端并且执行……当然,国内的情况是:这种事的可能性非常小,但是小不代表没有可能,如果真的被人用这招反攻击,那岂不是让人笑掉大牙了?
在P2P概念上,和某人探讨的时候倒是没有深入到P2P这个概念,只是加入了C&S/S&C这样的概念,控制端即时服务端,只需要一道特殊的认证之后就可以通过任意客户端发送一个指令出去到任意一个客户端去执行,森哥提到的P2P的概念比咱这个要先进多了。
在跨平台方面可以采用帖子前面提到的动态download技术,先判断当前操作系统和环境,然后针对性的download Server端回来运行,这样比把所有马捆在一起根据系统类型释放要好得多,当然,对于那些U盘传播到内网去种植的马来说,还是整体捆绑比较好。
这里追加一个曾经和朋友探讨过的新木马概念(周哥不要打我),在针对恶劣环境下,比如某企业所有主机只开放80端口和外网通信怎么办?
当时首选考虑端口复用技术,但是始终觉得有诸多不好的地方,主要是冲突方面,后来大家讨论出考虑采用Client+Browser to Server 的手段来做,毕竟你怎么封也不能封掉IE FF的80端口吧?那我就用一个隐藏的浏览器进程来接收和发送指令和小部分数据,指令用Server Script或者JavaScript写在浏览器Title上,然后本地Client去读取Title获得指令,执行结果的返回则用浏览器POST回去或者GET提交回去都行,对于100K以上数据采用本地切割后POST分段发送,然后拿回来拼接。
当时这个就提出这么个概念,还没空实施,欢迎拍砖。
[ 本帖最后由 bink 于 2010-6-22 18:11 编辑 ]
(站长评论:尼玛,一顿饭吃了三天??!!)
Zzed 发表于 2010-6-22 17:10
回复 楼主 qszzsq 的帖子
很精彩的思路,膜拜一下森哥~感觉国内的病毒木马趋利性太直接,可能和相关链条也有关系,木马作者都希望可以快速直接的获利,因此很少有人愿意从这个角度来重新思考问题。因此国内的病毒也就谈不上技术、隐蔽和高级了。相对来说国外的这方面应该是比较不错的,例如森哥提到的一些点已经在国外的某些高级病毒中被利用,如conficker就使用了P2P方式下载传播,数字签名的方式来验证自身等。更早的感染型sality,好像2003年出现,也使用了P2P的方式及RC4的加密算法等方式来传播和保护自身,致使其7年后的今天依然很活跃。看来国内的病毒行业还是有点浮躁了~
流风 发表于 2010-6-25 04:53
我先膜拜...ing...
作为木马,按照LZ说的下一代木马具有以下的几个特征:
加密,协议,木马特征的隐藏,文件的隐藏,跨平台还有后面的牛人补充的一些东西.
我个人不怎么看好这些.
[个人电脑]
看我分析如下:
1:你把木马作为一个大众化的东西来使用那么中马的群体回用iris只类的东西来分析不??不会..那么只有在网关以及路由上有检测.但是如何过这些检测?我个人的方法很简单.一个简单的算法就过了.
至于协议什么的,用的着那么讲究不?一般人就知道用怎么优化以及维护都不怎么会,大不了就备份个文件,只要他耍的游戏能运行,没有盗号的,他的资料能够打开,一般人都懒的管电脑有没有病毒,只要能跑就行.在有些就装些杀毒软件,但是裸机还是挺多的,尤其是XXX小区.
作为一般的木马了只要隐藏了不回杀毒软件杀了.你别没事都去看远程桌面别人都懒的管.
[服务器]
服务器没什么好说的有专门个管理在看着,我先问哈这应该有网络公司的人吧.
我想问哈你们的数据库有多少时间没去看了?就我知道的几个比如:中国移动,我看见的那台管理内部员工的服务器都6年没登陆过了.电信,2000多天没登陆过.
文件服务器了?内部ftp了?内部web了?有多少时间没登陆了??
公开的web server 是登陆最频繁.
加密,隐藏,实用,跨平台是木马的主要特点,但是这里面我个人觉得应该有个度,
比如你加密你弄一个公匙.128位的?有必要没的?这样就严重的影响了木马的效率.
隐藏:最好的就是做在芯片级,bios上,显卡上一个木马而已至于不??反正我不会这技术,我就不说了.
在上面提到的特征码问题,我很感兴趣,但是了我个人连VI都懂,不说.
有人提到使用p2p协议来做这木马集群.但是还的有个server吧..如果server倒了.
你的马还在不?
以上了是我个人的看发..纯属那XXXX哈..
对与木马了,感染个网卡驱动.在通信隐藏,就差不多,有想法在弄个管道什么的,只要你不把这太电脑用来跑密码,只用来做中转.
我想存在个几年应该没的问题...
bink 2010-6-25 10:13
引用:
原帖由 流风 于 2010-6-25 04:53 发表
我先膜拜...ing...
作为木马,按照LZ说的下一代木马具有以下的几个特征:
加密,协议,木马特征的隐藏,文件的隐藏,跨平台还有后面的牛人补充的一些东西.
我个人不怎么看好这些.
[个人电脑]
看我分析如下:
1:你把木马作 ...
你可能理解错了,森哥的意思是从高端木马的应用上来做考虑的,而非普通用途的木马,说的直白点,森哥设想的这类木马就不是开发出来给菜鸟们用来玩的,而是用在一些真正的黑客领域上。
基于应用领域的不同,你下面的个人电脑和一般服务器电脑方面的考虑就没有意义了,不过你的一些见解任然有误。比如:
难道100个中马的用户,100都是电脑白痴?不尽然吧?至少我自己机器曾经中马,我抓出木马,然后丢在虚拟机中去做分析,然后反传文件拿下控制端电脑;对于盗号木马,曾经某个日入信封几千封的箱子也被我利用它接收木马返回信息的脚本API给拿下,所以,必要的木马通信指令加密还是需要的。现在是2010年了,不是2000年那会儿都傻傻的年代。
流风 发表于 2010-6-26 11:18
同意..但是会那么做的人有多少了??用做高端后门,说直接点就是用来做跳..但是你加密做的太过,比如128位之类的加密,这样就严重影响了连接速度以及反映速度,那费力搞个好站来做什么?还不如找垃圾配置的服务器...也没的那么麻烦,.
按照他说的用做高端木马,以前在XX论坛就说过这东西..芯片级后门..但是就被实用性给放弃了..那个时候还没的驱动感染出来,比较普遍就是虚拟设备驱动做后门效果也不错.
芯片级后门用处不怎么大,..
怎么说了???...应该说芯片级的东西是趋势,是最好的后门,...
但是...现在还是太早..这时代还没到达那地步...
PS:我的电脑user没的执行权限...
婲李白 发表于 2010-7-4 01:56
我是新来的 但是我的想法大家可以看下
代码的艺术 通过 写木马 可以提高自己的水平
或者 下一代木马,也开发出个云模式。。。(空想)
只要在 木马的服务端上 添加一个插件 可以识别各种 第三方的软件并且可以在现实是更革新
zyseize 发表于 2010-7-4 12:46
回。。。
下一代的木马
开发是在人工智能的加入下
自带病毒性传播功能
最好还能集成自动渗透功能
加不加硬盘逻辑所?
这个功能对木马好像没有用。。。
沉默幽灵 发表于 2010-7-4 16:55
文章作者:沉默幽灵
我看了森哥的文章,内容是很好,木马要实现隐蔽的功能,加密是好,但是也不是高难度的就好,这个有些已经提到了,还有动态静态的木马这方面可是需要研究的,毕竟相关的操作如果出错都是很麻烦的,有一点很应该注意,不依赖于注册表的木马,这个相当好,因为我看过360的查杀,它的是监控注册表和内存的操作来检测是否没木马或病毒,要是研究出不依赖于修改注册表的木马,那就相当的受欢迎了,可是这个难度相对来说要高很多吧?
还有怎么样通过杀毒软件的检测而不被发现呢??我看过一篇小说,那个给我的灵感很有趣。
说的是把病毒分开了做,只有两部分碰到的时候才会形成很厉害的病毒,单体存放时并不具有病毒的特性,这样,杀毒软件就不能查到,我们是不是也可以照搬,把木马也做成这样呢?把一个木马分成几部分,这样不易被发现。
还有关于跨平台的问题,如果不是相关的操作平台,它的具体的系统设置也是不一样的,那是不是还要编写个适用于多系统的木马呢?这样可以不用担心因操作系统不同而带来的麻烦了。
还有一点,关于智能的问题,现在的时代就是要智能行。那能不能把木马或病毒也写成具有一定意识的呢??让他们自由的传播,可以自觉判断系统而进行保留控制。
此外还有,就是关于传输的问题,很多都是把部分的端口封锁了。还要开特殊端口才能连接,这样偶尔或许还要,要是碰到高手就危险了,能不能考虑把数据传输的形式改了呢??也和大部分用的一样呢?比如转换成和21、80端口这样的比较普遍的数据形式啊??相当于利用其他协议来传输自己的东西,结合这些就好多了。这样安全,保险,只是要看技术怎样了,我这也只是想象,还没有见谁真的应用过,就需要大家共同努力了。
我这只是小小 的个人见解,和高手相比还差很多,希望高手指教一二,谢了
婲李白 发表于 2010-7-4 22:04
回复 37楼 zyseize 的帖子
老天你 要是加入逻辑 那不和病毒差不多;了
要是 再弄个 自动复制
那就和病毒没什么 两样了!
lqbing 发表于 2010-7-4 22:42
跨平臺的問題 我們來設想一下 可以讓木馬群進行信息收集 識別到新的系統 然後分析信息 以一種或一些算法群編寫新的適應系統的木馬子體 (木馬採用子母分級系統模式)
用一些性能比較高的節點作為SERVER 在上面建立項目 將收集到的信息分類 然後將信息以云方式運算分析 新木馬子體編寫也以云方式運算
這樣就可以達到未知系統木馬的代碼適應問題
主要問題是信息收集問題 代碼分析和新代碼編寫的算法問題
鄉村農夫 发表于 2010-7-6 13:15
我觉得 加密 不需要太深入,一方面要考虑的马儿的体积和效率,还有就是 如果一个控制端有两个选项可以让用户选择 可以生成两种木马 一种是windows 下可以运行的exe可执行文件,另一种可以生成类uinux可以运行的二进制文件 目前类Unix下的木马 太少太少,如果这种远控开发成功我认为是一个很大的进步
czx_xzc 发表于 2010-7-8 19:30
首先要先膜拜一下两位大牛!
(1)木马将广泛采用P2P协议,或者自己定义的类似于P2P协议的模式。所有的木马被控者和主控者,在安全算法的支持下,构成一个互相平等,相互依存的大型P2P网络。
(2)对于跨平台来说,我个人认为,可以和芯片隐藏技术联系起来,BIOS中的代码首先获得执行权,然后可以根据boot loader的类型来判断用户的操作系统类型,然后把控制权交给系统的同时,释放该平台上的可执行代码,从而达到跨平台的目的. 当然具体的实现是复杂的,还要对多系统引导做相关的处理,而且被控端还得包含多个平台的可执行代码等许多问题;
(3)下一代木马会成为一个具有 智能自动化模块的东西-----类似于metasploit的架子,重要的功能模块,插件化、SHELLCOED化。。。。。
越想越是一个庞大的系统工程啊------------
----------------------------------------------------------------------------------------
结合上面几位高人的见解,我提点小想法,在p2p的这种可称之为云系统的木马网络里,可以将木马的功能模块分段并分机,分区存放,在安全保密的通迅网络协议下随机的结合,根据需要从其它计算机下载模块,这就想当于这个木马有了思想,他们可以互相沟通.在控制端决定影响的范围,就有点想ZigBee协议一样.
江北小唐 发表于 2010-7-10 17:14
(2)木马静态体本身是一个多变的壳,拥有对抗沙盒的能力,木马功能实体在静态时不在本机存贮,需要什么功能就从远程有信任的下载何种功能代码。
这种远程下载需要用到的代码,然后写入到服务端里面去执行吗
那么体积是个问题,还有很多杀软所谓的云安全防御
鱼和熊掌不好兼得,
gam2046 发表于 2010-7-27 15:13
思路异常新颖、茅塞顿开
目前的木马大量都是同质化、唯一的区别只是功能上差异(这就造成了捕获一个新的样本、可能会同时n个木马被杀掉)、并且现在在360安全卫士的夹击下、即使你的木马能够躲避杀软的查杀、也难以实现自启动、不能自启动的木马、恐怕实际用途相当狭小
wolfb 发表于 2010-7-28 15:00
防病毒软件会说“我来代替操作系统完成引导功能。”于是乎,众木马皆晕倒。
Intel的VT技术防毒软件也可以用。这场战争的尽头,也许是硬件后门,
fr.qaker 发表于 2010-7-30 19:51
有些东西太扯谈了
我说几点:
1. 加密的目的是什么?为了防止木马被盗还是为了防止木马被发现?如果是为了防止木马被发现,那么发送的数据应该越贴近主机原有的应用越好,比如发送的数据类似Oracle的数据等,或者类似HTTP请求。而不是使用4096位加密,一方面拖慢对方速度,一方面告诉别人,我的数据是加密的,你别看,别管我在干嘛。
2. P2P?这是一个好东西,还是那句话,目的是什么?P2P可以将自己隐藏在木马群的汪洋大海中,但是后果就是本来很安静的网络涌入了大量本来不应该存在的东西,当网络中安装的IDS是摆设么?
3. VT技术?就和Ring0一样,木马能用,杀毒软件一样能用,一个是光明正大的用,一个是偷偷摸摸地用,谁能应用得更好?
4. 国内的木马趋于利益?这个一点没错,但是没有利益的东西谁做?做出来谁用?做这些的价值是什么?
这个时候,有人会跳出来说,我这是技术讨论
没错,技术讨论,这个技术讨论的利益出发点就是木马,既然满足不了基础的业务需求,在这里讨论飘渺的高层实现,有意义么
楼上讨论了这么多,我觉得靠谱点的算是GPU,对CPU的低消耗,GPU指令在机器运行过程中大量使用,木马还可以隐藏成显卡驱动来使用........
而且进入驱动级别,本地网络sniffer也可以考虑过滤掉一些数据。。。。。。。
由于现在机器硬盘较大,大家其实不关心木马的大小,关心的是怎么样提高隐蔽性,没有隐蔽性的东西加密强度再大,技术再高级,也是废物。
扯谈了这么多,估计要挨砖的,呵呵,得罪了不少人吧
婲李白 发表于 2010-7-31 23:35
回复 49楼 fr.qaker 的帖子
没错 这些都是空谈。
首先大牛森哥 提出来我就想到了智能技术。软件工程。等好多的技术,或许研究出来能刷新木马的革命。
但是科研经费,人力物力。都等待选择。
木马 一点点去研究去发现 最宗停留在隐藏。数据通道。
wxyysjkiss 发表于 2011-1-27 17:12
来晚了,没来得及参加讨论,楼主提到的一些思路现在确实已经有实现的,有些确实是算下一代了
一个疑问,服务中心的安全是很重要的,涉及认证的安全性,存在被跟回来的危险
跨平台应该是一个更重要的问题,新的操作系统出现会直接面临这个新的问题
来的晚,只能乱说一下了,估计已经结帖了
wuwei1659 发表于 2011-4-12 08:29
尝试下最老套的
IP地址广播自销毁式木马蠕虫?
pt007 发表于 2011-5-19 11:54
木马现在的方向
转自:http://horseb.blog.sohu.com/173013668.html
我知道的木马研究方向和现实状况
台湾:基本都是特工行的人研究的,民间几乎水平很差
大概分3种:
指令级木马,专业机器里,WINDOWS机器里,UNIX设备里都能中上
硬件级木马,专业设备里,智能芯片里都有
存储器级木马,专业存储器,硬盘,带存储的芯片等
这些属于台湾全局控制的木马,有监视监听功能,通过WIFI,BLUETOOTH和其他自有协议连到台湾的专业设备里,属于台湾"马总统"专业窃取设备.
还有就是普通入侵控机木马,大部分是偷大陆黑客来改造的,属于作战用木马单元工具的,自己做的少
日本:基本也属于特工行人员专业窃取设备的
大概分4种:
芯片级木马,日本产的任何一种芯片,特别是近5年产的基本都属于高级控制的TROJAN.
设备级木马,基本日本产的基本工业和电子设备,整机级的,水平已经非常高了,属于一流控制,甚至连接人脑的程序都有,连心也有
光学级木马,日本的光通讯非常牛,我在这里不多讲,超级传输速率,根本没法做信号屏蔽
通用级木马,日本军队和警察搞外面机器作战用的模块单元,基本是用国外窃取来的模块改造的,日本民间黑客基本得不到这种东西
站长评论:
楼主写的很多内容都没有实际意义,关于这方面优秀的木马、病毒程序完全可以参考:
Stuxnet(超级工厂、震网病毒)、超级火焰(flame)
它们的实用性实在太强了!
相关内容:
CrySyS实验室对于“超级火焰(sKyWIper)”病毒的报告
留言评论(旧系统):