目录
一、勒索病毒发作的特征
如果发现大量统一后缀的文件;发现勒索信在Linux/home、/usr等目录,在Windows 桌面或者是被加密文件的文件夹下。如果存在以上特征情况,证明感染了勒索病毒并且已经发作。
此时禁止插入U盘或者是硬盘等移动设备,因为部分勒索病毒可能会感染移动存储设备,盲目插入U盘或硬盘会使数据被加密,进一步扩大感染的范围。
二、勒索病毒的应急响应
(一)当在确定感染勒索病毒后,我们首先要对感染的服务器或终端进行断网隔离处理。采取以下措施:
1.已感染的用户,禁用网卡,同时拔掉机器的物理网线。
(Linux中ifconfig [NIC_NAME] Down
或者
ifdown [NIC_NAME]
来禁用网卡
)
(Windows以管理员身份执行命令行,输入netsh interface set interface "网络连接名字如:Ethernet0" disabled)
2.如果同一网段有多台机器感染,可通过交换机进行断网。
3.已感染关键岗位电脑和重要服务器,立即关机,避免勒索病毒进一步加密所有文件。
4.专人整理感染机器列表,供后续处置。同时可以通过使用专业的工具来提取勒索病毒文件名、文件路径、文件大小、文件签名、md5值、进程路径和名称等特征,使用域控、单机或专业桌面管理工具等进行操作,迅速进行全网排查。对存在感染勒索病毒特征的机器,进行断网隔离,并删除勒索病毒文件和进程,同时持续监控是否继续感染,防止病毒的感染范围进一步扩大。
(二)针对勒索病毒的特征,如后缀名,勒索信等指纹特征,尝试确定勒索病毒所属家族,并查找是否存在解密的可能性。
(https://noransom.kaspersky.com/ 卡巴斯基勒索病毒恢复网站)
(https://www.nomoreransom.org/ 国际刑警组织反勒索病毒网站)
同时还有一部分勒索病毒是加密原文件副本再删除原文件,而原文件有些会用随机数覆盖,有些并没有。原文件没有被覆盖的情况我们就可以通过数据恢复的方式进行恢复。除了收费的专业数据恢复可以尝试使用 DiskGenius 等工具扫描磁盘进行数据恢复。
(三)断网隔离被感染的机器,进行以下排查工作:
1.查看系统信息:
Linux命令:
lscpu查看CPU信息
uname -a 查看操作系统的相关信息
Windows命令:
在命令行输入msinfo32
2.排查CPU的占用情况,检查是否有异常高占用的进程。
Linux命令:
查看CPU占用率命令:top -ef | more
top -S:累计显示进程的 CPU 使用时间。
top -p [PID]:仅显示指定进程ID的信息。
Windows命令:
查看CPU占用率:Win+r进入运行栏,输入resmon进入资源监视器,即可查看CPU占用情况。勒索病毒可能会占用较多的CPU资源,我们进行CPU占用率排查可以帮助我们快速定位。
3.排查可疑进程:
在成功入侵后,攻击者可以在计算机上开启专属的端口来访问被害主机或植入病毒,所以通过排查可疑端口能确定主机是否存在后门、是否被植入挖矿病毒等,再根据端口的PID对可疑进程对应的程序排查,确定是否为恶意程序。
Linux命令:
ps -ef | more
Linux的定位进程命令ps -ef | grep CMD
Windows命令:
netstat -ano | find “ESTABLISHED”
Windows使用如下命令来进一步定位:tasklist | find “5175(PID)”
4.对检查到的异常进程进行停止
Linux命令 :
杀死进程的命令:kill -9 PID
Windows命令:
杀死进程,直接在资源监视器结束进程即可。
5.排查自启动项
自启动项是系统开机时在前台或者后台运行的程序,攻击者有可能通过自启动项使用病毒后门等实现持久化控制。
Linux命令:
ls -alt/etc/init.d
Windows命令:
Win+r进入输入栏,输入taskschd.msc,即可调出任务计划程序。
Win+r进入输入栏,输入powershell,进入powershell命令行页面,输入Get-ScheduledTask可以查看计划任务的路径,名称,状态。
6.检查是否存在未知的计划任务
计划任务是攻击者维持权限的常用手段。
Linux命令:
查看当前的计划任务 crontab -l
Windows命令:
Win+r在运行栏中输入taskschd.msc可以查看任务的名称,状态,触发器等信息。
Win+r输入Powershell,之后在Powershell命令行输入Get-ScheduledTask可以查看计划任务的路径,名称,状态。
7.检查是否存在异常服务
异常服务是攻击者维持权限的常用手段,我们要重点注意服务状态和启动类型,检查是否有异常服务。
Linux命令:
systemctl list-unit-files
Windows命令:
win+r调用出运行栏输入services.msc
8.检查异常外链行为,检查是否存在高危端口的链接和与国外IP的链接。
Linux命令:
netstat -tunlp
Windows命令:
netstat -ano
9.检查是否存在未知特权用户或者隐藏用户
Linux命令:
1.查看所有用户信息 cat /etc/passwd
用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell
最后显示的 /bin/bash 表示该用户可登录; sbin/nologin不可登录
2.root账户排查
输入命令 awk -F: '{if($3==0) print $1}' /etc/passwd 可查询可登录账户 UID 为0的账户,root是 UID为0的可登录账户,如果出现其他为 0 的账户,就要重点排查
3.查看所有可登录账户
命令行输入 cat /etc/passwd | grep '/bin/bash'
4.查看最后登录用户以及相关日志
命令行输入 lastb可查看显示用户错误的登录列表,包括错误的登录方法、IP 地址、时间等
命令行输入 lastlog查看最后登录的日志信息
5.排查空口令账户
命令行输入 awk -F: 'length($2)==0 {print $1}' /etc/shadow
如果有用户是空口令就会显示出来
Windows命令
wmic useraccount get name,SID查看系统中的用户信息
黑客创建的某些隐藏账户通过dos指令无法发现, 但是当我们查看注册表时就可以发现;通过注册表检查是否存在账户名为“xxx$”或修改注册表创建的隐藏账户,再检查是否存在可疑账户,并进行禁用。
注册表路径:给SAM目录添加当前用户可读写属性
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names
同时,在此项下导出所有以 00000 开头的项,将所有导出的项与 000001F4 (该项对应Administrator用户)导出内容做比较,若其中的 F 值相同,则表示可能为克隆账户!!!
10.日志审查
Linux命令:
系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。
日志默认存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf
日志文件 | 说明 |
/var/log/cron | 记录了系统定时任务相关的日志 |
/var/log/cups | 记录打印信息的日志 |
/var/log/dmesg | 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息 |
/var/log/mailog | 记录邮件信息 |
/var/log/message | 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件 |
/var/log/btmp | 记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看 |
/var/log/lastlog | 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看 |
/var/log/wtmp | 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看 |
/var/log/utmp | 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询 |
/var/log/secure | 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中 |
常用筛选命令:
grep命令详细;awk命令详细;uniq命令详细;sort命令详细;正则表达式详细
1.定位有多少IP在爆破主机的root帐号:
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
(从/var/log/secure中筛选文本中包含”Failed password for root”,输出secure中的第11行,进行去重,同时确认出现的次数。)
2.定位有哪些IP在爆破:
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
3.爆破用户名字典是什么:
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
4.登录成功的IP有哪些:
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
5.登录成功的日期、用户名、IP:
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
Windows命令:
Windows日志包含以下元素:日期/时间、事件类型、用户、计算机、事件ID、来源、类别、描述、数据等信息。
包含三种日志类型
系统日志:记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。系统日志中记录的时间类型由Windows NT/2000操作系统预先定义。
默认:%SystemRoot%\System32\Winevt\Logs\System.evtx
应用程序日志:包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。
默认:%SystemRoot%\System32\Winevt\Logs\Application.evtx
安全日志:记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。安全日志也是调查取证中最常用到的日志。默认设置下,安全性日志是关闭的,管理员可以使用组策略来启动安全性日志,或者在注册表中设置审核策略,以便当安全性日志满后使系统停止响应。
默认:%SystemRoot%\System32\Winevt\Logs\Security.evtx
常见的安全事件ID号
事件ID | 说明 |
4624 | 登录成功 |
4625 | 登录失败 |
4634 | 注销成功 |
4647 | 用户启动的注销 |
4672 | 使用超级用户(如管理员)进行登录 |
4720 | 创建用户 |
登录类型
登录类型 | 描述 | 说明 |
2 | 交互式登录(Interactive) | 用户在本地进行登录。 |
3 | 网络(Network) | 最常见的情况就是连接到共享文件夹或共享打印机时。 |
4 | 批处理(Batch) | 通常表明某计划任务启动。 |
5 | 服务(Service) | 每种服务都被配置在某个特定的用户账号下运行。 |
7 | 解锁(Unlock) | 屏保解锁。 |
8 | 网络明文(NetworkCleartext) | 登录的密码在网络上是通过明文传输的,如FTP。 |
9 | 新凭证(NewCredentials) | 使用带/Netonly参数的RUNAS命令运行一个程序。 |
10 | 远程交互,(RemoteInteractive) | 通过终端服务、远程桌面或远程协助访问计算机。 |
11 | 缓存交互(CachedInteractive) | 以一个域用户登录而又没有域控制器可用 |
其他一些应用的日志:
IIS日志位置:
%SystemDrive%\inetpub\logs\LogFiles |
%SystemRoot%\System32\LogFiles\W3SVC1 |
%SystemDrive%\inetpub\logs\LogFiles\W3SVC1 |
%SystemDrive%\Windows\System32\LogFiles\HTTPERR |
Apache日志位置:
/var/log/httpd/access.log |
/var/log/apache/access.log |
/var/log/apache2/access.log |
/var/log/httpd-access.log |
Nginx日志位置:
默认在 /usr/local/nginx/Togs 目录下,access.log 代表访问日志error.log 代表错误日志。若没有在默认路径下,则可以到nginx.conf 配置文件中香找。
Tomcat 日志的位置:
默认在 TOMCAT HOME/Logs/ 目录下,有 catalina.out、catalina.YYYY-MM- DD.og、localhost.YYYY-MM-DD.og.ocalhost access log.YYYY-MM-DD.txt、host-manager.YYYY-MM-DD.g、manager.YYYY-MM-DD.log 等几类日志。
WebLogic日志的位置:
在默认情况下,WebLogic 有三种日志,分别是 access og、server log 和 domain log
access.log |
$MW_HOME\user_projects\domains\\servers\\logs\access.log |
server.log |
$MW_HOME\user_projects\domains\\servers\\logs\.log |
domain.log |
$MW_HOME\user_projects\domains\\servers\\logs\.log |
11.异常文件检查
Linux命令:
1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“..”为名的文件夹具有隐藏属性
2、查找异常文件,可以使用find命令来查找,如 find /opt -iname "*" -atime 1 -type f 找出 /opt下,一天前访问过的文件
3、针对可疑文件可以使用stat filename查看文件的创建修改时间。
Windows命令:
查看最近修改的文件win+r进入运行栏,输入recent。
在搜索栏输入 *.后缀 即可搜索
12.安装杀毒软件
Liunx命令:
Clamav下载:http://www.clamav.net/download.html
安装教程参照如下:
https://blog.csdn.net/oracle_drower/article/details/134421075
https://blog.csdn.net/qq_39564555/article/details/123300014
Windows命令:
1.病毒分析
PCHunter:http://www.xuetr.com
火绒剑:https://www.huorong.cn
Process Explorer:https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
processhacker:https://processhacker.sourceforge.io/downloads.php
autoruns:
https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns
OTL:https://www.bleepingcomputer.com/download/otl/
SysInspector:http://download.eset.com.cn/download/detail/?product=sysinspector
2.病毒查杀
卡巴斯基:http://devbuilds.kaspersky-labs.com/devbuilds/KVRT/latest/full/KVRT.exe(推荐理由:绿色版、最新病毒库)
大蜘蛛:http://free.drweb.ru/download+cureit+free(推荐理由:扫描快、一次下载只能用1周,更新病毒库)
火绒安全软件:https://www.huorong.cn
360杀毒:http://sd.360.cn/download_center.html
3.病毒动态
CVERC-国家计算机病毒应急处理中心:http://www.cverc.org.cn
微步在线威胁情报社区:https://x.threatbook.cn
火绒安全论坛:http://bbs.huorong.cn/forum-59-1.html
爱毒霸社区:http://bbs.duba.net
腾讯电脑管家:http://bbs.guanjia.qq.com/forum-2-1.html
4.在线病毒扫描网站
http://www.virscan.org //多引擎在线病毒扫描网 v1.02,当前支持 41 款杀毒引擎
https://habo.qq.com //腾讯哈勃分析系统
https://virusscan.jotti.org //Jotti恶意软件扫描系统
http://www.scanvir.com //针对计算机病毒、手机病毒、可疑文件等进行检测分析
三、勒索病毒预防与事后加固
(一)勒索病毒的预防措施:
1.合理的网络隔离:
采用合理的网络分区,可以极大的限制勒索病毒的入侵和传播。如根据不同业务需要将网络分为隔离区、内网区、外来接入区、内网服务器区等,并限制不同分区间的网络访问。在同一分区内,采用虚拟局域网技术隔离不同部门资产,降低由于单一设备感染勒索病毒,导致勒索病毒在内部网络进一步传播的可能。
2.严格且精准的访问控制:
对组织关键业务系统设置严格的访问权限,如按照权限最小化原则开放必要的访问权限、根据访问控制策略设置访问控制规则等。及时对访问控制规则进行更新,删除多余或无效的访问控制规则,如定期对开放的访问权限进行梳理,及时删除因人员离职、资产IP 变更后存留的访问权限。
3.定期进行资产梳理:
排查组织资产暴露情况,梳理暴露资产真实范围,梳理范围涵盖组织分公司、下级机构等相关资产,梳理时间根据自身实际情况如每周、月、半年等进行资产梳理。按照最小化原则,尽可能减少在资产互联网上暴露,特别是避免重要业务系统、数据库等核心信息系统在互联网上暴露,同时对高危端口使用安全设备进行修改或者限制。
4.定期漏洞排查:
对组织资产进行漏洞排查,一旦发现资产存在安全漏洞,及时进行修补。采用漏洞扫描等设备和产品的,对漏洞扫描设备进行集中管理,建立完整、持续的漏洞发现和管理手段;具备导入第三方漏洞报告能力,支持导入和分析主流厂家漏洞和配置核查扫描结果;针对扫描的漏洞结果加强漏洞知识库关联,及时获取漏洞信息和解决方案等。
5.身份鉴别:
对用户进行身份标识和鉴别,如保证身份标识具有唯一性、采用动态口令等两种或两种以上身份鉴别、具备防范口令暴力破解的能力、口令等身份鉴别信息符合复杂度要求并定期更换、推行口令定期强制修改和出厂口令修改等。同时,通过采用扫描软硬件对系统口令定期进行安全性评估,识别发现并及时消除弱口令安全风险。
6.软件管理:
规范组织内部软件版本管理机制,避免使用盗版或来路不明的软件,使用软件风险评估系统或工具定期检测关键业务系统使用的相关软件版本,避免由于软件版本低引发安全风险。基于网络流量对组织内部访问“风险网站”进行检测和阻断,降低由于下载和安装恶意软件,导致感染勒索病毒的可能。
7.供应链管理:
部署供应链安全风险防控措施,包括供应链相关人员管理、供应链生命周期管理、采购外包与供应商管理。采用的网络设备、安全产品、密码产品等产品与服务的采购和使用符合国家有关规定。与选定的供应商签订协议,明确供应链各方履行的安全责任和义务,定期审视、评审和审核供应商提供的服务,对其变更服务内容加以控制。
8.部署专业网络安全产品:
在终端侧、网络侧等部署网络安全产品,并日常排查设备告警情况。例如,在终端侧,部署杀毒软件、终端安全管理系统等安全软件,不随意退出安全软件、关闭防护功能、执行放行操作等,并设立应用软件白名单,及时保持白名单的准确性、完整性、实时性;在网络侧,部署防火墙,堡垒机等网络安全设备,限制用户对系统的访问;部署IPS流量监测阻断设备,以识别和阻断勒索病毒的传播。
9.加强员工的网络安全意识:
以培训、演练等提高网络安全意识,在员工层面切断勒索病毒传播的入口。例如,在文件方面,不点击来源不明的邮件附件、打开邮件附件前进行安全查杀等;在网站方面,不从不明网站下载软件等;在外接设备方面,不混用工作和私人的外接设备、关闭移动存储设备自动播放功能并定期进行安全查杀等。
10.做好重要数据备份工作:
根据文件和数据的重要程度分类分级进行存储和备份,如主动加密存储重要、敏感的数据和文件,防范利用勒索病毒的双重或多重勒索行为。明确数据备份的范围、内容、周期等,定期采取本地备份、异地备份、云端备份等多种方式进行数据备份,增加遭受勒索病毒攻击且数据文件加密、损坏、丢失等情况下恢复数据的可能。
(二)勒索病毒的事后加固
1.利用备份数据进行恢复:
根据遭受勒索病毒攻击影响相关设备数据备份的情况,按照数据恢复要求、备份日志,衡量数据恢复时间成本、数据重要程度,确认数据恢复范围、顺序及备份数据版本,利用离线、异地、云端等备份数据恢复。
2.恢复感染设备正常使用:
感染勒索病毒设备再次投入使用的,在采取磁盘格式化、系统重装、删除可疑文件和程序、消除勒索信息和加密文件等措施的情况下,避免二次感染勒索病毒,再恢复设备正常使用。
3.进行完整的溯源:
通过对攻击的完整溯源,可以帮助企业发现存在的薄弱点,及时加以修复,同时也可以帮助企业发现攻击者的行为模式和特点,帮助企业形成立体的网络安全防线,从而提高对未来攻击的预警能力。
4.加强网络安全隐患修补:
在消除勒索病毒攻击影响的情况下,开展网络安全隐患排查和修补。例如,在权限管理方面,重点排查弱口令、账户权限、口令更新和共用等问题;在漏洞修补方面,及时更新系统、软件、硬件等漏洞补丁;在暴露面梳理方面,检查本企业在互联网上的暴露面,检查是否存在暴露的高危端口如(21,22,135,139,445等)。
5.加强终端安全防护:
确保终端设备和服务器上安装了有效的防病毒软件和EDR功能模块 ,防病毒软件可以扫描系统和文件,有效防止恶意文件落地;EDR可以更有效的防护恶意文件攻击、漏洞攻击,有效阻断安全威胁,同时会产生流量走向、内存活动、帐户信息以及异常操作等风险告警,帮助安全团队快速定位威胁和溯源入口。
6.构建内网威胁发现能力:
通过诱捕机制及时感知到恶意文件在内网无威胁探测阶段的异常行为,并进行预警,通过快速响应能够最大限度的减少甚至避免恶意文件对内部服务器造成的影响。