前天晚上DC发消息, 说园林学院主页上好象有病毒, 自己认为机器补丁打的满全的, 就贸然上去了,查了下源代码, 果然有一段可疑的加密后的代码, 断定可能被人入侵了。也没有太在意, 昨天晚上和人聊天的时候突然弹出个框框, 然后不见了,汗.... 好低级的病毒... ...
查一下进程, 没有什么特殊的, 换了procexp.exe再查一次,显示Rundll32 .exe的图标是rar格式, 有点问题,(procexp.exe是个好工具)..
很快找到了那个文件, %Systemroot%\system\rundll32.exe(system32下有一个同名合法文件), 删了,清理了所有的自启动项, 看了下exe文件关联, 没有问题. 但很奇怪, 再次运行procexp.exe查看进程时出现了两个RAR图标, 一个没有名字, 一个则是rundll32.exe同上, 很快没有名字的图标消失了. 很明了, 应该是没有名字的文件启动了rundll32.exe, 而我没有做任何操作, 且进程已经清理, 猜想可能是注入了DLL文件, 这下麻烦了... ...
正当郁闷时, 仔细看了下[HKEY_CLASSES_ROOT\exefile\shell\open\command],,感觉有点不对, 编辑, 发现在"%1" %*的前面有三个空格, 高估了写病毒的人了... ..., 可以断定刚才那个没有名字的病毒文件应该是有名字的,只不过名字是两个空格罢了. 而这里关联的时候它没有显示路径名, 那么肯定在环境变量设置好的路径下, 定位到c:\windows\system32找到了这个没有名字的文件, 删除, 并恢复了exe文件关联, 同上, 还找到了一个"notepade .exe", txt文件关联. 病毒全部清理结束........
__
OK, 大家有没有想过怎么设计一个这样的病毒呢? 很简单, 你只需要明白一个道理, 用我们不能几个的C语言就可以搞定了. 无论你打开任何被关联程序, 系统都会打开我们设置好的病毒程序, 那么我们只需要在病毒程序里面打开用户本来希望打开的程序,那么就可以神不知鬼不觉的运行我们的病毒了, 哈.那么怎么打开呢? 这个就是你必须明白的了: 系统在关联打开程序后, 在你双击打开某个文件时会发送一个消息到你设置的病毒文件,我们叫做cmdline("命令行参数"), 在C语言里面就是main(int argc, char* argv[])的参数数组, 这下你知道该怎么做了吧? 呵, 翻开潭教授的<<C语言>>,你就可以写一个很难被发现的病毒了, 至于你写的是病毒或者木马到底要干什么,怎么写,就随便你了, 偷偷的格式化他的硬盘也可以, 大一时不几个的的C语言水平就完全可以实现了... ...记住: 向上面的病毒一样, 把名字用空格, 呵.. ...
有一点可以提示一下: 不及格的C语言水准做上面的事是可以了,但我怎么写一个木马或者别的能够完成我想做的事情的程序呢? 很简单, 用别人的就可以了. 例如我们要给他种个木马, 那么我们把别人的木马拿过来, 再自己写一个上面提到的文件, 只是在后面加一个功能: 在运行完用户提交的任务后, 再运行一下我们希望的木马不就可以了, 这样我们的病毒文件只需要1K左右就够了, 而木马也打可以取个叫muma.txt的名字, 神仙也不会认为一个真正的txt文件是木马了. 实际上, 上面提到的那么病毒就是这么完成的. rundll32.exe是在运行" .exe"后生成的, 但他的" .exe"有32K之大, 应该是把rundll32.exe作为资源文件添加到了里面, 大没有必要这么做了, 木马我们可以利用病毒文件从网上下载或者从本地机其他已经保存好的有迷惑性格式和名字的文件中提取而来的.
____________________补充: 刚又仔细看了看, 发现WINDOWS文件名字不能为空格,但我们可以使用REN TEST.TXT .TXT来生成一个".TXT"文件, 可病毒是" .TXT" , 本来以为是ASCII码做的, 但实验了一下,不是, 在网上找了会没有找到, 以后碰到再研究研究了.另外该病毒会关联QQ, 在QQ目录下也有病毒文件, 替换一下就可以了.
OK, 就到这里, 感觉自己写东西越来越罗嗦了.......