<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kernel2Heart &#187; Virus</title>
	<atom:link href="http://www.kernel2heart.com/labels/virus/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kernel2heart.com</link>
	<description>一个人的内心里,究竟隐藏了什么呢?</description>
	<lastBuildDate>Fri, 20 May 2011 05:10:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>虚拟机之外的rootkit检测思考</title>
		<link>http://www.kernel2heart.com/2009/07/about-scan-rootkit-outside-of-vm/</link>
		<comments>http://www.kernel2heart.com/2009/07/about-scan-rootkit-outside-of-vm/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 06:03:23 +0000</pubDate>
		<dc:creator>janxin</dc:creator>
				<category><![CDATA[技术交流]]></category>
		<category><![CDATA[AntiVirus]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Virus]]></category>

		<guid isPermaLink="false">http://www.kernel2heart.com/2009/07/about-scan-rootkit-outside-of-vm/</guid>
		<description><![CDATA[昨天Nguyen Anh Quynh先生send给我了一封email，说今年会到中国的Xcon&#8217;09上进行一次演讲，演讲内容是他最近研究的一种在虚拟机之外的rootkit检测方法。 看Nguyen Anh Quynh先生的大致意思是这样的：一般的时候我们在检测病毒的时候，一般是在VM里面，这个VM包括了AntiVirus程序检测的简易VM。而Nguyen Anh Quynh的设计独立于vm之外，通过扫描vm的物理内存，进行检测。据Nguyen Anh Quynh介绍，他的这种检测方法可以解决大部分的kernel rootkit和ring3 rootkit。 我个人认为，这种方法看似巧妙，但是实际上还是有很大的缺陷在里面。假如我作为Vxer的时候，一定会采用防止VM run的方法。这是一个高级病毒maker一定会做的事情。而且，在自己的病毒或者rootkit中使用polymorphism和metamorphism。当然，说起来，在病毒和ring3级别的rootkit中使用这些技术较为简单，但是在ring0级别的rootkit中，这种技术倒是个硬伤。 那好吧，我们抛开ring0 rootkit不谈，假如我检测自己在VM底下，我选择不decode我的代码和执行，反而去解密一些较为正常的代码，变成一个在VM下无害的病毒呢？相信这些技术，作为一个熟练的Vxer应该是都已经掌握了的技巧了吧。 今年的xcon我不一定可以抽出时间来过去，真是遗憾不能再次听到Nguyen Anh Quynh的精彩演讲了。非常遗憾，希望以后有机会再联系吧。 [Update 07-23] 今天Xcon公布了新的议题内容，看起来比去年更加诱人一些。Nguyen Anh Quynh先生的程序是应用在邮件Server上，难怪会有讨论中的那些发言了。]]></description>
			<content:encoded><![CDATA[<p>昨天<a href="http://xcon.xfocus.net/XCon2007/speaker.html#Nguyen_Anh_Quynh" target="_blank">Nguyen Anh Quynh</a>先生send给我了一封email，说今年会到中国的<a href="http://xcon.xfocus.net" target="_blank">Xcon&#8217;09</a>上进行一次演讲，演讲内容是他最近研究的一种在虚拟机之外的rootkit检测方法。</p>
<p>看Nguyen Anh Quynh先生的大致意思是这样的：一般的时候我们在检测病毒的时候，一般是在VM里面，这个VM包括了<a href="http://www.kernel2heart.com/labels/antivirus/" class="st_tag internal_tag" rel="tag" title="Posts tagged with AntiVirus">AntiVirus</a>程序检测的简易VM。而Nguyen Anh Quynh的设计独立于vm之外，通过扫描vm的物理内存，进行检测。据Nguyen Anh Quynh介绍<span id="more-99"></span>，他的这种检测方法可以解决大部分的kernel rootkit和ring3 rootkit。</p>
<p>我个人认为，这种方法看似巧妙，但是实际上还是有很大的缺陷在里面。假如我作为<a href="http://b.baidu.com/view/1554820.html" target="_blank">Vxer</a>的时候，一定会采用防止VM run的方法。这是一个高级病毒maker一定会做的事情。而且，在自己的病毒或者rootkit中使用polymorphism和metamorphism。当然，说起来，在病毒和ring3级别的rootkit中使用这些技术较为简单，但是在ring0级别的rootkit中，这种技术倒是个硬伤。</p>
<p>那好吧，我们抛开ring0 rootkit不谈，假如我检测自己在VM底下，我选择不decode我的代码和执行，反而去解密一些较为正常的代码，变成一个在VM下无害的病毒呢？相信这些技术，作为一个熟练的Vxer应该是都已经掌握了的技巧了吧。</p>
<p>今年的xcon我不一定可以抽出时间来过去，真是遗憾不能再次听到Nguyen Anh Quynh的精彩演讲了。非常遗憾，希望以后有机会再联系吧。</p>
<hr />[Update 07-23] 今天Xcon公布了新的<a href="http://xcon.xfocus.net/speakers.html" target="_blank">议题内容</a>，看起来比去年更加诱人一些。Nguyen Anh Quynh先生的程序是应用在邮件Server上，难怪会有讨论中的那些发言了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kernel2heart.com/2009/07/about-scan-rootkit-outside-of-vm/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>分享：一个unpack conficker worm的脚本</title>
		<link>http://www.kernel2heart.com/2009/07/ollydbg-script-for-unpack-conficker-worm-b/</link>
		<comments>http://www.kernel2heart.com/2009/07/ollydbg-script-for-unpack-conficker-worm-b/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 11:41:56 +0000</pubDate>
		<dc:creator>janxin</dc:creator>
				<category><![CDATA[技术交流]]></category>
		<category><![CDATA[Ollydbg]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Virus]]></category>

		<guid isPermaLink="false">http://www.kernel2heart.com/2009/07/ollydbg-script-for-unpack-conficker-worm-b/</guid>
		<description><![CDATA[lclee 说: i just finish the ollyscript automated unpack the conficker worm tested these sample with MD5 MD5:83c52b56b1ecbe23183bae5e05474e3e MD5:6ee741c4e0d36d0dc9162a6e71943379 if want to get the sample, search the md5 from here http://www.offensivecomputing.net/ hmm..still not perfect yet the script it just can &#8230; <a href="http://www.kernel2heart.com/2009/07/ollydbg-script-for-unpack-conficker-worm-b/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>lclee 说:<br />
i just finish the ollyscript<br />
automated unpack the conficker worm<br />
tested these sample with MD5<br />
MD5:83c52b56b1ecbe23183bae5e05474e3e<br />
MD5:6ee741c4e0d36d0dc9162a6e71943379<br />
if want to get the sample, search the md5 from here<br />
<a href="http://www.offensivecomputing.net/">http://www.offensivecomputing.net/</a><br />
hmm..still not perfect yet the <a href="http://www.kernel2heart.com/labels/script/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Script">script</a><br />
it just can automated unpack the conficker variant B<br />
C still cannot</p></blockquote>
<p><span id="more-87"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
</pre></td><td class="code"><pre class="asm" style="font-family:monospace;">var goaddr1
var goaddr2
var goaddr3
var goaddr4
var goaddr5
var goaddr6
var goaddr7
var szmemory
&nbsp;
start<span style="color: #339933;">:</span>
  find eip<span style="color: #339933;">,</span> #807C240801#
  <span style="color: #00007f; font-weight: bold;">cmp</span> $RESULT<span style="color: #339933;">,</span> <span style="color: #0000ff;">0</span>
  <span style="color: #00007f; font-weight: bold;">jne</span> uncompress1
&nbsp;
error1<span style="color: #339933;">:</span>
  msg <span style="color: #7f007f;">&quot;Failed to uncompress 1st layer packer of conficker worm variant B&quot;</span>
  <span style="color: #00007f; font-weight: bold;">ret</span>
&nbsp;
uncompress1<span style="color: #339933;">:</span>
  <span style="color: #00007f; font-weight: bold;">sti</span>
  msg <span style="color: #7f007f;">&quot;Start to uncompress 1st layer packer&quot;</span>
  <span style="color: #00007f; font-weight: bold;">mov</span> goaddr1<span style="color: #339933;">,</span> $RESULT
  findop goaddr1<span style="color: #339933;">,</span> #83EC??#
  <span style="color: #00007f; font-weight: bold;">cmp</span> $RESULT<span style="color: #339933;">,</span> <span style="color: #0000ff;">0</span>
  bphws $RESULT<span style="color: #339933;">,</span> <span style="color: #7f007f;">&quot;x&quot;</span>
  run
  bphwc $RESULT
  <span style="color: #00007f; font-weight: bold;">sti</span>
  sto
  msg <span style="color: #7f007f;">&quot;1st Layer packer success uncompress, Now start uncompress 2nd layer packer&quot;</span>
&nbsp;
SearchAPI<span style="color: #339933;">:</span>
  gpa <span style="color: #7f007f;">&quot;VirtualProtect&quot;</span><span style="color: #339933;">,</span> <span style="color: #7f007f;">&quot;kernel32.dll&quot;</span>
  <span style="color: #00007f; font-weight: bold;">mov</span> goaddr2<span style="color: #339933;">,</span> $RESULT
  bphws goaddr2<span style="color: #339933;">,</span> <span style="color: #7f007f;">&quot;x&quot;</span>
  run
  bphwc goaddr2
  msg <span style="color: #7f007f;">&quot;Landed at address of VirtualProtect, check the segment address of memory allocate for dll&quot;</span>
  <span style="color: #00007f; font-weight: bold;">mov</span> goaddr3<span style="color: #339933;">,</span> <span style="color: #00007f;">esp</span>
  <span style="color: #00007f; font-weight: bold;">add</span> goaddr3<span style="color: #339933;">,</span> <span style="color: #0000ff;">4</span>
  <span style="color: #00007f; font-weight: bold;">mov</span> goaddr4<span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">&#91;</span>goaddr3<span style="color: #009900; font-weight: bold;">&#93;</span>
  findop goaddr4<span style="color: #339933;">,</span> #807C240801#
  <span style="color: #00007f; font-weight: bold;">cmp</span> $RESULT<span style="color: #339933;">,</span> <span style="color: #0000ff;">0</span>
  <span style="color: #00007f; font-weight: bold;">jne</span> uncompress2
&nbsp;
error2<span style="color: #339933;">:</span>
  msg <span style="color: #7f007f;">&quot;Failed to uncompress 2nd layer packer of conficker worm variant B&quot;</span>
  <span style="color: #00007f; font-weight: bold;">ret</span>
&nbsp;
uncompress2<span style="color: #339933;">:</span>
  <span style="color: #00007f; font-weight: bold;">mov</span> goaddr5<span style="color: #339933;">,</span> $RESULT
  go goaddr5
  msg <span style="color: #7f007f;">&quot;start uncompress 2nd layer packer&quot;</span>
  find eip<span style="color: #339933;">,</span> #83EC??#
  <span style="color: #00007f; font-weight: bold;">mov</span> goaddr6<span style="color: #339933;">,</span> $RESULT
  bphws goaddr6<span style="color: #339933;">,</span> <span style="color: #7f007f;">&quot;x&quot;</span>
  run
  bphwc goaddr6
  <span style="color: #00007f; font-weight: bold;">sti</span>
  sto
&nbsp;
  <span style="color: #339933;">//</span><span style="color: #00007f; font-weight: bold;">mov</span> goaddr7<span style="color: #339933;">,</span> eip
  <span style="color: #339933;">//</span>gmemi goaddr7<span style="color: #339933;">,</span> MEMORYSIZE
  <span style="color: #339933;">//</span><span style="color: #00007f; font-weight: bold;">mov</span> szmemory<span style="color: #339933;">,</span> $RESULT
&nbsp;
  <span style="color: #339933;">//</span>msgyn <span style="color: #7f007f;">&quot;Dump the file from the memory?&quot;</span>
  <span style="color: #339933;">//</span><span style="color: #00007f; font-weight: bold;">cmp</span> $RESULT<span style="color: #339933;">,</span> <span style="color: #0000ff;">0</span>
  <span style="color: #339933;">//</span><span style="color: #00007f; font-weight: bold;">jne</span> dumpfile
  <span style="color: #339933;">//</span><span style="color: #00007f; font-weight: bold;">jmp</span> <span style="color: #000000; font-weight: bold;">end</span>
&nbsp;
<span style="color: #339933;">//</span>error3<span style="color: #339933;">:</span>
  <span style="color: #339933;">//</span>msg <span style="color: #7f007f;">&quot;Failed to dump the file from the memory&quot;</span>
  <span style="color: #339933;">//</span><span style="color: #00007f; font-weight: bold;">ret</span>
&nbsp;
<span style="color: #339933;">//</span>dumpfile<span style="color: #339933;">:</span>
  <span style="color: #339933;">//</span>dma goaddr7<span style="color: #339933;">,</span> szmemory<span style="color: #339933;">,</span> <span style="color: #7f007f;">&quot;conficker.mem&quot;</span>
  <span style="color: #339933;">//</span>msg <span style="color: #7f007f;">&quot;stop&quot;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">end</span><span style="color: #339933;">:</span>
  cmt eip<span style="color: #339933;">,</span> <span style="color: #7f007f;">&quot;This is Original Entry Point of the conficker worm variant B&quot;</span>
  msg <span style="color: #7f007f;">&quot;This is OEP of the binary file. Right click and select &quot;</span>backup<span style="color: #7f007f;">&quot; and &quot;</span>save <span style="color: #000000; font-weight: bold;">data</span> to file<span style="color: #7f007f;">&quot; and dump the binary from the memory. Binary decrypted.&quot;</span>
  msg <span style="color: #7f007f;">&quot;Script by lclee_vx/F-13 Labs&quot;</span>
  <span style="color: #00007f; font-weight: bold;">ret</span></pre></td></tr></table></div>

<p>很久没有沾手病毒这一块了，相对之下，lclee最近的成果可真是多呀 :)。 马上考完最后一场编译原理之后，我全部的精力就要集中在考研这种事情上了。加油！这个是给lclee的，也是给自己的。:)</p>
<p>目标还没有选好，北京理工其实也不错，不是吗？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kernel2heart.com/2009/07/ollydbg-script-for-unpack-conficker-worm-b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

