01-应急响应基础技能及常见工具使用
01-应急响应概述
01-应急类型
- 勒索
- 挖矿
- 网站被黑
- APT攻击
- 非法劫持
- 数据泄露
- 钓鱼邮件
02-应急方法论
03-应急响应阶段
检测阶段->抑制阶段->根除阶段->恢复阶段->溯源阶段
04-应急排查点/应对方案
- 事件类型
- 时间范围
- 文件排查
- 进程排查
- 系统信息
- 日志分析
- 关联推理
02-windows应急响应
01-系统信息-基本信息
- 命令行方式:通过win+R在运行窗口或是在命令行中输入
msinfo32
命令 - 命令行方式:通过cmd命令行输入
systeminfo
命令 - Github源码:https://github.com/neargle/win-powerup-exp-index
02-系统信息-用户信息
- 命令行方式:通过cmd命令行输入
net user Administrator
命令查看Administrator用户 - 在计算机管理->本地用户和组->用户中查看
- 在注册表
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users
中查看
03-系统信息-启动项
- 命令行方式:通过cmd命令行输入
msconfig
命令,找到启动标签 - 命令行方式:通过cmd命令行输入
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
命令来查看run键值
04-计划任务
- 命令行方式:通过cmd命令行输入
compmgmt.msc
命令,找到系统工具–>任务计划程序 ,可以查看计划任务属性 - 命令行方式:通过powershell命令行输入
Get-ScheduledTas
命令,可以查看计划任务属性 - 命令行方式:通过cmd命令行输入
schtasks
命令,schtasks命令是一个功能更为强大的超级命令行计划工具,它含有at(在较老的系统中才可以用)命令行工具中的所有功能,获取计划任务时要求必须是本地Administrators组成的成员。
05-文件痕迹排查
敏感的文件路径(运行中查看)
- %WINDIR%
- %WINDIR%\Prefetch\
- %WINDIR%\system32\
- %TEMP%
- %LOCALAPPDATA%
- %APPDATA%
- 各个盘下的temp(tmp)相关目录下查看有无异常文件
- 浏览器浏览痕迹、浏览器下载文件、浏览器cookie信息(C:\Users\user\AppData\Roaming\Mozilla\Firefox\Profiles\hak7esfu.default-release)浏览器内存:firefox:places.sqlite
- 查看文件时间,创建时间、修改时间、访问时间。对应linux的ctime mtime atime,通过对文件右键属性即可看到详细的时间,黑客通过菜刀类工具改变的是修改时间。所以如果修改时间在创建时间之前明显是可疑文件
- 查看用户recent相关文件,通过分析最近打开分析可疑文件
a) C:\Documents and Settings\Administrator\Recent
b) C:\Documents and Settings\Default User\Recent
c) 开始,运行 %UserProfile%\Recent - 根据文件夹内文件列表时间进行排序,查找可疑文件。当然也可以搜索指定日期范围的文件及文件夹
通过列出攻击日期内新增的文件,来发现相关的恶意软件。Windows下对文件的查找可以可以使用forfiles命令,命令的参数如下:
F:\CTF>forfiles /?
FORFILES [/P pathname] [/M searchmask] [/S]
[/C command] [/D [+ | -] {yyyy/MM/dd | dd}]
描述:
选择一个文件(或一组文件)并在那个文件上
执行一个命令。这有助于批处理作业。
参数列表:
/P pathname 表示开始搜索的路径。默认文件夹是当前工作的
目录 (.)。
/M searchmask 根据搜索掩码搜索文件。默认搜索掩码是 '*'。
/S 指导 forfiles 递归到子目录。像 "DIR /S"。
/C command 表示为每个文件执行的命令。命令字符串应该
用双引号括起来。
默认命令是 "cmd /c echo @file"。下列变量
可以用在命令字符串中:
@file - 返回文件名。
@fname - 返回不带扩展名的文件名。
@ext - 只返回文件的扩展名。
@path - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir - 如果文件类型是目录,返回 "TRUE";
如果是文件,返回 "FALSE"。
@fsize - 以字节为单位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的时间。
要在命令行包括特殊字符,字符请以 0xHH
形式使用十六进制代码(例如,0x09 为 tab)。
内部 CMD.exe 命令前面应以 "cmd /c" 开始。
/D date 选择文件,其上一次修改日期大于或等于 (+),
或者小于或等于 (-) 用 "yyyy/MM/dd" 格式指定的日期;
或选择文件,其上一次修改日期大于或等于 (+)
当前日期加 "dd" 天,或者小于或等于 (-) 当前
日期减 "dd" 天。有效的 "dd" 天数可以是
0 - 32768 范围内的任何数字。如果没有指定,
"+" 被当作默认符号。
/? 显示此帮助消息。
示例:
FORFILES /?
FORFILES
FORFILES /P C:\WINDOWS /S /M DNS*.*
FORFILES /S /M *.txt /C "cmd /c type @file | more"
FORFILES /P C:\ /S /M *.bat
FORFILES /D -30 /M *.exe
/C "cmd /c echo @path 0x09 在 30 前就被更改。"
FORFILES /D 2001/01/01
/C "cmd /c echo @fname 在 2001年1月1日就是新的。"
FORFILES /D +2021/6/2 /C "cmd /c echo @fname 今天是新的。"
FORFILES /M *.exe /D +1
FORFILES /S /M *.doc /C "cmd /c echo @fsize"
FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"
06-进程排查
对于windows下的进程的排查,主要是为了找到恶意进程的PID,程序路径,有时还需要找到PPID(PID的父进程)及程序加载的dll。对于进程的排查,一般有几种方式。
- 通过任务管理器进行查看。
- 通过cmd命令行输入
tasklist
命令,显示运行在本地或远程计算机上的所有进程,带有多个执行参数。添加/svc
参数,可以显示每个进程和服务的对应情况。对于某些加载dll的恶意进程,可以通过/m
参数进行查询。对于要查询特定dll的调用情况,可以在/m后面添加dll名称。 - 通过cmd命令行输入
netstat
命令进行排查,一般会使用netstat -ano | findstr “ESTABLISHED”
查看目前的网络连接,定位可疑的ESTABLISHED。根据netstat 定位出的pid,再通过tasklist命令进行程序定位。 - 通过powershell命令行输入
Get-WmiObject Win32_Process | select Name,ProcessId,ParentProcessId,Path
命令进行排查,有时候对于有守护进程的进程,还要理清楚子父进程之间的关系,可以使用powershell进行查看,一般powershell在查询的时候会调用WMI对象( Windows 系统管理的核心技术,可以按统一的方式公开各种类型的信息)。
07-日志分析
- 打开事件管理器(开始—管理工具—事件查看器/开始运行eventvwr),主要分析安全日志,可以借助自带的筛选功能,通过事件ID,关键字等对日志进行筛选,或是借助其他的日志分析工具进行分析
- 通过powershell命令
Get-EventLog -list
和get-winevent
命令,Get-EventLog只获取传统的事件日志,而Get-WinEvent cmdlet 从包括传统日志(例如系统日志和应用程序日志)在内的事件日志和 Windows Vista 中引入的新 Windows 事件日志技术生成的事件日志中获取事件。获取安全日志下事件ID为4625(登陆失败)的所有日志信息(没有登录过就会报错):Get-EventLog Security -InstanceId 4625
,获取所有日志get-winevent -listlog *
,获取2021-6-1日后的错误日志:Get-EventLog -LogName System -EntryType Error -After 2021-6-1
03-Linux应急响应
01-系统信息-基本信息
- uname -a
- cat /proc/version
- lsmod(list modules)列出所有已载入系统的模块。Linux 操作系统的核心具有模块化的特性,因此在编译核心时,务须把全部的功能都放入核心。将这些功能编译成一个个单独的模块,待需要时再分别载入。
02-系统信息-用户信息
查看用户相关分析
a) useradd userdel 的命令时间变化(stat),以及是否包含可疑信息
b) cat /etc/passwd 分析可疑帐号,可登录帐号查看UID为0的帐号:awk -F: '{if($3==0)print $1}' /etc/passwd
查看能够登录的帐号:cat /etc/passwd | grep '/bin/bash'
,UID为0的帐号也不一定都是可疑帐号,Freebsd默认存在toor帐号,且uid为0.(toor在BSD官网解释为root替代帐号,属于可信帐号)
查看分析history (cat /root/.bash_history),曾经的命令操作痕迹,以便进一步排查溯源。有可能通过记录关联到如下信息:
a) wget 远程某主机(域名&IP)的远控文件;
b) 尝试连接内网某主机(ssh scp),便于分析攻击者意图;(scp 命令用于 Linux 之间复制文件和目录。)
c) 打包某敏感数据或代码,tar zip 类命令
d) 对系统进行配置,包括命令修改、远控木马类,可找到攻击者关联信息…
03-系统信息-启动项
启动项作为恶意病毒的一个常用的驻留手段,以下几个地方可以查找启动项相关的内容。
- /etc/init.d/rc.local
- /etc/rc.local
- rc.local
- /etc/init.d
04-计划任务
- 通过crontab –l 查看当前的任务计划有哪些,也可以指定用户进行查看(如
crontab -uroot -l
是root用户下计划任务),来确认是否有后门木马程序启动相关信息; - 查看etc目录任务计划相关文件,一般存在计划任务的目录有以下,可以通过浏览下面计划任务文件的方式来查看机会任务。
05-进程排查
使用netstat 网络连接命令,分析可疑端口、可疑IP、可疑PID及程序进程 netstat -antlp| more ,然后根据pid,利用ls –alh /proc/pid命令查看其对应的可执行程序
也可以利用lsof –p pid查看pid对应的可执行程序如果是恶意进程,可以使用kill -9(数字九) 进程的PID值命令来结束进程,如kill -9 2535,然后使用rm -rf filename来删除木马,如果root用户都无法删除相关文件,很可能文件被加上了i属性,使用lsatter filename命令来查看文件属性,然后使用chattr -i filename命令来移除i属性继而删除文件;也有的进程因为存在守护进程而无法杀除,可以先把进程挂起,再杀掉守护进程后,再回来把进程杀掉。
06-文件痕迹排查
- 时间点-通过列出攻击日期内变动的文件,来发现相关的恶意软件。 一般是通过find命令对某一时间段增加的文件进行查找。如查找一天内新增的sh文件:
find / -ctime 0 -name "*.sh"
- 特殊文件-特殊权限的文件查看,如查找777的权限的文件:
find /tmp -perm 777 | more
,查找webshell:find /var/www/ -name "*.php" |xargs egrep
- 在命令目录查看相关系统命令的修改时间,如使用
ls -alt /bin
命令
07-日志分析
Linux下的日志一般放在/var/log/下,具体的日志功能如下:
常见日志分析的方法:
1.日志查看分析,grep,sed,sort,awk综合运用
2.基于时间的日志管理:
- /var/log/wtmp
- /var/run/utmp
- /var/log/lastlog(lastlog)
- /var/log/btmp(lastb)
3.登录日志可以关注Accepted、Failed password 、invalid特殊关键字。
4.登录相关命令( lastlog , who, w, users , last, finger)
除了对windows和Linux的系统日志的分析,还有web日志,中间件日志,数据库日志,FTP日志等,日志的分析的方法一般就是结合系统命令及正则表达式,或者利用相关的成熟的工具进行分析,分析的目的就是提取相关的特征规则,来对攻击者的行为就行分析。
Log日志的分析有很多相似的地方,这里以Apache 访问日志为例子,它用默认的CLF(common log format)来记录访问日志。访问日志的字节如下:
04-内存分析
内存的获取方法有如下几种:
- 基于用户模式程序的内存获取
- 基于内核模式程序的内存获取
- 基于系统崩溃转储的内存获取
- 基于操作系统注入的内存获取
- 基于系统休眠文件的内存获取
- 基于虚拟化快照的内存获取
- 基于系统冷启动的内存获取
- 基于硬件的内存获取
工具
- RamCapturer内存获取
- FTK Imager内存获取,https://blog.csdn.net/NDASH/article/details/110209477
- 在获取内存文件后,可以使用Redline进行导入分析,Redline有较好的图形化界面。https://blog.csdn.net/qq_36933272/article/details/88533073
- Volatility(vol.py)是一个开源的内存取证工具,可以分析入侵攻击痕迹,包括网络连接、进程、服务、驱动模块、DLL、handles、检测进程注入、cmd历史命令、IE浏览器历史记录、启动项、用户、shimcache、userassist、部分rootkit隐藏文件、cmdliner等。内存镜像中的网络链接情况:
vol.py -f /root/1.men --profile=Win2008R2SP1x64 netscan
,使用psxview排查隐藏进程:vol.py -f /root/1.men --profile=Win2008R2SP1x64 psxview
。使用malfind 查找隐藏或注入的代码/ DLL:vol.py -f /root/1.men --profile=Win2008R2SP1x64 malfind
,使用procdump对进程文件进行提取:vol.py -f /root/1.men --profile=Win2008R2SP1x64 procdump -p 2476 -o
(https://blog.csdn.net/weixin_39559369/article/details/111061945)
05-常用工具
- SysinternalsSuite是一个有工具的集合,里面的工具可以管理、故障分析和诊断你的Windows系统和应用程序。你能想到的相关排查问题的功能,里面都涵盖了,里面的工具太多,没有办法一一介绍,如使用AD Explorer轻松导航AD数据库,定义收藏位置,查看对象属性和属性,而无需打开对话框,编辑权限,查看对象的架构,以及执行可以保存和重新执行的复杂搜索;使用TCPView查看网络连接情况 ;使用PsExec在远程系统上启动交互式命令提示和IpConfig等远程启用工具;使用Autoruns对进程,服务,启动项等进行检测;使用procdump对内存进行dump等等。更多工具功能可以在下面网址去查询相关的功能及使用方法。https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite
- PCHunter是一款强大的内核级监控软件,软件可以查看内核文件、驱动模块、隐藏进程、注册表,内核,网络等等信息,功能相似的还有火绒剑,PowerTool等。数字签名颜色说明:
黑色:微软签名的驱动程序;
蓝色:非微软签名的驱动程序;
红色:驱动检测到的可疑对象,隐藏服务、进程、被挂钩函数; - Process monitor主要是监控进程的行为应用程序运行时使用此软件来监控程序的各种操作。此软件主要监控程序的五种行为:文件系统,注册表,进程,网络,分析。由于此款软件监控的是系统中所有的进程的行为,数据量往往很大,不利于我们分析数据,所以需要对其设置过滤选项,通过Filter->Filter选项可以看到右侧的窗口,在此窗口中增加过滤项。
- Process Explorer是一款由Sysinternals开发的Windows系统和应用程序监视工具,此款不仅结合了文件监视和注册表监视两个工具的功能,还增加了多项重要的增强功能。
- Event Log Explorer是一款检测系统安全的软件。查看,监视和分析跟事件记录,包括安全,系统,应用程序和其他微软Windows 的记录被记载的事件。示例:https://mlichtenberg.wordpress.com/2011/02/03/log-parser-rocks-more-than-50-examples/
- FullEventLogView是一个轻量级的日志检索工具,特点是绿色版,免安装,同时检索功能比windows自带的检索工具要快,展示要好。
- Log Parser是微软工程师写的一个日志分析工具,功能很强大,支持SQL 查询语法的日志查询工具。
勒索病毒及解密工具查询网站
https://lesuobingdu.qianxin.com/
http://lesuobingdu.360.cn/
https://guanjia.qq.com/pr/ls/#navi_0
https://id-ransomware.malwarehunterteam.com/
https://www.nomoreransom.org/zh/index.html
https://esupport.trendmicro.com/en-us/home/pages/technical-support/1114221.aspx
https://noransom.kaspersky.com/
https://www.emsisoft.com/ransomware-decryption-tools/
https://www.avast.com/en-us/ransomware-decryption-tools
https://www.quickheal.com/free-ransomware-decryption-tool/
在应急过程中,能够获得IP,文件,域名,邮箱,URL等的情报信息,会对整个应急过程的分析起到极大的便利作用。这里列举几个常用的威胁情报网站。
https://ti.qianxin.com/
https://x.threatbook.cn/
https://www.virustotal.com/
https://www.threatcrowd.org/
https://www.threatminer.org/
06-总结
思路:事件类型->时间范围->文件排查->进程排查->系统信息->日志分析->关联推理
02-勒索病毒场景应急响应
01-勒索病毒概述
勒索软件是一种来自密码病毒学的恶意软件,会感染您的计算机并显示勒索消息,要求您付费才能使系统再次运行,若不支付赎金,它会威胁发布受害者的数据或永久阻止对其的访问。早期勒索软件攻击通常使用伪装成合法文件的特洛伊木马来进行,诱使用户以电子邮件附件的形式下载或打开该木马。当下比较常见的方式为暴力破解、漏洞利用的方式进行人工投毒。
- 加密勒索软件(Encrypting ransomware)
① 出现——1989
② 升级——1996
③ 盛行——2005.5 - 渗透(Exfiltration Leakware / Doxware)
- 移动勒索软件(Mobile ransomware)
勒索病毒例子:
- CrySiS
- Phobos
- GlobeImposter
- Sodinokibi
- WannaCry
02-勒索应急响应技能
01-Windows系统命令
Windows运行常用命令(win+R)
1、snippingtool:截图工具,支持无规则截图
2、osk: 打开屏幕键盘
3、mstsc: 远程桌面连接
4、compmgmt.msc: 计算机管理
5、explorer: 打开资源管理器
6、gpedit.msc: 组策略
7、taskmgr: 任务管理器
8、control:控制面板
9、control:userpasswords2:用户账户控制
10、regedit: 注册表编辑器
11、services.msc: 本地服务设置
12、winver: 检查Windows版本
13、devmgmt.msc: 设备管理器
14、msconfig: 系统配置实用程序(工具选项卡里面可以查看一些命令的使用)
15、secpol.msc: 本地安全策略
16、taskschd.msc: 计划任务
系统命令-NET
net user
- 获取本机用户列表net localgroup administrators
- 本机管理员net session
- 查看当前会话net start
- 查看当前运行的服务net use
- 远程连接net share
- 查看当前用户下的共享目录net user user$
- 查看隐藏用户(也可以从用户管理或者注册表SAM查看隐藏用户)
系统命令-netstat
netstat -ano
- 查看开启了哪些端口netstat -an | findstr 端口
- 查询特定端口
系统命令-schtasks
schtasks /query /fo LIST /v
- 获取本机计划任务schtasks /create /sc minute /mo 20 /tn “demo” /tr D:\a.vbs
- 创建一个名为demo的计划任务(20分钟执行一次)schtasks /delete /tn “demo” /f
- 删除名为demo的计划任务
系统命令-findstr
findstr /s /i "Hello" *.*
- 不区分大小写,在当前目录和所有子目录中的所有文件中的hello
系统命令- forfiles
forfiles /m *.exe /d +2021//4 /s /p c:\ /c “cmd /c echo @path @fdate @ftime” 2>nul
- 定位指定时间段指定盘符释放文件
系统命令-systeminfo
系统命令-wmic
Wmic process
- 获取系统进程信息
系统命令-attrib
attrib 1.txt
- 查看当前目录下1.txt的属性attrib -R 1.txt
- 去掉1.txt的只读属性attrib +H movie
- 隐藏movie文件夹
02-Windows日志
Windows系统日志
系统日志主要是记录了系统组件产生的事件。系统日志主要记录的信息包括驱动程序产生的信息、系统组件产生的信息和应用程序崩溃的信息以及一些数据丢失情况的信息。系统日志文件:C:\Windows\System32\winevt\Logs\System.evtx
1、开始->运行->输入eventvwr->windows日志->系统
2、开始->windows管理工具->事件查看器->windows日志->系统
Windows安全日志
安全日志主要记录了与系统安全相关的一些事件。这种日志类型主要是记录了用户登入登出的事件、系统资源的使用情况事件以及系统策略的更改事件。在中,如果要查看安全日志信息,则操作员必须具有系统管理员的权限。安全日志文件:C:\Windows\System32\winevt\Logs\security.evtx
登录类型 | 描述 |
---|---|
2 | 交互式登录(用户从控制台登录) |
3 | 网络(例如:通过net use,访问共享网络) |
4 | 批处理(为批处理程序保留) |
5 | 服务启动(服务登录) |
7 | 解锁(带密码保护的屏幕保护程序的无人值班工作站) |
8 | 网络明文(IIS服务器登录验证) |
10 | 远程交互(终端服务,远程桌面,远程辅助) |
11 | 缓存域证书登录 |
事件id | 说明 |
---|---|
1102 | 清理审计日志 |
4624 | 账号成功登录 |
4625 | 账号登录失败 |
4768 | Kerberos身份验证(TGT请求) |
4769 | Kerberos服务票证请求 |
4776 | NTLM身份验证 |
4672 | 授予特殊权限 |
4720 | 创建用户 |
4726 | 删除用户 |
4728 | 将成员添加到启用安全的全局组中 |
4729 | 将成员从安全的全局组中移除 |
4732 | 将成员添加到启用安全的本地组中 |
4733 | 将成员从启用安全的本地组中移除 |
4756 | 将成员添加到启用安全的通用组中 |
4757 | 将成员从启用安全的通用组中移除 |
4719 | 系统审计策略修改 |
Windows应用程序日志
指的在上的应用程序产生的日志。一般指的的是微软幵发的应用程序,第三发幵发的基于系统的应用程序如果使用日志记录的函数,则这个应用程序将可以通过事件查看器查看其日志信息。安全日志文件:C:\Windows\System32\winevt\Logs\Application.evtx
03-Linux常用命令
-
top
-查看系统状态 -
ps
-枚举系统进程,ps -ef 显示所有命令,连带命令行 -
netstat
-显示网络状态,netstat –antp 查看当前所有tcp连接的socket的程序识别码和程序名称以及IP地址 -
history
-遍历主机历史命令,查找有无恶意命令 -
crontab -l
-枚举定时任务,主要关注以下目录文件:/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
/etc/crontab 这个文件负责调度各种管理和维护任务。
/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。 -
find
-在指定目录下查找文件,find / –type f –newermt “2021-03-02”|xargs stat 查找根目录下时间文件修改时间比2021-03-02 更新的文件及状态。 -
last
-用于显示用户最近登录信息。 -
lastb
-用于列出登入系统失败的用户相关信息
04-LINUX相关日志
- SECURE日志;日志位置:/var/log
- HISTORY日志;
- LAST日志;
- AUDIT日志。
03-勒索应急排查思路
应急处置流程
事件状态判断 ->临时处置 ->信息收集分析 ->事件处置 ->事件防御
判断勒索病毒
• 奇安信
• 360
• ID Ransomware
溯源思路
1.排查当前系统、确定勒索时间线
2.通过时间线、排查日志及行为
3.寻找落地文件及样本、进一步分析行为
勒索处置流程
03-挖矿木马场景应急响应
01-挖矿 病毒简介
随着虚拟货币,比如门罗币、比特币等虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一 。不法分子可以利用个人电脑或服务器进行挖矿 ,获取虚拟货币,来获取利益。中挖矿病毒的主机具体现象 为 CPU 占用率高,磁盘可使用空间骤降,电脑温度升高,风扇噪声增大出现业务缓慢故障等问题,严重影响主机安全。
常见挖矿木马:WannaMine、 Mykings (隐匿者 、 Bulehero 、 8220Miner 、 “匿影”挖矿 木马 、 DDG 、 h2Miner 、MinerGuard 、 Kworkerds 、 Watchdogs……
挖矿程序会占用CPU进行超频运算,导致CPU严重损耗,并且影响服务器上的其他应用。挖矿程序还具备蠕虫化特点,当安全边界被突破时,挖矿病毒会向内网渗透,并在被入侵的服务器上持久化驻留以获取最大收益。由于挖矿程序具有联动作用,在清理过程中会存在处理不及时或清理不干净导致挖矿病毒反复发生、出现恶意脚本替换系统命令,从而导致执行系统命令时触发恶意脚本执行。 因此,需要在挖矿程序的一个执行周期内,尽快将被入侵服务器上的木马程序和持续化后门清理干净并且进行安全加固,否则容易导致挖矿病毒频繁复发 。CPU占用率高,利用 内 网漏洞及爆破的方式进行传播,蠕虫病毒